Tivoli Directory Integrator, Version 7.1.1


Connectors are used to access and update information sources. The job of a Connector is to level the playing field so that you do not have to deal with the technical details of working with various data stores, systems, services or transports. As such, each type of Connector is designed to use a specific protocol or API, handling the details of data source access so that you can concentrate on the data manipulations and relationships, as well as custom processing like filtering and consistency control.


Connectors are used to abstract away the details of some system or store, giving you the same set of access features. This lets you work with a broad range of disparate technologies and formats in a consistent and predictable way. A typical AssemblyLine (AL) has one Connector providing input and at least one Connector writing out data.

There are two categories of Connectors:

A rich Connector library is one of the strengths of IBM Tivoli Directory Integrator. The list of all Connectors included with TDI can be found in the IBM Tivoli Directory Integrator V7.1.1 Reference Guide. But you can also write your own Connector in JavaScript or even Java; see "Implementing your own Components", IBM Tivoli Directory Integrator V7.1.1 Reference Guide.

Each Connector is designed for a specific protocol, API or transport and handles marshalling data between the native type of the connected system and Java objects. Unlike the other components, Connectors have a Mode setting that determines how this Connector accesses its connected system; see Connector modes for more information. Each Connector supports only a subset of modes that are suited for its connected system. For example, the File System Connector supports only a single output mode, AddOnly, and not Update, Delete or CallReply. When you use a Connector, you must first consult the documentation for this component for a list of supported modes.
Note: AssemblyLines can consist of as many, or as few, Connectors (and other Components) as required to implement your specific Data Flow. There is no limitation in the system. However, best practice is to keep an AssemblyLine as simple as possible in order to maximize maintainability.

When you select a Connector for your AssemblyLine, a dialog box is displayed enabling you to choose the type of Connector you want to inherit from. Inheritance is an important concept when working with IBM Tivoli Directory Integrator because all the components you include in solutions inherit some or all of their characteristics from another component—either from one of the basic types, or from your library of pre-configured components: Connectors, Parsers, Functions and so forth in the Resources section of your workspace.

When used in an AL, Connectors provide an Initialize option to control when the component is set up; for example, connections made, resources bound, and so forth. By default, all Connectors initialize when the AssemblyLine starts up: the AL Startup Phase.

Connectors in Server or Iterator mode feed the AssemblyLine, and are responsible for feeding the AL with a new Work Entry for each cycle that the AL makes. The Work Entry is passed from component to component in the Flow section, following any Branching logic you've implemented, until the end of the Flow is reached. At this point, end-of-cycle behavior begins, such as the Iterator getting the next entry from its source and passing it to the Flow section for a new cycle.

While an Iterator in the Feeds section will actually drive the Flow, an Iterator in the Flow section will simply get the next entry and offer its data Attributes for Input Mapping into the Work Entry.
Note: You can put a Connector in Iterator Mode into the Flow section. As such, the Iterator works in the same way as it would in the Feeds: it is initialized, including building its result set with the selectEntries call, during AL startup and retrieves one entry (getNextEntry) on each cycle of the AL. However, an Iterator in the Flow section does not drive the AL itself, as it would in Feeds.

Feeds section behavior is different for Server and Iterator modes: An Iterator expects to be the first component running in the AL, and it will only read its next entry if the Work Entry does not already exist. If the AL is passed an Initial Work Entry, then Iterators do not read any data for this first cycle. It also means that Iterators run in a series, with the second one starting to return Entries once the first one has reached end-of-data and returned nothing (null).

Server Mode, on the other hand, causes the Connector to launch a server listener thread, for example, to an IP port or event-notification callback, and then pass control to the next Feeds Connector.

When you call an AL using the AssemblyLine Function component (AL FC), if you use the manual cycle mode then only the Flow section components are used each time the FC performs the call.

There is a Connectors folder in your workspace in the TDI Navigator where you can maintain your library of configured Connectors. This is also where Connector Pools are defined.

[ Terms of use | Feedback ]
(C) Copyright IBM Corporation, 2003, 2012. All Rights Reserved.
IBM Tivoli Directory Integrator 7.1.1