Service API Patterns, Protocols, Coupling Types, Metrics > Service API Design Patterns > Entity Linking
How can services expose the inherent relationships between business entities in order to support loosely-coupled interaction?
Business entities often have natural relationships, yet services may be designed autonomously with no indication of these relationships. Service consumers invoking multiple services as part of a greater task or activity are commonly required to have entity linking logic hard-coded in order to work with entity relationships. This limits the consumer 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.
The application of the Entity Linking pattern enables the runtime communication of entity relationships via links provided by the REST service to the service consumer in response messages. Inspired by the HTTP feature-set and the use of hyperlinks, entity linking can help reduce consumer-to-service coupling while increasing the entity relationship intelligence available at runtime.
Related business entities are discovered by following links between resources. The link from Invoice 1 to Customer 1 will not simply inform the Invoice Printer that a customer exists, but that Customer 1 is the purchaser of items listed in Invoice 1.