Return to Home Page
Overview
    History
    Acknowledgements
    Podcasts
    Notification Form
    Feedback Form
    Press Release #1
    Press Release #2
    Press Release #3

Master SOA Design
Pattern Catalog
    Master Pattern List (alphabetical)
    Master Pattern List (by category)
    Master Pattern List (Text)
    Pattern Notation
    Pattern Profiles
    Symbol Legend
    Pattern Contribution Form

SOA Candidate Patterns
    SOA Patterns Review Committee
    Candidate Patterns Overview
    Candidate Patterns List
    Candidate Pattern Contribution Form
    Candidate Pattern
Feedback Form
    SOA Pattern Template

Design Pattern Basics
    What's a Design Pattern?
    What's a Design Pattern Language?
    What's a Compound Pattern?

Supplemental
    SOA Patterns and Application Technologies
    SOA Design Patterns Historical Influences
    SOA Design Patterns and Design Principles
    SOA Design Patterns and Design Granularity
    Legal

Resources
    Design Patterns Publications
    Reference Posters
    SOAPrinciples.com
    WhatIsSOA.com
    SOA Visio Stencil


Lightweight Endpoint (Balasubramanian, Carlyle, Pautasso)


Home > Candidate Patterns List > Lightweight Endpoint

How can lightweight units of business logic be positioned as effective reusable enterprise resources?  

Problem

A service consumer that requires access to a business entity information (such as data about an invoice) needs to maintain two identifiers: one for the service and another for the invoice itself. The business entity identifier is typically unique only within the scope of the service contract, and the service consumer is commonly limited to overly coarse grained service capabilities offered by the service contract.

Solution

Expose data and functionality associated with business entities as a series of granular, lightweight endpoints.

Application

Break up the service contract to expose service capabilities based on fine-grained resources (lightweight endpoints) associated with the business entity.

Each resource operates only over the identified business entity or document. Service consumers and all messages exchanged by the services refer to the business entity using the corresponding resource identifiers.

Impacts

Finer grained service capabilities can result in verbose resource identifiers that may impose a greater governance burden.

Applying this pattern to can lead to resource overlap in order for multiple service capabilities to offer access at multiple levels of granularity. For example, an invoice and properties of the invoice can be exposed as separate resources, even though they refer to a common set of underlying information or functionality.

Greater effort may be required when applying Service Facade, when the facade relates functionality associated with granular resources to core service logic.

Principles

Standardized Service Contract, Service Loose Coupling, Service Abstraction, Service Composability

Architecture

Inventory, Service
 
In this example, fine-grained resources (lightweight endpoints) provide varying levels
of access to parts of individual business entities.

Related Patterns in This Catalog

Concurrent Contract (Erl), Contract Denormalized (Erl), Reusable Contract (Balasubramanian, Carlyle, Pautasso), Service Facade (Erl), Uniform Contract (Erl),


Related Service-Oriented Computing Goals

Increased Intrinsic Interoperability, Increased Business and Technology Alignment, Increased ROI, Increased Organizational Agility, Reduced IT Burden

SOA with REST This page contains excerpts from:

SOA with REST: Principles, Patterns & Constraints
by Raj Balasubramanian, Benjamin Carlyle, Thomas Erl, Cesare Pautasso





(ISBN: 0137012510, Hardcover, 400+ pages)

For more information about this book, visit
www.soabooks.com.
The Prentice Hall Service-Oriented Computing Series from Thomas Erl
Home    SOA Books    SOA Magazine    What is SOA?    SOA Principles    SOASchool.com    SOA Glossary Copyright © 2007-2011
SOA Systems Inc.