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.