There are 3 entities required to put together the Web Services framework:
- Service Providers: who offer the services on the Web and publish the APIs to provide access to the services
- Service Brokers: who register and categorise the services offered. Think of them as clearinghouses for services.
- Service Requesters: who need the services and use the Service Brokers to get to the Service Providers. They use a collection of services to put together their applications.
There are three Web Services operations. An IBM White Paper elaborates on these:
- Publish/Unpublish: Publishing and unpublishing involves advertising services to a registry (publishing) or removing those entries (unpublishing). The service provider contacts the service broker to publish or unpublish a service.
- Find: The find operation is performed by service requesters and service brokers together. The service requesters describe the kinds of services they’re looking for, and the service brokers deliver the results that best match the request.
- Bind: The bind operation takes place between the service requester and the service provider. The two parties negotiate as appropriate so the requester can access and invoke services of the provider.
Standards now exist for each of the above elements. Service deployment (“publish”) is done via WSDL. Service Broking (“find”) is done via UDDI. The interface between service providers and service requesters (“bind”) is done via SOAP. The common language for exchanging data is XML. The underlying transport protocol for Web Services is the same as that used for accessing documents on the Internet – HTTP.
The full forms for each of the acronyms are:
- WSDL: Web Services Description Language (for service APIs – interfaces and functions)
- UDDI: Universal Description, Discovery and Integration (for finding services in directories)
- SOAP: Simple Object Access Protocol (for encoding and exchanging messages between Web services)
- XML: eXtended Markup Language (like HTML; a mechanism to communicate between components)
- HTTP: HyperText Transport Protocol