Event-Based Synchronization Overview of the Oracle Business Data Synchronization Server Architecture

2-6 Administrators Guide for Oracle Business Data Synchronization Server enable connectors to create subscriptions for the user. A connector creates separate subscriptions for each domain if it can to do so. The Event-Based Synchronization Flow 1. The Dispatcher retrieves Hub users who are available for synchronization. 2. The Dispatcher chunks these users into batches. 3. The Dispatcher sends these users to the Engine. 4. The Engine starts a synchronization session for each user. The synchronization session performs the following: a. Determines the appropriate PIM servers for user. b. Determines if there are changes made to the users domains such as Tasks or Contacts. c. Sends an extract message to the connector instance for each connector. This extract message lists the user domains for which record changes are requested. d. The connectors return the extract response to the Engine. e. The Engine processes the extract responses and then pushes data to the connectors. 5. The users synchronization process terminates. The Hub resets the change flag for the connector user. If the connector does not support events, then the Hub leaves the change flags in the state that causes synchronization.

2.2 Overview of Connectors

The connectors use Web services to communicate user records to the Hub. They implement the BDSS Connector API as described in Appendix D, Connector API, which details the BDSS Connector Interface, Connector Run-Time Interface, and Engine Callback Interface. A connector consists of the following three components: ■ Hub Transport ■ Transformer ■ PIM Transport

2.2.1 Hub Transport

The Hub Transport implements the connector interface and performs data exchange between the Engine and the connector. Note: You enable event-based synchronization by setting the SYNC_ EVENTS_ENABLED_FLG, SUPPORTS_EVENTS_FLG, and USER_ EVENT_FLG flags in the CONNECTORS table. Note: Although you do not have to implement these three components, Oracle recommends their implementation as a best practice. Understanding the BDSS Architecture 2-7

2.2.2 Transformer

The Transformer translates data into both the Hub schema and the schema of the PIM servers. You can define how the Hub formats the data and freely revise it to meet customer needs. Using Oracle JDeveloper you can create the XSLTs XML Transformations that map the XSDs XML Schema Definitions of the Hub and PIM server. See also Chapter 8, Mapping Connector Fields to Hub Fields.

2.2.3 PIM Transport

The PIM Transport uses the PIM API interfaces and performs data exchange between the connector and the PIM server. As part of the data exchange, the PIM Transport translates data between the PIM XML schema representation and the PIM server representation.

2.2.4 How the Connector Components Manage Domain Data During Synchronization

Synchronization between the Hub and connectors is bidirectional by default, but can be configured to restrict the synchronization direction to either inbound-only or outbound-only.

2.2.4.1 Inbound Synchronization

The components interact as follows upon receiving data from the PIM server: 1. The PIM Transport collects a record set for a domain using a native PIM server API. This data is in the format specific to the PIM Server. 2. The PIM Transport converts each record to a PIM XML format that conforms to the PIM XSD defined for the domain to which the record belongs. 3. The PIM Transport passes each PIM XML record to the Transformer, which performs the following actions to translate the PIM XML record into the Hub XML record: a. Determines the synchronization direction inbound to apply the correct XLST document PIM to Hub. See also Section 5.4, Creating Connector Configuration Profiles. b. Invokes an API that applies the XSLT document to each record. This XLST contains the schema definitions for both the Hub and the PIM server. c. Returns the Hub XML record to the Hub Transport. 4. The Hub Transport calls an API to build a SOAP Simple Object Access Protocol message containing the Hub XML record set. 5. The Hub Transport then calls an API to push the SOAP message to the Hub.

2.2.4.2 Outbound Synchronization

Outbound synchronization begins with the Hub sending a SOAP message containing a single record in Hub XML format to the connector. The connector then transforms this XML record to an appropriate format required by the target PIM server. The components interact as follows upon receiving data from the PIM server: Note: You can create and revise the Hub schema, but you cannot change the connector schema. The connector schema is created by the developers of the connector and must remain fixed.