A collaboration group is a set of collaboration objects that represents a combined business process. A collaboration group lets you combine discrete units of logic. The collaboration objects are bound to each other through the same types of ports through which they can also bind to connectors.
Collaboration groups provide the following benefits:
Collaboration groups are formed from two or more collaborations. Within a group, collaborations are bound to other collaborations, and there is always the notion of a caller collaboration and a called collaboration. For any two collaborations that are bound to each other, one is the caller collaboration and one is the called collaboration. A caller collaboration is bound such that one of its service calls sends a business object that triggers the execution of another collaboration. The called collaboration receives the business object, which is its triggering event. The called collaboration returns the result to the caller after executing. See Figure 9.
Figure 9. Caller and called collaborations
Within a collaboration group, a collaboration that does not support long-lived business processes cannot bind to a collaboration that is deployed as a long-lived business process.
An example of a collaboration group is the InterChange Server Express product Customer Manager, which consists of the following collaborations:
When you install the Customer Manager collaboration, you receive all collaboration templates. You can configure them and bind them (establish the communication between collaborations using ports) in various ways to form a unified process.
The CustomerSync collaboration synchronizes a SoldTo customer; that is, the CustomerSync collaboration ties together events and data with the SoldTo customer. You can also choose to synchronize data and events about related customer information. In that case, you could bind CustomerSync to the CustomerPartnerWrapper, which performs some preprocessing, and then bind CustomerPartnerWrapper to CustomerPartnerSync. Figure 10 illustrates this set of bindings.
Figure 10. Bound collaboration group
Here are the general steps for creating a collaboration group: