How can a service inventory provide effective access to both its uniform contract and service-specific contracts?
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.
Provide all service contract information in the format of a tree of hyperlinked resources online within the service inventory.
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.
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.
ArchitectureInventory, Composition, Service
ContributorsRaj Balasubramanian, Benjamin Carlyle, Cesare Pautasso
Service contracts are published in a manner that enables them to be discovered by following links.