A transaction between Web Services typically involves three or more parties: a requester. one or more providers and a registry, such as UDDI, that supports the Web Services during the transaction and possibly mediates between the requester and the provider. Roughly speaking, the requester corresponds to the client, and the provider corresponds to the server, with the cavia that we expect Web Services to be able to play both roles, for instance a Web Service may be a client in one transaction while a server in another transaction. Furthermore, even within the same transaction the client server relation may switch when the server asks the client to decide between alternatives, or to provide additional information.
Web Services composition follows the cycle described in figure and it can be segmented in two phases phases: the location of the provider, and the interaction between the requester and the provider. Consistently with registries like UDDI, we assume that whenever a provider comes on line, it advertises with the Registry to make itself known and available to requesters. Strictly speaking, the advertisement of a provider is not a part of a transaction, since the same registration is used in multiple transactions, nevertheless it is an essential precondition for the transaction to take place.