IBM Tivoli Directory Integrator ® Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman [email protected] 2005.04.22 IBM Tivoli Directory Integrator Kernel/Component architecture Kernel provides a RID framework with: - automated behavior - arbitrary depth of customization - housekeeping: > log-files, tracing > error handling > startup parameters > management interface/API ... Components create level playing field by abstracting away the details of: - transports - APIs - protocols - data/file formats 2 IBM Tivoli Directory Integrator TDI Components Connector Parser Script Attribute Map Function supports a specific system, service or transport allowing you to use these sources and/or targets for a data flow (AssemblyLine). used to interpret the structure of a byte stream, embed structure into a byte stream, or both. JavaScript code block that can be dropped into AssemblyLines to provide custom data handling and behavior. defines the data relationships and transformations. AL wrapper for a specific function callout. Examples include invoking a web service, running a remote AssemblyLine, and passing data through a free-standing Parser (as opposed to a Parser that is attached to a Connector). 3 IBM Tivoli Directory Integrator Connector Data access to a specific system/service Clicks into an AssemblyLine Mode: Feeds: Iterator, Server Flow: Lookup, Update, Delete, Delta, Call/Reply Byte stream types requires a Parser Interchangeable Connector Interface e.g. JDBC, LDAP, JMS, Notes, HTTP... Can be scripted (Script Connector) Supports inheritance (e.g. "Connectors" Library) 4 IBM Tivoli Directory Integrator Parser Interprets or creates byte stream structure Clicks into an AssemblyLine via a Function Attaches to some Connectors (e.g. FileSystem) Interchangeable Parser Interface e.g. XML/HTML/DSML, LDIF, CSV, ... Can be scripted (Script Parser) Supports inheritance (e.g. "Parsers" Library) 5 IBM Tivoli Directory Integrator Function RPC call-out to: Another AssemblyLine (local or remote Server) A component (e.g. Parser, MemQ, ...) A service or API (web services, application, ...) Clicks into an AssemblyLine Interchangeable Function Interface ParserFC, AssemblyLineFC, z/OS, WS, ... Can be scripted (Script Function) Supports inheritance (e.g. "Functions" Library) 6 IBM Tivoli Directory Integrator Script Snippet/block of JavaScript code Powerful debugging tool Clicks into an AssemblyLine Supports inheritance (e.g. "Scripts" Library) 7 IBM Tivoli Directory Integrator Attribute Map Data transformation "in-flight" maps from work Attributes to work Attributes in contrast to Connector Input/Output Maps which map between work and conn Simple or Advanced mapping Clicks into an AssemblyLine Simple or Advanced (scripted) Mapping no conn or current available; just work Supports inheritance (e.g. "AttributeMaps" Library) 8 IBM Tivoli Directory Integrator TDI AL Constructs Branch Loop Condition-based Connector-based (Iterator/Lookup mode) - one cycle per entry founded Attribute value-based - once cycle per attribute value 9 IBM Tivoli Directory Integrator Branches Conditional branching of AL flow Simple Condition: Attribute compared to literal value Scripted Condition: ret.value = true or false Clicks into an AssemblyLine Can be nested with other Branches/Loops No inheritance 10 IBM Tivoli Directory Integrator Loop Loop through set of components/contructs for each Entry returned by Connector - Specified in Loop Config as Iterator or Lookup Mode or, for each value of a multi-valued Attribute or, as long as Condition(s) evaluate to true Clicks into an AssemblyLine Can be nested with other Branches/Loops No inheritance 11 IBM Tivoli Directory Integrator Exercise 01 & 02: CSV to XML XML Document FileSystem Connector FileSystem Connector w/ CSV Parser w/ XML Parser CSV File 12 IBM Tivoli Directory Integrator Exercise 01 & 02: CSV to XML XML Document FileSystem Connector w/ CSV Parser Attribute Map FileSystem Connector w/ XML Parser CSV File 13 IBM Tivoli Directory Integrator Exercise 03 Correct dn Employees need to go into one tree: <rdn>,ou=Employees,<base suffix> Contractors must have a different dn: <rdn>,ou=Contractors,<base suffix> 14
© Copyright 2026 Paperzz