The CollaborationFoundation collaboration template is a tool that facilitates the development of user-defined collaborations that perform functions such as the following:
A collaboration performs synchronization when it replicates data from one application to another. Such a synchronization typically processes data from a source application that does not expect a result.
CollaborationFoundation contains the verb logic, data filtering, and error handling used by most collaborations that perform synchronization; this is the basic synchronization logic. CollaborationFoundation has five empty subdiagrams, each named Additional Processing, that enable you to extend the collaboration's business process without modifying the base synchronization logic.
This section primarily describes the basic synchronization logic and offers recommendations for extending the CollaborationFoundation template to meet the requirements of the collaborations you plan to develop.
A collaboration can be triggered by a Retrieve request from a source application that waits for the result. A collaboration can also be triggered by a source application that sends a synchronization event and waits for the collaboration to return a full business object from the destination application. Such events require a source application that can send a synchronous request or that uses the Server Access Interface.
This chapter describes the access functionality in Retrieve Process and Additional Retrieve Process.
A collaboration performs data piping when it moves data from one application to another without performing any filtering or verification of the data. To build such a collaboration from CollaborationFoundation, bind the From port to the source application, and then bind both the DestinationAppRetrieve and To ports to the destination application.
The following sections provide additional information about the CollaborationFoundation template:
A collaboration object generated from the CollaborationFoundation template can perform a Create, Retrieve, Delete, or Update action on a business object in the destination application that corresponds to the collaboration's triggering business object.
CollaborationFoundation is designed to enable the triggering business object to use the Retrieve verb. If the collaboration is bound to a source connector that makes a synchronous request, the triggering business object's values are returned to the source connector as soon as the collaboration completes its processing. The values are returned as if the business object's values had been passed by reference.
This template provides the standard properties shown in Table 8; these properties affect the behavior of business
flows.
Table 8. CollaborationFoundation standard properties for business flow
Figure 9 shows the main business flow for a collaboration when the USE_RETRIEVE property evaluates to false.
Figure 9. CollaborationFoundation main business-process flow
You can configure a collaboration object to filter data in specified attributes of the triggering business object. You can use the results of the filtering to determine whether the collaboration needs to synchronize a triggering business object with specific data. The template provides the following four properties for filtering data:
For information on adding additional properties that can specify multiple filtering attributes, see the description of the 1_FILTER_ATTRIBUTE property in Appendix A, Standard Collaboration information. In addition, Figure 83 illustrates the collaboration's filtering behavior.
To filter on a second attribute, the CollaborationFoundation template provides the following set of properties:
To filter on multiple attributes, provide a set of filter properties for each property. Provide a unique number for each set of properties. In other words, the filter properties for the third attribute can use 3_ as the prefix. Although the prefix must be different for each set of attributes, the property names themselves must be identical to those shown above.
CollaborationFoundation provides standard properties for error
handling. Table 9 describes these properties.
Table 9. Standard properties for error handling
Error-handling property | Description |
---|---|
INFORMATIONAL_EXCEPTION | Specifies whether a collaboration object must end successfully and send the exception to a trace, or end in failure and raise an exception to be logged. |
SEND_EMAIL | Specifies whether a collaboration object sends email to a specified address when an exception occurs, regardless of the value of INFORMATIONAL_EXCEPTION. |
Email process for error handling illustrates the collaboration's email process for error handling.
For both of the error-handling properties, you can specify the behavior for all exceptions or for a smaller set of comma-delimited message numbers. The message numbers correspond to those in the collaboration's message file (collaborations\messages\CollaborationFoundation.txt).
Perform the following tasks to use the CollaborationFoundation template:
WebSphere Business Integration Server Express provides a set of configuration properties that enable you to include or exclude business objects from synchronization based on specified values in a specified attribute. If you want to filter synchronization based on values in more than one attribute, you must create an additional set of the configuration properties for each attribute you want to evaluate. For more information, see Standard properties for collaboration templates.
Figure 10 illustrates CollaborationFoundation's ports. The tables that follow provide information about each port.
Figure 10. CollaborationFoundation collaboration ports
Table 10 lists the features of the CollaborationFoundation's
DestinationAppRetrieve port.
Table 10. Port features (DestinationAppRetrieve port)
Port feature | Value |
---|---|
Business Object | A reference-valued BusObj. The default value is Controller. |
Verbs Used | Retrieve |
Compensating Verbs | None |
Purpose | Retrieves the full-valued business object from the destination and uses it to set the verb. |
Bound To | Destination application's connector |
Configuration Property | USE_RETRIEVE |
Table 11 lists the features of the CollaborationFoundation's To
port.
Table 11. Port features (To port)
Port feature | Value |
---|---|
Business Object | A full-valued BusObj. The default value is Controller. |
Verbs Used | Create, Update, or Delete |
Compensating Verbs | None |
Purpose | Sends a business object out of the collaboration. Often the collaboration sends a copy of the triggering business object through this port to the destination. |
Bound To | Destination application's connector or another collaboration (for additional processing) |
Configuration Property | None |
Table 12 lists the features of the CollaborationFoundation's From
port.
Table 12. Port features (From port)
Port feature | Value |
---|---|
Business Object | triggeringBusObj (the default value is Controller) |
Verbs Used | Create, Retrieve, Update, or Delete |
Compensating Verbs | None |
Purpose | Receives the triggering business object |
Bound To | Source application or a calling collaboration |
Configuration Property | None |