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


Entity Linking (Balasubramanian, Booth, Erl)


Home > Candidate Patterns List > Entity Linking

How can services expose the inherent linkage between business entities
in order to support loosely-coupled composition?
 

Problem

Business entities have natural relationships, yet entity services are commonly designed autonomously with no indication of these relationships. Service consumers acting as composition controllers are commonly required to have entity linking logic hard-coded in order to work with entity relationships. This limits the composition controller to any additional links that may become relevant and further adds a governance burden to ensure that hard-coded entity linking logic is kept in synch with the business.

Solution

Services inform their consumers about the existence of related entities as part of the consumer's interactions with the services.

Application

Links are included in relevant response messages from the service. Service consumers are able to navigate from entity to entity by following these links, and accumulate further business knowledge along the way. This allows service consumers with little up-front entity linking logic to correctly compose entity services based on their relationships.

Impacts

Resource identifiers representing business entities need to remain relatively stable over the lifespan of the business entities they identify. Once an identifier is known it can be referred to in the future again by the same service consumers.

Links can be difficult to define if identifiers for business entities are specific to the services that own them. The application of Lightweight Endpoint can help achieve a uniform syntax for linked identifiers.

Links are not valuable if the service consumer is unable to access information about the linked entity. Therefore, the further application of Reusable Contract can ensure that service consumers are able to interact with linked entities.

Principles

Service Reusability, Service Abstraction, Service Composability

Architecture

Inventory, Service
 
Services that expose identifiers of related entities to service consumers are able to be used in a wider variety of compositions. In this example, related business entities are discovered by following links between resources. The Report Printer service is able to look up any invoice fields that it might require and is not limited to a predefined set within the standard report. The Invoice Printer service is able to then cross-reference invoice and customer records in order to print mailing labels.

 

Related Patterns in This Catalog

Lightweight Endpoint (Balasubramanian, Carlyle, Pautasso), Reusable Contract (Balasubramanian, Carlyle, Pautasso), Uniform Contract (Balasubramanian, Carlyle, Pautasso),


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.