Action Manager is a stand-alone Java application
used to configure failure-response behavior for Tivoli® Directory
Integrator 7.1.1 solutions.
AM executes rules defined with AMC v.3. An AM rule consists of one or more triggers that define a "failure" situation -
such as the termination of an AL that should not stop running, or
if an AL has not been executed within a given time period, and so
forth Furthermore, each rule also defines actions to
be carried out in case of this "failure". Actions include
operations like sending events or e-mail, starting ALs (locally
or remotely) and changing configuration settings. Action Manager requires Tivoli Directory
Integrator 7.1.1 and
AMC v.3.
Accumulator
A special object that can be set in a Task Call Block
(TCB) for use when starting another AssemblyLine either
via a scripted call, or a component like the AssemblyLine Connector or the AssemblyLine FC.
The Accumulator is either a collection of Work Entry objects handled by the called AL, or it is a component
that is called to output each Entry. Accumulator handling is done
at the end of each AssemblyLine Cycle.
AES
Shorthand for Advanced Encryption Standard. AES is
an encryption algorithm for transmitting sensitive (but unclassified)
content by U.S. Government agencies.
Adapter
Adapter is a word used in
many contexts and with different meanings. A TDI
Adapter refers to an AssemblyLine that
is "packaged" as a single Connector.
Creating a TDI Adapter requires setting up an AssemblyLine that is
written to perform (and expose) one or more business related tasks.
Each task is defined as an AssemblyLine Operation (for
example, ‘EnableAccount', or ‘ReturnGroupMembers').
This AL can then be published for sharing,
and can be used by the AssemblyLine Connector, which offers mode settings
reflecting these operations2.
AMC is a browser-based console for managing
and monitoring solutions. AMC Version 3, which is part of the Tivoli Directory
Integrator 7.1.1 release,
runs inside the Integrated Systems Console (ISC). Each AMC version
is designed to work with a specific release of TDI and may be incompatible
with other versions. AMC v.3 is designed for Tivoli Directory
Integrator 7.1.1, however, it
also works with TDI 6.1.X and TDI 6.0 (albeit with some restrictions).
AMC v.2 works with TDI 6.0 and AMC v.1 runs with TDI 5.2.
API
Application Program Interface. A way of programmatically
(local or networked) calling another application, as opposed to using
a command-line or a shell script.
Appender
Appender is a Log4J term (a third party Java library) for a module that directs log-messages
to a certain device or repository. In IBM® Tivoli Directory
Integrator you control logging for
your AssemblyLines by creating and
configuring Appenders, either under the Logging
tab of a specific AL, or under Config -> Logging in the Config
Browser to control how all AssemblyLines in the Config do their logging.
AssemblyLine (AL)
The basic unit-of-work in
a TDI solution. Each AL runs as a JVM thread in the Server and
is made up of a series of AssemblyLine components (one or more Connectors, Functions, Scripts, Attribute
Maps and Branches) linked together and
driven by the built-in workflow of the AssemblyLine.
AssemblyLine Component
This term denotes an TDI component used to construct AssemblyLines. The possible Components
are:
The components list in an AssemblyLine is divided into two sections: Feeds where the Work Entry for each AL cycle is created from
input data by a Connector in Iterator or Server mode, and the Flow section that holds the Connectors (in
any mode except Server), Functions, Attribute Maps and Scripts providing
the additional data access and processing.
AssemblyLine Operation
A business task that is implemented by an AssemblyLine and published via its Operations
tab. Each Operation can have its own Input and Output Attributes Maps for defining the parameters
expected when this Operation is invoked (Input Map), as well as those
returned (Output Map). This is also called the Schema of the Operation.
At this point the TDI Server uses the "blueprint" for
the AssemblyLine in the Config to create the
various components as well as set up the AL environment, including
processing the TCB, starting the AL's script engine and invoking
the AssemblyLine's Prolog Hooks. All components
that are configured for Initialization At Startup are initialized
at this point causing their Prolog Hooks to get run as well.
Cycling
Now the AL workflow drives each of its components in turn, starting
each cycle by invoking the On Start of Cycle Hook. Then the currently
active FeedsConnector reads in data, creates the Work Entry and passes it to the Flow section. The Work Entry is passed from
component to component until the end of Flow is
reached, at which time control is returned to the start of the AssemblyLine
again3. Cycling continues until an unhandled
error occurs or there is no more data available (for example, the
Iterator reaches End-of-Data).
Shutdown
When cycling stops then the AssemblyLine goes into
Shutdown phase: Epilog Hooks are called and
all initialized components are closed down (which flushes output buffers
and executes their Epilog Hooks as well). Finally the AssemblyLine
closes down its environment and its thread terminates.
AssemblyLine Pool
Actually a collection of AL Flow sections
that can be configured to allow a Server mode Connector to
service more clients. Available for ALs that use Server mode Connectors
and set up in the AssemblyLine's Config
tab.
AssemblyLine Sequence
The AssemblyLine Sequence is used to run AssemblyLines together
with a minimum of conditional capabilities.
Attribute
Part of the TDI Entry data
model. Attributes are carried by Entry objects (Java "buckets",
like the Work Entry) and they can hold
zero or more values. These values are
the actual data values read from, or written to connected systems,
and are represented in TDI as Java objects.
Attribute Map (AttMap)
An Attribute Map is a list of rules (individual Attribute
mapping instructions) for creating or modifying Attributes in an Entry object typically based on the
values of Attributes found in another Entry object. Components like Functions and Connectors have
an Input Map for taking data read into local cache (the conn Entry) and use this to define Attributes
in the Work Entry. These components also
have an Output Map that takes Attributes carried by the AssemblyLine (in its Work Entry) and use
this to set up the conn Entry that is used by the component's
output operation. Attribute Map components use
the Work Entry as both the source and target of the mappings.
Attributes
can be mapped in one of three ways: Simply (copying values between
Attributes), Advanced (using a snippet of JavaScript), or with a TDI
Expression.
Attribute Map component
A free-standing list of individual Attribute mappings that take values from the Work Entry and use them to create and update
other Attributes in the Work Entry. They can be tied to Connector and Functions to
define their Input or Output Maps. Note that Input and Output Maps
can be copied to the library as AttMap components for reuse.
Best Practices
Recommended methodology and techniques for working with TDI.
These include the ABCs: Automation, Brevity and Clarity:
Automation
Use the automated features of TDI in preference to your own
custom scripted logic whenever possible - for example, using Branches/Loops instead of extensive scripting
in Hooks. Not only does this make your solution easier to read and
maintain (and you can step through with the AL Debugger!), but your
solution benefits directly as built-in logic is strengthened
and extended with each new release.
Brevity
Keep your AssemblyLines
as short and simple as possible, as well as your script snippets.
Break complex logic into simpler patterns that can be tested individually
and reused in other solutions.
Clarity
Choose legibility over elegance. Write solutions for others
to read and maintain.
Branches
A construct used to control the flow of logic in an AssemblyLine. Tivoli Directory
Integrator 7.1.1 provides three
types of Branches:
A Connector that returns changes
made in the connected system. Typically, a CDC can be configured to
return only a subset of Entries: new, modified,
deleted, unchanged or a combination of these. Some CDC's provide
only the changed Attributes in
the case of a modified Entry, while others return them all. Change
Detection Connectors also tag the data with special delta
operation codes to indicate what has changed, and how.4.
CLI
Command-line Interface, such as the tdisrvctl utility.
cipher
A cipher is any method of encrypting text (hiding its readability
and its meaning). The resulting encrypted text message is called cipehrtext.
ciphertext
Ciphertext is encrypted text, the result of applying a ciper,
or an encryption.
Components
The architecture of IBM Tivoli Directory
Integrator is divided into two parts: generic
functionality and technology-specific features. Generic functionality
is provided by the TDI kernel which provides
automated behaviors to simplify building integration solutions. The
kernel also lets you extend or override these behaviors as desired,
as well as doing the housekeeping for your solution: logging/tracing,
Hooks for error handling, API and CLI
access, and so forth. Technology-specific "intelligence"
is handled by helper objects called components,
such as Connectors, Functions, Branches, Scripts and Attribute Map components. Components provide
a consistent and predictable way to access heterogeneous systems and
platforms, and the kernel lets you "click" together components
to build AssemblyLines.
Compute Changes
A special feature of the Connector Update mode
that instructs the Connector to compare the Attributes about to be
written to the connected system with those that exist in this data
source already - in other words, it compare the value of each
Attribute in the conn Entry (the result
of the Output Map) with the corresponding ones found during the Update
mode lookup operation (which is stored in
the current Entry).
Config or Config File
A collection of AssemblyLines and
components that comprise a solution. A Config is stored in XML format, typically in a Config file and is written,
tested and maintained using the Configuration Editor.
Config Browser
This is the tree-view window at the top left-hand part
of the Configuration Editor screen. It gives you access to Config-wide
settings, the AssemblyLines and components
that make up the Config, as well as Properties, included Configs and custom Java libraries that
are to be loaded and made available to your scripts.
Configuration Editor (CE)
The graphical development environment used to write,
test and maintain Configs. Configs are stored
in XML format and are deployed by assigning them to one or more IBM Tivoli Directory
Integrator Servers to run.
Config Instance
A copy of a TDI Config that is running on a Server.
Typically loaded only once on a given Server, TDI allows you to start
the same Config multiple times if desired. Each running copy is given
its own context and can be accessed individually through the API.
conn Entry
This is the local Entry object maintained
by a Connector or Function. The conn Entry is used as a local cache
for read and write operations, and data is moved between this cache
and the AssemblyLine'sWork Entry via Attribute
Maps (specifically, Input and Output Maps).
Connector
One of the component types available in TDI to build AssemblyLines. Connectors are used to
abstract away the technical details of a specific data store, API,
protocol or transport, providing a common methodology for accessing
diverse technologies and platforms.
Unlike the other
components, Connectors can perform different tasks based on their mode setting (for example, Iterate, Delete,
Server and Lookup). Modes are provided by the AssemblyLine component
part of the Connector. However, the list of modes supported is dependent
on the Connector Interface.
Connector Interface
When a component is used in an AssemblyLine,
a distinction must be made between the Connector Interface (CI), containing the "intelligence"
for working with a connected system (for example, LDAP, JDBC, Notes,
and so forth), and the AssemblyLine Connector. 5.
This latter object is the "AL wrapper" that allows the CI
to be plugged into an AssemblyLine and
provides them with a consistent set of generic features, like input
or output maps, Link Criteria, Hooks and the Delta
Engine. See "Objects" in IBM Tivoli Directory Integrator V7.1.1 Reference Guide for
more information. See also "Connectors" in IBM Tivoli Directory Integrator V7.1.1 Reference Guide.
Connector Pool
Unlike the AssemblyLine Pool feature
available to ALs using Server mode Connectors, a Connector Pool is
a global collection of pre-initialized Connectors that can
be used in multiple ALs. Note that the Connector Initialization setting "Initialize
and terminate every time it is used" means that no AssemblyLine
gains exclusive rights to a pooled Connector, giving you detailed
control over resources used by your solution.
current Entry
This Entry object is local to a Connector Interface (just like the conn Entry) and contains the Attributes read in from a lookup operation
(for example, as carried out by Lookup, Update and Delete modes).
It is used to provide the Compute
Changes feature.
This Connector mode is used to the apply changes specified with delta operation codes in the Work Entry, and to do so as efficiently as
possible by performing incremental modifications. Note that Delta
mode is only available for the LDAP and JDBC Connectors, and does
not work with Entries without a valid delta operation code. See "Deltas
and compute changes" in IBM Tivoli Directory Integrator V7.1.1 Users Guide.
Delta Operation Codes
These are special values assigned to Entries, Attributes and their values to reflect change
information detected in some data source. An Entry that has delta
codes assigned is called a Delta Entry, and
these are only returned by a limited set of components: Change
Detection Connectors, the Delta Engine and
the DSML and LDIF Parsers6. Delta Operation Codes can be queried
and used in Branch Conditions or your own
JavaScript code, and are used by Delta mode to
apply all types of changes to target systems as efficiently as possible.
Apache Derby (previously known as Cloudscape) is a small footprint relational database
implemented entirely in Java. Derby v10.5.3 is shipped as the default System Store for TDI.
DES
Short for Data Encryption Standard. DES is a widely-used method
of data encryption using a secret key. DES is superseded by the Advanced
Encryption Standard (AES).
Distinguished Name (DN)
An LDAP term that refers to the fully qualified name of an object
in the directory, representing the path from
the root to this node in the directory information tree (DIT). It
is usually written in a format known as the User Friendly Name (UFN).
The dn is a sequence of relative distinguished
names (RDNs) separated by a single comma ( , ).
ECB
Short for Electronic Code Book. Electronic Code Book (ECB) is
a method of operation for a block cipher. In ECB, each possible block
of plaintext has a defined corresponding ciphertext value and the
other way around. The same plaintext value always results in the same
ciphertext value. Electronic Code Book is used when a volume of plaintext
is separated into several blocks of data, each of which is then encrypted
independently of other blocks. Moreover, Electronic Code Book can
create a separate encryption key for each block type.
Easy ETL
‘ETL' stands for Extract, Transform and Load, and boils
down to getting data from one place, changing it as needed and then
putting it someplace else. ‘EasyETL' is a feature of Tivoli Directory
Integrator that lets you do this quickly and interactively in just
a few keystrokes.
Entry
An Entry is a TDI object used to carry data, and forms
the core of the TDI Entry model. The Entry object can be thought of
as a "Java bucket" that can hold any number of Attributes, which in turn carry the actual
data values read from, or written to connected systems. Each Entry
corresponds to a single row in a database table/view, a record from
a file or an entry in a directory (or similar unit of data), and there
are a number of named Entry objects available in the system. The Work Entry and conn
Entry are the most commonly used ones, but there is also a current Entry available in some Connector
modes, an error Entry that contains the
details of the last exception that occurred, and an Operation
Entry (Op-Entry) for accessing details of an AL operation.
Epilog
A set of Hooks that, if enabled, are
run during the AssemblyLine Shutdown phase.
Note that the shutdown of components occurs between the two AL Epilog
Hooks, which means that the Epilog Hooks of these components are all
completed before the AssemblyLine Epilog -
After Close Hook is called.
Error Entry
An Entry object that is created by an AssemblyLine during initialization,
and contains Attributes like "status", "connectorname"
(applies for all types of components) and "exception"7. See also Error
Handling.
Error Handling
Error Handling in TDI is based on the concept of exceptions. Exceptions are a feature of a programming
language, like Java, C and C++, that lets you build error handling
like a wall around your program. It also lets you fortify smaller
parts within any wall, so you can add specific handling where necessary.
TDI uses the power of exception handling so that you can design the
error handling in your solution the same way.
First you have the AssemblyLine's On Failure Hook which is called if the AL stops due to
an unhandled exception8
. This
is the outer line of defense9. The next level is a component, given that it provides
Error Hooks. Connectors actually provide
two levels of handling: the mode-specific Error Hook, as well
as the Default On Error (same goes for Success Hooks as well).
Finally, in your JavaScript code you can do exception handling
yourself. Use the try-catch statement, for example:
Enterprise Resource Planning, usually indicates a software suite
of programs that aims to manage enterprise resources, usually after
heavy customization by the software vendor.
A type of Property Store that
uses a flat file for storing configuration settings (like passwords
and other component parameter settings) outside the Config itself.
Feeds
This is the first section of an AssemblyLine and can only hold Iterator
and Server mode Connectors. The Feeds section is where the Work Entry is created from data retrieved
from a connected system or client. The Feeds section is like a built-in Loop that drives the Flow section
components list, once for each Entry read.
FIPS
Short for Federal Information Processing Standard.
TDI uses FIPS 140-2, a standard that defines requirements for
cryptographic modules that handle sensitive information.
Flow
This is the second (and usually the main) section
of an AssemblyLine and holds a list
of components; any type, except Connectors in Server mode. The Flow section receives
a Work Entry from the currently active Feeds Connector and passes it from component to
component for processing.
Function component (FC)
One of the component types available in TDI to build AssemblyLines. Functions are used to abstract
away the technical details of a specific service or method call. Typical
examples are the AssemblyLine FC used to run ALs and the Java Class
FC that lets you browse jar files and call class methods. Unlike Connectors,
FCs do not have mode settings.
Global Prolog
This is a Script component
that is defined in the "Scripts" library folder of the Config Browser, and which is configured
to be executed when an AssemblyLinestarts up. The simplest way to do this is to
select which Scripts to use with the "Include Addition Prologs -
Select" button. Note that Global Prologs are executed before the
AssemblyLine's own PrologHooks.
This is a waypoint in the built-in
workflow of the AssemblyLine, or of
a Connector or Function,
where you can customize behavior by writing JavaScript. In a Connector,
the Hooks available are also dependent on the mode setting.
HTML
HyperText Markup Language.
a more or less standardized way of describing and formatting a page
of text on the WordWide Web. Different manufacturers' interpretations
of the standard are often the cause of Web Browser's different
renderings of a given page.
HTTP
HyperText Transfer Protocol. The protocol
in use for the WorldWide Web, another protocol on top of TCP.
Initial Work Entry (IWE)
This is an Entry that is passed into
an AssemblyLine by the process that
called it (for example, an AssemblyLine Connector or Function, or
by using script calls like main.startAL(). Note that the
presence of an IWE causes any Iterators in
the Flow section to skip on this cycle.
Integration Framework (IF)
The Integration Framework (IF) is a set of applications that
facilitates integration between the system and framework applications.
IF is a part of base Tivoli Process Automation Engine and is available
in all major products that use Tpae. For example, Maximo Asset Management
(MAM), Tivoli Service Request Manager (TSRM), and so on.
The IF
is an integral part of Tpae. It is an XML based integration framework
and supports both XML and delimited files. IF allows synchronization
and integration of data between an external system and applications
that use the Tpae common architecture and run under an application
server. Using IF, you can exchange data synchronously and asynchronously,
using a variety of communication protocols.
Iterator
A Connectormode10 that
first creates a data result set (for example, by issuing a SQL SELECT
statement, a LDAP search operation, opening a file for input, and
so forth) and then returns one Entry at a time
to the AL for processing. Iterators can reside in the AssemblyLine Feeds section where they drive data to Flow components. If they are placed in the Flow
section then they still retrieve the next Entry from their result
set for each AL cycle, but they do not drive AL cycling in this case.
Java Virtual Machine or JVM
IBM Tivoli Directory
Integrator runs inside what is known as a Java Virtual
Machine. It has its own memory management and is in most respects
a computer within the computer.
Java API documentation (Javadocs)
A set of low-level API documentation, embedded in the product's
source code and extracted by means of a special process during the
product's build. In IBM Tivoli Directory
Integrator the Java API documentation can be viewed
by selecting the Help -> Welcome screen, JavaDocs link from the Configuration Editor.
You
can download and unzip Javadocs for any package into the docs/api directory of your installation to
get the complete documentation for java classes that are not documented
in TDI Javadocs.
JavaScript
The language you can use to fine tune the behavior of your AssemblyLines. Tivoli Directory
Integrator 7.1.1 uses the IBM
JSEngine.
JMS
Java Messaging Service. A standard protocol used to perform guaranteed
delivery of messages between two systems.
Link Criteria represent the matching rules defined for a Connector
in Update, Lookup or Delete, and they must result in a single entry
match in the connected system; otherwise either an Not Found or Multiple
Found exception occurs. Note that a Lookup Connector tied to a Loop is an efficient way of dealing with lookup
operations where no match (or multiple matches) are expected.
LDAP
Lightweight Directory Access Protocol. An easier
way of accessing (using TCP) a name services
directory than the older Directory Access Protocol. Used in for example
querying the IBM Directory Server.
Memory Queue (MemQ)
The MemQ is a TDI object that lets you pass any type of Java
object (like Entries) between AssemblyLines running on the same Server.
This feature is usually accessed through the MemQueue Connector (or
the deprecated Memory Queue FC). See also System
Queue for more on how to pass data between running ALs.
Message Prefix
All error messages and Info messages in IBM Tivoli Directory
Integrator are prefixed
with a unique Message Prefix. The prefix assigned to TDI is CTGDI.
Mode
Connectors have a mode setting that determines how this component
participates in AssemblyLine processing.
In addition to the custom modes (implemented through Adapters) there is a set of standard modes:
Iterator
AddOnly
Lookup
Update
Delete
CallReply
Server
Delta
Dependent on the features provided by the underlying system or
functionality built into the Connector, the list of modes supported
by the different Connectors varies. See "Connectors" in IBM Tivoli Directory Integrator V7.1.1 Reference Guide for more information about
Connector modes.
Null Value Behavior
This term refers to how TDI deals with Attribute mappings that result in "null"
values. Null Behavior configuration can be done for a Server by
setting Global/Solution properties.
These Server-level settings can be overridden for an Attribute
Map by pressing the More button in the button
bar at the top of the map and selecting Null
behavior; or for a specific Attribute via the Null
behavior context menu item in the Assignment column for its mapping.
TDI
lets you both configure what constitutes a "null" value situation
(for example, missing values, empty string or a specific value) as
well as how to handle this.
Op-Entry (Operation Entry)
An entry which contains information about the Operation for
the currently executing AL. An Op-Entry persists its value over successive
cycles for the same AL run and is available for scripting via the task.getOpEntry() method.
Parameter Substitution
A way of specifying patterns based on Java MessageFormat
class - for simpler/quicker editing. Available in various places
in Tivoli Directory
Integrator.
Parser
TDI components used to interpret or generate the structure for
a byte stream. Parsers are used by attaching them to a Connector that reads/writes byte streams,
or to a Function component like the Parser FC
which is used to parse data in the Work Entry.
Plaintext is unencrypted text. In cryptography, plaintext is
ordinary readable text before being encrypted into ciphertext or after
being deciphered.
Prolog
A set of Hooks that, if enabled, are
run during the Assemblyline Initialization.
You can also define Global Prologs: Script Components that are run before
either of the AL Prolog Hooks. Note that the "At Startup"
initialization of components occurs between the two AL Prolog Hooks,
which means that the Prolog Hooks of these components are all completed
before the AssemblyLine Prolog -
after the Initialization Hook is called. See also Epilog.
Properties
This term refers to values maintained in a Property Store and used to configure AssemblyLine
and Component settings at run-time. 11.
Property Store
This is a feature for reading and writing all types
of properties. This includes:
Java-Properties, which are settings of the JVM.
Global-Properties, Tivoli Directory
Integrator Server settings
that are kept in a file called global.properties in
the "etc" folder of your installation directory.
Solution-Properties, which typically override Global-Properties
and are found in a file in your solution directory called solution.properties.
System-Properties, for keeping custom property settings
(uses the System Store).
In addition, you can define your own Property Stores using a Connector. The Property Store feature also
lets you designate one of your Property-Stores as a Password Store, giving you automatic protection
of sensitive configuration details.
Raw Connector
Deprecated term; this is now called the Connector Interface and refers to the part
of an AL Connector that contains the logic needed to access a specific
API, protocol or transport.
Relative Distinguished Name (RDN®)
In LDAP terms the name of an object that is unique relative
to its siblings. RDNs have the form attribute name=attribute value. For example,
Remote Method Invocation; a way of making procedure or method
calls on a remote system using a network communication channel. In Tivoli Directory
Integrator,
used by the Remote API functionality.
RSA
RSA is an internet encryption and authentication system that
uses an algorithm developed by Ron Rivest, Adi Shamir, and Leonard Adleman.
The encryption system is owned by RSA Security. RSA is an algorithm
for public-key cryptography, suitable both for signing and for encryption.
Sandbox
The feature of the IBM Tivoli Directory
Integrator that enables you to record AssemblyLine
operations for later playback without any of the data sources being
present. See "Sandbox" in IBM Tivoli Directory Integrator V7.1.1 Users Guide.
SAP
Used to stand for "Systeme, Anwendungen, Produkte" (Systems,
Applications, Products) but today, the abbreviation just stands for
itself. A large, German provider of an integrated suite of ERP applications. Mostly known for its R/3 distributed ERP software suite, but also known for its mainframe-based
R/2 software.
Script Component (SC)
A Script is a block of JavaScript that is stored as a single
component in TDI. In addition to appearing in the Scripts library
folder of the Config Browser12,
Scripts can be dropped anywhere in the Flow section of an AssemblyLine.
Script Engine
The component that interprets the Java scripts
written inside a TDI Config. The IBM jsEngine is used by Tivoli Directory
Integrator 7.1.1,
which replaces Rhino from the previous releases.
Scheduler
Use the TDI Scheduler to automatically start an AssemblyLine
or Sequence specified in the configuration information, at a predefined
times.
Schema
The word "Schema", unfortunately, can mean
different although related things, depending on context. In a relational
database context, a schema is the collection of tables and objects
a user has defined and owns (including content); and each table in
a schema is described by a Data Definition. In an LDAP context, the
Schema is the actual layout of the LDAP database, with its attributes
and objects.
In addition, Connectors and Functions can have Input and Output schemas that
represent the data model discovered in a connected system. Furthermore,
an AssemblyLine Operation can have an Input
and Output schema as well.
In a product like TDI, which with
equal ease can access both relational databases as well as LDAP databases,
the word Schema can therefore mean different things, depending on
where it is used.
Script Connector
A Script Connector is a Connector where you write
the Interface functionality
yourself: It is empty in the sense that, in contrast to an already-existing
Connector, the Script Connector does not have the base methods getNextEntry(), findEntry() and
so forth implemented. Not to be confused with the Script Component.
Server (ibmdisrv or ibmdisrv.bat)
This is the part of the TDI product that is used to
deploy and run Configs.
Server (mode)
This is a Connectormode used for providing a request/response service
(like an HTTP server). This mode also provides an AssemblyLine
Pool feature to enable support for more connections/traffic.
Solution Directory
The directory in which you store your Config files, Derby databases,
properties files, keystores and so forth. The solution directory is
selected when you install Tivoli Directory
Integrator, and the filepaths used in your solution
can be relative to this folder. The solution directory can be explicitly
specified when you start the Configuration Editor or Server using the -s commandline option.
Note that the counterpart of global.properties is
kept in this folder and called solution.properties--unless,
of course, your solution directory is the same as your installation
directory.
Solution View
This term is used in the context of AMC to
describe how a particular Config appears in
the management screens of AMC. A Solution View is a selection of the AssemblyLines and properties
that are to be visible onscreen (user/role based), providing solution-oriented
Config administration and management. Config Views can be combined
to define a Monitoring View in AMC.
SSL
Secure Socket Layer; a protocol used in Internet communications
to encrypt data such that if someone where to eavesdrop on the packets
going back and forth he would not be able to see what the packets
contain. The protocol was invented by Netscape; and you can see if
a Web page uses the SSL protocol to talk to the Web server if it has
the 'https//' prefix instead of 'http'. SSL is by
no means limited to Web pages; in fact, Tivoli Directory
Integrator uses it (if configured
that way) to talk between different Tivoli Directory
Integrator Servers and AssemblyLines
if network access is called for.
State
Defines the level of participation for
an AssemblyLine component. It can be
in either Enabled State,
which means it participates in AL processing, or Disabled in
which case the component is not used in any way.
Connectors and Functions can
be set to a third State: Passive. Passive
State causes the component to be initialized and closed during the Assemblyline Initialization and Shutdown
phases, but never used during AL cycling. However, you can drive
these components manually through script calls.
System Queue
A built-in queue infrastructure to facilitate the
guaranteed delivery of messages between AssemblyLines, even running
on different TDI Servers. By default, the System Queue uses Apache
ActiveMQ, but can be configured to use the bundled MQe (WebSphere
MQ Everyplace) or any other JMS-compliant messaging systems. TDI provides
a SystemQueue Connector to help you use this feature.
Called the Persistent Object Store, or POS in older
TDI versions, the System Store is a relational database used to store
state information, like Delta Tables (used by the Delta
Engine) or Iterator state for Change Detection
Connectors. It also provides the User Property Store which is
accessible through the system.setPersistentObject(), system.getPersistentObject() and system.deletePersistentObject() methods.
In the current implementation, the Derby product (previously known
as CloudScape) is used. See http://db.apache.org/derby for more details.
Task
By convention, all threads (AssemblyLines, EventHandlers
and so forth) are referred to as tasks and
are accessible from script code via the pre-registered task variable.
Task Call Block
A Java structure used to pass parameters to and
from AssemblyLines. Often referred to by its abbreviation: TCB.
TCP
Transmission Control Protocol, a level 4 (transmission integrity) protocol
usually seen in combination with its layer 3 (routing) Internet Protocol
as in TCP/IP. A stack of protocols designed to achieve a standardized
way of communicating across a network, be it local (as in on the premises)
or over long distances. Originally invented and specified by DARPA,
the (US) Defense Advanced Research Projects Agency. Successor to ARPANET,
which was a network of a (small) number of universities and the US
Department of Defense, the civil side of which was managed by the
Stanford Research Institute (SRI). TCP is related to UDP.
TDI
Unofficial monicker for this product, IBM Tivoli Directory Integrator.
Tivoli Directory Integrator Dashboard
Tivoli Directory Integrator Dashboard can be used to install,
configure, deploy, and monitor data integration solutions. You can
also use Dashboard to create and configure EasyETL solutions (ETL
stands for Extract, Transform, and Load).
TMS XML
Tivoli Message Standard XML. A Tivoli standardized way of formatting
messages. Each message is prefixed by a unique TMS code, which can
be looked up in the Message Guide for explanation and user response.
If the code ends in "E" - it indicates an Error, "W" indicates a warning
and "I" indicates an Information message. All Tivoli messages issued
by TDI start with this product's unique identifier, which is "CTGDI".
Tivoli Process Automation Engine (Tpae)
The Tivoli Process Automation Engine (Tpae), also known as Base
Services, is a collection of core Java classes and is used as a base
to build Java applications. The Integration Framework, a Tpae feature,
contains standard integration objects (Object Structures and interfaces)
and outbound/inbound objects.
Tombstone
A record or trace showing that an AssemblyLine, an EventHandler
or Config has terminated. Configured through the Tombstone Manager
in the CE. The trace includes a timestamp and the AL exit status.
The Tombstone Manager creates a tombstone for each AssemblyLine as
it terminates.
TWiki
TWiki as a piece of software is a flexible and easy to use enterprise
collaboration system. Its structure is similar to the WikiPedia, except that is not linked into that. It is
rather meant as an independent community resource for a group of people
with common interest. There is one for IBM Tivoli Directory
Integrator as well, at http://www.tdi-users.org.
Note:
The
TWiki site is a volunteer effort, and is not an official Tivoli support
forum. If you need immediate assistance, contact your local Tivoli
support organization.
Update
One of the standard Connector modes. Update mode causes
the Connector to first perform a lookup for the entry you want to
update13, and if found it modifies this
entry. If no match is found then a new entry is added instead. See
also Computed Changes.
UDP
User Datagram Protocol. A protocol used on top of the
Internet Protocol (IP) which, unlike TCP does not guarantee that the packet of data sent with
it reaches the other end. Also see TCP.
URL
Unified Resource Locator. A way of defining where a resource
is, be it a fileserver or a HTML page on the WordlWide Web.
A Web-based world-wide encyclopedia, where (registered)
users can add articles or pictures, edit them, browse them, search
for applicable content, and so forth. For Tivoli Directory
Integrator there is
one that similar in functionality but not linked into the WikiPedia,
a "TWiki" at http://www.tdi-users.org.
The TWiki is a groupware product.
Work Entry
An Entry object that is used by the AssemblyLine to carry data from component
to component14. This object can be accessed in script code
via the pre-defined variable work. The Work Entry
is typically built by a Server or Iterator mode Connector in the Feeds section
before being passed to the AL Flow section.
You can also have an Initial Work Entry (IWE)
passed in if the AL was called from another process; or you can create
it in the Prolog by using task.setWork():
init_work = system.newEntry(); // Create a new Entry object
init_work.setAttribute("uid", "cchateauvieux"); // populate it
task.setWork(init_work); // make it known as "work" to the Connectors
Note
that an Iterator in the Feeds section does not return any data if
the Work Entry is already defined at this point in the AL. So if an
IWE is passed into an AssemblyLine, any Iterators in the Feeds section
simply pass control to the next component in line. It is also the
reason why multiple Iterators in the Feeds section run sequentially,
one starting up when the previous one reaches End-of-Data.
XML
The Xtensible Markup Language. A general purpose markup language (See
also HTML) for creating special-purpose
markup languages, and also capable of describing many types of data IBM Tivoli Directory
Integrator uses XML to store Config files.
Functions are similar to Connectors in
that they are divided into two parts: the Function Interface and the
AssemblyLine Function. Unlike Connectors, Functions have no mode setting.
The "exception"
Attribute holds the actual Java exception object, in the case of an
error - in which case the "status" Attribute would also
be changed from a value of "ok" to "error" and "message"
would contain the error text.
An "unhandled" error is
one that is caught in an enabled Error Hook
(no actual script code is necessary). If you wish to escalate an error
to the next level of error handling logic, you need to re-throw the
exception:
If you want to share this logic (or
that in any Hook) between AssemblyLines, implement it as a function
stored inScript and then
include them as a Global Prolog for
the AL.
Note that an Entry object can also hold properties (in
addition to Attribute and delta operation
codes) and these can be accessed using the getProperty() and setProperty() methods
of the Entry class.
In
order to be used as Global Prologs (which
are executed at the very start of Assemblyline
Initialization) the Script must be in the Scripts library
folder and selected for inclusion in the Config tab of an AssemblyLine.
Data is read into both the conn and current Entry
objects. After the Output Map, the contents of conn are
now the Attributes to be written. The original entry data is still
available in current.
Note that the "Work Entry" window shown in
the Configuration Editor is actually a list of
all Attributes that appear in Input Maps or
in the Loop Attribute field of Loops in
the AssemblyLine.