CustomerAccountManager Collaboration Template

The CustomerAccountManager collaboration template is used to synchronize customer account data across multiple applications in the telecommunications (telco) industry. Each of these applications supports a different business function, which can include the following:

Because account information may be distributed across multiple systems, maintaining integrity and ensuring that all systems are synchronized with the most current information becomes a key business challenge. The CustomerAccountManager collaboration addresses this challenge by specifying a common definition of how customer account information is maintained and synchronized across all applications. This results in a common view of all customer account information throughout the organization.

CustomerAccountManager uses the generic CustomerAccount business object to contain customer account data.

Synchronization of related business objects

Although it synchronizes only CustomerAccount business object data, CustomerAccountManager can be configured to call the appropriate collaboration to verify or synchronize the following related business object:

Business object Related collaboration properties Called collaborations
Customer VERIFY_SYNC_CUSTOMERS

CustomerWrapper CustomerSync

This document describes how to create and configure the collaboration template and describes its business processes.

Issues and assumptions

Collaboration object setup

This section includes information on port bindings and required steps for setting up collaboration objects based on CustomerAccountManager. For information on standard features, ports, and configuration properties for collaboration templates, and for general information on creating collaboration objects refer to the documents listed in Required Documents for Creating Collaboration Objects.

Port information

Figure 1 illustrates CustomerAccountManager's ports, as they are displayed in System Manager.

Figure 1. CustomerAccountManager collaboration's ports

Note: To keep the collaboration object from using a port, bind that port to the Port connector. Doing so indicates that the port is unused without causing the collaboration object to provide additional functionality.

Port name: DestinationAppRetrieve
Business object Bound to Function Verbs used
CustomerAccount The destination application's connector Sends a reference-valued business object to retrieve the full-valued business object.

Retrieve


Port name: From
Business object Bound to Function Verbs used
CustomerAccount Source application's connector or calling collaboration Receives the triggering business object. At the end of a synchronous call, this port also returns the triggering business object to the source application when the collaboration ends successfully.

Create Retrieve Update Delete


Port name: To
Business object Bound to Function Verbs used
CustomerAccount The destination application's connector

Sends the triggering business object out of the collaboration

Create Update Delete


Port name: ToCustomerWrapper
Business object Bound to Function Verbs used
Customer
  • The From port of CustomerWrapper(if verifying or synchronizing)
  • Destination application's connector or the Port connector (if not verifying or synchronizing)
Used to send a reference-valued Customer business object for verification or synchronization

Sync Exists

Setting up the collaboration object

3.2.1 Using CustomerAccountManager as stand-alone

To set up CustomerAccountManager as a stand-alone collaboration object, follow these steps:

  1. Create the CustomerAccountManager collaboration object.
  2. Bind the collaboration object's ToCustomerWrapper port to the destination application's connector or to the Port connector.
  3. Bind the remaining ports as described in Port information.
  4. Retain the default value of "neither" for CustomerAccountManager's VERIFY_SYNC_CUSTOMERS configuration property.
  5. Set the remaining Configuration properties for CustomerAccountManager.  

Using CustomerAccountManager in a collaboration-object group

To verify or synchronize related Customers as part of the CustomerAccountManager process, you can create any combination of the following collaboration-object groups:


Verify Synchronize Required collaborations
Customers   CustomerAccountManager, CustomerWrapper
  Customers CustomerAccountManager, CustomerWrapper, CustomerSync

Using CustomerAccountManager in a collaboration-object group

The following procedure describes setting up CustomerAccountManager as part of a collaboration-object group.

For the sake of example, these steps assume you want to synchronize Customer Accounts and their referenced Customers.

  1. Create collaboration objects from the templates for CustomerAccountManager, CustomerWrapper, and CustomerSync.
  2. Edit the CustomerAccountManager collaboration object to bind its ToCustomerWrapper port to CustomerWrapper's From port.
  3. Bind the remaining ports for the CustomerAccountManager collaboration object as described in this document's "Port Information" section.
  4. Set the CustomerAccountManager collaboration object's VERIFY_SYNC_CUSTOMERS property to "sync".
  5. Configure the CustomerWrapper collaboration object to bind its To port to CustomerSync's From port.
  6. Bind the CustomerWrapper collaboration object's remaining ports. For more information, see Port information in the Wrapper collaboration reference page. Note: System Manager will have already bound the CustomerWrapper collaboration object's From port to the CustomerAccountManager collaboration object.
  7. Edit the CustomerSync collaboration object to bind its ports. For more information, see Port information in the CustomerSync collaboration reference page.
  8. Set the configuration properties for each collaboration.

Collaboration template processes

This section illustrates the process logic for this collaboration template:

Overall process logic

Figure 2 illustrates CustomerAccountManager's process logic.

Figure 2. CustomerAccountManager collaboration's process logic

Inherited process logic

This collaboration template uses the following standard collaboration business processes:

For information on these processes, see Required Documents for Creating Collaboration Objects.

Verification or synchronization of Customers

Figure 3 illustrates CustomerAccountManager's process for verifying or synchronizing related Customers.

Figure 3. Verification or synchronization of Customers

Compensation processing

InterChange Server can roll back a transaction when any step in a transactional collaboration fails. For example, when CustomerAccountManager is a member of a collaboration-object group that participates in a transactional collaboration, its actions are one subtransactional step of a larger transaction. If any step in the collaboration-object group's business process fails, the transactional collaboration details how InterChange Server should roll back the processing of every collaboration in the group.

When a CustomerAccountManager collaboration object is used independently of other collaboration objects or the collaboration object's From port is bound to a source application rather than to another collaboration, its process comprises a single transactional step. In such a situation, it is not necessary to perform rollback.

To cause a collaboration object or a collaboration-object group to perform rollback requires modifying the collaboration template. To understand transaction processing in the WebSphere business integration system, see the Technical Introduction to IBM WebSphere InterChange Server. For information on adding transaction processing to the collaboration template, see Required Documents for Creating Collaboration Objects.

To extend the collaboration object to handle transaction processing, complete the following steps:

  1. Add this capability to the collaboration template and to every other collaboration template in the collaboration-object group.
  2. Set the minimum transaction level of the collaboration object and all members of the collaboration-object group to a value higher than None. If a failure occurs in any subtransaction step, settings of Minimal Effort or higher cause this collaboration object and other collaboration objects in the group to execute compensation for Create, Update, and Delete operations performed on all business objects.
  3. Set the USE_RETRIEVE property of the collaboration object and all other members of the collaboration-object group to "true". Forcing the collaboration objects to retrieve values before changing them allows the collaboration objects to restore the original values in an Update or Delete process.

Configuration properties

This section describes the standard properties and collaboration template-specific properties for this collaboration template:

Standard properties

This collaboration template uses the following standard configuration properties for collaboration templates:

For information on these configuration properties, see Required Documents for Creating Collaboration Objects.

Properties specific to this collaboration template

In addition to its standard configuration properties, this collaboration template has the configuration properties described below.

Configuration properties specific to the CustomerAccountManager collaboration template

Property name and explanation Possible values Default value

VERIFY_SYNC_CUSTOMERS

Set to "sync" to cause CustomerAccountManager to synchronize the referenced Customer in the destination application. CustomerAccountManager copies the ParentCustomerId from the CustomerAccount business object and creates a generic Customer business object. CustomerAccountManager sends the business object with the Sync verb to CustomerWrapper. In turn, CustomerWrapper retrieves values for all attributes from the source application and sends the business object with the Create verb to CustomerSync. If CustomerSync fails to create the Customer, CustomerAccountManager logs a message and ends.

Set to "verify" to cause CustomerAccountManager to verify the referenced Customer in the destination application. CustomerAccountManager copies the ParentCustomerId from the CustomerAccount business object and creates a generic Customer business object. CustomerAccountManager sends the business object with the Exists verb to CustomerWrapper. In turn, CustomerWrapper retrieves the business object from the destination application. If CustomerWrapper fails to retrieve the Customer, CustomerAccountManager logs a message and ends.

Set to "neither" to cause CustomerAccountManager to create the CustomerAccount business object without first synchronizing or verifying the referenced Customer in the destination application.

neither, sync, verify neither

Collaboration messages

To view an explanation of the messages of this collaboration template, launch the Log Viewer and open the collaboration template's message file. To launch the Log Viewer and open the collaboration template's message file:

  1. In the Start menu, click Programs > IBM WebSphere InterChange Server >IBM WebSphere Business Integration Toolset > Administrative > Log Viewer.
  2. On the File menu, click Open.
  3. Use the Look In field to change the current folder to WebSphere_ICS_root_dir \collaborations \messages and select the message file for this collaboration template.