Site information is used by organizations that manage an install base for their customers. A site is generally a representation of the location where an organization's products have been installed.
Sites are referenced on Contracts, Cases, Service Orders, and Return Material Authorizations (RMAs). A Customer Service Representative, a Service Technician, and a Shipping person all need to access site information. Because this information may be distributed across multiple systems, maintaining its integrity and ensuring that all systems are synchronized with the most current information becomes a key business challenge.
The SiteSync collaboration template addresses this challenge by specifying a common process for maintaining and synchronizing site information across all systems that use it, resulting in a common view of this information throughout the organization. SiteSync synchronizes site information between a Customer Interaction Management (CIM) application and an Enterprise Resource Planning (ERP) application. Either of these applications can serve as the source or destination for the synchronized information.
This replication of data allows separate applications to use site information consistently whenever data is added, changed, or deleted in the enterprise. The collaboration assures the accuracy of duplicate information in the destination application without duplicate entry.
Site information may include relationships between a site and other associated customers. For example, a site may be linked to a SoldTo customer or to other customer partners, such as a ShipTo or a BillTo address.
IBM stores the information about a site in the generic Site business object. Site's RelatedCustomerRef child business object stores the key of each of the site's referenced customers and addresses. RelatedCustomerRef's ObjectType attribute indicates whether the referenced customer is a Customer or CustomerPartner. SiteSync uses the Site business object to synchronize the site and its referenced customers across applications.
Although SiteSync synchronizes only Sites, you can configure it to call the appropriate collaborations to verify or synchronize the following related business objects:
Business object | Related collaboration properties | Called collaborations |
---|---|---|
Customer | VERIFY_SYNC_CUSTOMERS | CustomerSync CustomerWrapper |
VERIFY_SYNC_CUSTOMERPARTNERS | CustomerPartnerWrapper CustomerPartnerSync |
This document describes how to create and configure the collaboration template and describes its business processes.
This section includes information on port bindings and required steps for setting up collaboration objects based on SiteSync. For information on standard features, ports, and configuration properties for collaboration templates, see the Collaboration Development Guide. For general information on creating collaboration objects, see the System Implementation Guide.
Figure 1 illustrates the relationship of SiteSync to its source and destination ports.
Figure 1. SiteSync ports
Note: To prevent the collaboration object from using a port, bind that port to the Port connector. Binding the port indicates that the port is unused without causing the collaboration object to provide additional functionality.
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Site | The destination application's connector | Sends a reference-valued business object to retrieve the full-valued business object. The result determines the verb to use when synchronizing the Site |
Retrieve |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Site | 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 |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Site | The destination application's connector | Sends the triggering business object out of the collaboration | Create Update Delete |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Customer | The From port of CustomerWrapper collaboration |
Used to send the Customer business object to the CustomerWrapper collaboration Depending on the triggering verb, CustomerWrapper either:
In either case, CustomerWrapper returns a status to SiteSync |
Exists Sync |
Business object | Bound to | Function | Verbs used |
---|---|---|---|
Customer Partner | The From port of Customer PartnerWrapper collaboration |
Used to send the CustomerPartner business object to the CustomerPartnerWrapper collaboration Depending on the triggering verb, CustomerPartnerWrapper either:
In either case, CustomerPartnerWrapper returns a status to SiteSync |
Exists Sync |
To use SiteSync as a stand-alone collaboration object, follow these steps:
Use SiteSync in a collaboration-object group if you want to verify or synchronize related Customers and CustomerPartners as part of the SiteSync process. You can create any combination of the following collaboration-object groups:
Verify Synchronize Required collaborations Customers SiteSync, CustomerWrapper Customers SiteSync, CustomerWrapper, CustomerSync CustomerPartners SiteSync, CustomerPartnerWrapper CustomerPartners SiteSync, CustomerPartnerWrapperCustomerPartnerWrapper, CustomerPartnerSync
The following procedure describes setting up SiteSync as part of a collaboration-object group.
For the sake of example, these steps assume you want to synchronize Sites and their referenced SoldTo Customers, but not their referenced CustomerPartners.
Note: To synchronize referenced CustomerPartners as well as referenced Customers, follow the above procedure to bind the port (ToCustomerPartnerWrapper), to set the configuration property (VERIFY_SYNC_CUSTOMERPARTNERS), and to create and configure the required collaboration objects (CustomerPartnerWrapper and CustomerPartnerSync).
This section illustrates the process logic for this collaboration template:
Figure 2 illustrates SiteSync's process logic.
Figure 2. SiteSync collaboration process logic
This collaboration template uses the following standard collaboration business processes:
For information on these processes, see the Collaboration Development Guide.
Figure 3 illustrates SiteSync's process for verifying or synchronizing related Customers and CustomerPartners.
Note: Each Site business object contains a RelatedCustomerRef business object with multiple cardinality. SiteSync loops through the array of contained RelatedCustomerRef business objects and checks its ObjectType attribute. For each ObjectType attribute that evaluates to "Customer", SiteSync creates a Customer business object and sends it to CustomerWrapper. For each ObjectType attribute that evaluates to "CustomerPartner", SiteSync creates a CustomerPartner business object and sends it to CustomerPartnerWrapper.
Figure 3. Verification or synchronization of Customers and CustomerPartners
When SiteSync sends the Site business object with the Update verb to the destination, the synchronization updates relationships to Customers or CustomerPartners, but it does not actually create, update or delete a Customer or CustomerPartner.
For example, when a Site deletes a reference to a Customer or CustomerPartner, the application does not delete the Customer or CustomerPartner (neither physical nor logical delete). The application simply removes the reference to the Customer or CustomerPartner; it removes the relationship to the Customer or CustomerPartner without removing the Customer or CustomerPartner.
Figure 6 illustrates data for Site #100 that has been synchronized by SiteSync. Both the source and destination applications contain the same primary Site with the same three related Customers or CustomerPartners.
Figure 4. Site data before deletion of references to Customers and CustomerPartners
Figure 5 illustrates the same primary Site after the source application has deleted one of its related Customers or CustomerPartners. The deletion of the child business object triggers the source connector to send the Site business object with the Update verb to SiteSync. The graphic illustrates the state of the Site business object as SiteSync sends it to the destination application, before the destination application has removed the reference to the related Customer or CustomerPartner.
Figure 5. Site data after the source application has deleted references to Customers and CustomerPartners
Figure 6 illustrates the state of the Site business object after deletion of the reference to the related Customer or CustomerPartner in the destination application.
Figure 6. Site data after synchronization in the destination application
InterChange Server Express can roll back a transaction when any step in a transactional collaboration fails. For example, when SiteSync 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 Express rolls back the processing of every collaboration in the group.
When a SiteSync 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 modification of the collaboration template. To understand transaction processing in the IBM WebSphere Business Integration Server Express Plus system, see the System Implementation Guide. For information about adding transaction processing to the collaboration template, see the Collaboration Development Guide.
To extend the collaboration object to handle transaction processing, complete the following steps:
This section describes the standard properties and collaboration template-specific properties for this collaboration template:
This collaboration template uses the following standard configuration properties for collaboration templates:
For information on these configuration properties, see the Collaboration Development Guide.
In addition to its standard configuration properties, this collaboration template has the configuration properties described below.
Property name and explanation | Possible values | Default value |
---|---|---|
VERIFY_SYNC_CUSTOMERS Set to "sync" to cause this collaboration to synchronize the related SoldTo Customer in the destination application. The collaboration performs the following process:
Set to "verify" to cause this collaboration to verify the related Customer in the destination application. The collaboration performs the following process:
Set to "neither" to cause this collaboration to synchronize its triggering business object without first synchronizing or verifying the related Customer in the destination application. |
verify, sync, neither | neither |
VERIFY_SYNC_CUSTOMERS Set to "sync" to cause this collaboration to synchronize supporting customer information, such as BillTo and ShipTo data, that is stored in relationship to the SoldTo Customer. The collaboration performs the following process:
Set to "verify" to cause this collaboration to verify the related CustomerPartner in the destination application.The collaboration performs the following process:
Set to "neither" to cause this collaboration to synchronize its triggering business object without first synchronizing or verifying the related CustomerPartner in the destination application. |
sync, verify, neither | neither |
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:
To upgrade to a newer version of the collaboration template, perform the following steps: