Web services are software components designed to support interoperable machine-to-machine interactions over a network, through the exchange of SOAP messages. Since the underlying technology is independent of any specific programming language, Web services can be effectively used to interconnect business processes across different organizations. However, a standard way of representing such interconnections has not yet emerged and is the subject of an ongoing debate. In this area, the term collaboration has often been used to denote a situation in which two or more business processes (participants) cooperate by means of Web services, so as to achieve a common goal. In particular, when only two participants are involved, the more specific term binary collaboration is preferred, while when there are three or more, the term multiparty collaboration can be used instead. The notion of binary collaboration is fundamental, as any multi-party collaboration ultimately relies on a number of binary collaborations.
Key Terms in this Chapter
Collaboration Provider: The participant involved in a collaboration without having initiated it.
Binary Collaboration: A collaboration involving only two participants.
Interaction: The exchange of a given application message between two participants. A one-way interaction subsumes two activities, a sending activity in one participant, and a receiving activity in the other. Two-way interactions are made up of two one-way interactions in opposite directions. Application messages can be acknowledged by positive or negative signal messages.
Interaction Initiator or Requester: The participant sending the first message of an interaction.
Collaboration: A composition of interactions whereby two or more participants exchange messages in order to achieve a common goal.
Interaction Responder or Provider: The participant involved in an interaction without having initiated it.
Abstract Orchestration Model: An abstract business process made up of communication activities and control-flow ones, describing how a given participant deals with the collaborations it is involved in.
Choreography: An a priori global and public model meant to capture all the interactions taking place for a given purpose among a number of participants.
Collaboration Initiator or Requester: The participant sending the first message in a collaboration. This role coincides with the initiator of the first interaction.
Multi-Party Collaboration: A collaboration involving more than two participants. Any multi-party collaboration ultimately relies on a number of binary collaborations.