img
Home > Candidate Patterns > Hyperlinked Contracts

Hyperlinked Contracts

img

How can a service inventory provide effective access to both its uniform contract and service-specific contracts?

Problem

Services must be discoverable to be reused and service-specific contract details (beyond the technical interface provided by a uniform contract) needs to be readily accessible so that corresponding service consumer logic can be built.

Solution

Provide all service contract information in the format of a tree of hyperlinked resources online within the service inventory.

Application

Create a dedicated service that tracks the current versions of all service contract information and associated uniform contract elements (such as methods, media types, etc.). Serve lists and details of service contracts to allow for the discovery of service capabilities. Hyperlink from the service contract details to corresponding pars of the uniform contract. Centrally control a list of all services with hyperlinked references to the contract of each service.

Impacts

Relevant contract information can be readily accessed and quickly cross-referenced against uniform contract details to ensure they are still current and correct. The central list of services indirectly contains links to all important resources within the service inventory, and is made highly accessible to service consumer development teams.

The central list of services is able to be crawled by an indexing service, as per Resource Crawling [SDP], to aid the querying of available resources and uniform contract details.

There is a risk that the open availability of too many service contract details will leak into service consumer logic implementations, thereby introducing negative forms of coupling.

Architecture

Inventory, Composition, Service

Status

Under Review

Contributors

Raj Balasubramanian, Benjamin Carlyle, Cesare Pautasso
img

Service contracts are published in a manner that enables them to be discovered by following links.