Locating Services
You can't use a service unless you are aware of its existence. A significant challenge in SOA is helping architects and designers locate the services that are appropriate for their needs. UDDI registries provide a mechanism for sharing some information about services (primarily interface details and information about service providers and users), but there is a wealth of additional information required to support the use of services, including (but not limited to):
- Service requirements—how the service specification is derived from its intended utilization
- Service specification—the interface (WSDL), including operations and data structures, the information managed by the service, the externally observable behavior, the characterization of intended utilization, and supported SLAs
- One-line description of the service—for quick weeding out of services
- Abstract (paragraph)—for a second-pass weeding
- Service user's guide—everything a user needs to know to use the service, from an introduction to its capabilities and intended utilization to the details of best practices in employing the service
- Service operation and maintenance guide
- Service operational support procedures
This information must be created, organized, archived, and made accessible to the community of service users. Services need to be categorized and indexed for easy access (some of which can be done in the UDDI registry), and the one-line descriptions and abstracts should be searchable as well.