Collaborations

In an IBM Websphere Business Integration Server Express implementation, the term collaborations refers to software modules that contain code and business process logic that drives interactions between applications. A collaboration can be simple, consisting of just a few steps, or complex, involving several steps and other collaborations.

A collaboration object can be bound to another collaboration object to form a collaboration group. A collaboration group harnesses the power of multiple discrete collaborations to integrate related business processes.

When you install a collaboration, you install a collaboration template. A collaboration template contains all of the collaboration's execution logic, but it is not executable. To execute a collaboration, you must first instantiate a collaboration object from the template. The collaboration object becomes executable after you configure it by binding it to connectors or to other collaboration objects, and by specifying other configuration properties.

A collaboration has a set of interfaces to the outside world called ports. In a collaboration template, each port is a variable that represents a business object that the collaboration object receives or produces at runtime. For example, consider a hypothetical Service Billing collaboration that is triggered by the closing of a case in a customer service management application. The collaboration retrieves the customer's contract as a business object from a customer records application, then uses the information in the contract to send an invoice business object to an accounting application.

Such a collaboration might use three ports, one for each of the connectors with which it interacts. Each port is associated with a particular type of business object, as shown in Figure 2-3:

Figure 4. Ports in the Service Billing collaboration


At configuration time, an administrator creates a collaboration object that contains the template's ports. The administrator binds the ports for that specific collaboration object, associating each port with a connector, or with another collaboration object. For some collaborations (those whose templates accept the Retrieve verb), a port can be configured instead as External, so that it can receive a triggering business object from an access request--an external call on the Server Access Interface.

The ports enable communication between bound entities, so that the collaboration object can accept the business object that triggers its business processes, and then send and receive business objects as requests and responses.

Copyright IBM Corp. 2004