14
® IBM Tivoli Directory Integrator Tivoli Directory Tivoli Directory Integrator Integrator Exercise 3 – Branches and Attribute Exercise 3 – Branches and Attribute Map Components Map Components Eddie Hartman Eddie Hartman [email protected] [email protected] 2005.04.22 2005.04.22 ®

® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

Embed Size (px)

DESCRIPTION

IBM Tivoli Directory Integrator 3 TDI Components Connector supports a specific system, service or transport allowing you to use these sources and/or targets for a data flow (AssemblyLine). Parser used to interpret the structure of a byte stream, embed structure into a byte stream, or both. Script JavaScript code block that can be dropped into AssemblyLines to provide custom data handling and behavior. Attribute Map defines the data relationships and transformations. Function 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).

Citation preview

Page 1: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

®

IBM Tivoli Directory Integrator

Tivoli Directory IntegratorTivoli Directory Integrator

Exercise 3 – Branches and Attribute Map ComponentsExercise 3 – Branches and Attribute Map Components

Eddie HartmanEddie [email protected]@no.ibm.com

2005.04.222005.04.22

®

Page 2: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

2

KernelKernel provides a RID framework with: provides a RID framework with: - automated behavior - automated behavior - arbitrary depth of customization - arbitrary depth of customization - housekeeping: - housekeeping:

> log-files, tracing > log-files, tracing > error handling > error handling > startup parameters > startup parameters > management interface/API > management interface/API

......ComponentsComponents create create level playing field level playing field by by abstracting away the details of:abstracting away the details of: - transports - transports - APIs - APIs - protocols - protocols - data/file formats - data/file formats

Kernel/Component architectureKernel/Component architecture

Page 3: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

3

TDI ComponentsTDI ComponentsConnectorConnector supports a specific system, service or transport supports a specific system, service or transport

allowing you to use these allowing you to use these sourcessources and/or and/or targetstargets for a data flow (AssemblyLine).for a data flow (AssemblyLine).

ParserParser used to interpret the structure of a byte stream, used to interpret the structure of a byte stream, embed structure into a byte stream, or both.embed structure into a byte stream, or both.

ScriptScript JavaScript code block that can be dropped into JavaScript code block that can be dropped into AssemblyLines to provide custom data handling AssemblyLines to provide custom data handling and behavior.and behavior.

Attribute MapAttribute Map defines the data relationships and defines the data relationships and transformations.transformations.

FunctionFunction AL wrapper for a specific function callout. AL wrapper for a specific function callout. Examples include invoking a web service, Examples include invoking a web service, running a remote AssemblyLine, and passing running a remote AssemblyLine, and passing data through a data through a free-standing free-standing Parser (as opposed Parser (as opposed to a Parser that is attached to a Connector).to a Parser that is attached to a Connector).

Page 4: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

4

ConnectorConnectorData access to a specific system/serviceData access to a specific system/serviceClicks into an AssemblyLineClicks into an AssemblyLineMode: Mode: FeedsFeeds: Iterator, Server: Iterator, Server FlowFlow: Lookup, Update, Delete, Delta, Call/Reply: Lookup, Update, Delete, Delta, Call/Reply

Byte stream types requires a ParserByte stream types requires a ParserInterchangeable Connector InterfaceInterchangeable Connector Interface

e.g. JDBC, LDAP, JMS, Notes, HTTP...e.g. JDBC, LDAP, JMS, Notes, HTTP...Can be scripted (Script Connector)Can be scripted (Script Connector)

Supports inheritance Supports inheritance (e.g. "Connectors" Library)(e.g. "Connectors" Library)

Page 5: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

5

ParserParserInterprets or creates byte stream structureInterprets or creates byte stream structureClicks into an AssemblyLine via a FunctionClicks into an AssemblyLine via a FunctionAttaches to some Connectors Attaches to some Connectors (e.g. FileSystem)(e.g. FileSystem)

Interchangeable Parser Interface Interchangeable Parser Interface e.g. XML/HTML/DSML, LDIF, CSV, ...e.g. XML/HTML/DSML, LDIF, CSV, ...Can be scripted (Script Parser)Can be scripted (Script Parser)

Supports inheritance Supports inheritance (e.g. "Parsers" Library)(e.g. "Parsers" Library)

Page 6: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

6

FunctionFunctionRPC call-out to:RPC call-out to:

Another AssemblyLine (local or remote Server)Another AssemblyLine (local or remote Server)A component (e.g. Parser, MemQ, ...)A component (e.g. Parser, MemQ, ...)A service or API (web services, application, ...)A service or API (web services, application, ...)

Clicks into an AssemblyLineClicks into an AssemblyLineInterchangeable Function Interface Interchangeable Function Interface

ParserFC, AssemblyLineFC, z/OS, WS, ...ParserFC, AssemblyLineFC, z/OS, WS, ...Can be scripted (Script Function)Can be scripted (Script Function)

Supports inheritance Supports inheritance (e.g. "Functions" Library)(e.g. "Functions" Library)

Page 7: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

7

ScriptScriptSnippet/block of JavaScript codeSnippet/block of JavaScript code

Powerful debugging toolPowerful debugging toolClicks into an AssemblyLineClicks into an AssemblyLineSupports inheritance Supports inheritance (e.g. "Scripts" Library)(e.g. "Scripts" Library)

Page 8: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

8

Attribute MapAttribute MapData transformation "in-flight"Data transformation "in-flight"

maps from maps from workwork Attributes to Attributes to workwork Attributes Attributesin contrast to Connector Input/Output Mapsin contrast to Connector Input/Output Mapswhich map between which map between workwork and and connconn

Simple or Advanced mappingSimple or Advanced mappingClicks into an AssemblyLineClicks into an AssemblyLineSimple or Advanced (scripted) MappingSimple or Advanced (scripted) Mapping

no no connconn or or currentcurrent available; just available; just workworkSupports inheritance Supports inheritance (e.g. "AttributeMaps" Library)(e.g. "AttributeMaps" Library)

Page 9: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

9

TDI AL ConstructsTDI AL ConstructsBranchBranch

LoopLoopCondition-basedCondition-basedConnector-based Connector-based (Iterator/Lookup mode)(Iterator/Lookup mode)- one cycle per entry founded- one cycle per entry foundedAttribute value-basedAttribute value-based- - once cycle per attribute valueonce cycle per attribute value

Page 10: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

10

BranchesBranchesConditional branching of AL flowConditional branching of AL flow

Simple Condition: Simple Condition: Attribute compared to literal valueAttribute compared to literal value Scripted Condition: Scripted Condition: ret.value = true or falseret.value = true or false

Clicks into an AssemblyLineClicks into an AssemblyLineCan be nested with other Branches/LoopsCan be nested with other Branches/LoopsNo inheritanceNo inheritance

Page 11: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

11

LoopLoopLoop through set of components/contructsLoop through set of components/contructs

for each Entry returned by Connectorfor each Entry returned by Connector -- Specified in Loop Config as Iterator or Lookup Mode Specified in Loop Config as Iterator or Lookup Mode

or, for each value of a multi-valued Attributeor, for each value of a multi-valued Attributeor, as long as Condition(s) evaluate to or, as long as Condition(s) evaluate to truetrue

Clicks into an AssemblyLineClicks into an AssemblyLineCan be nested with other Branches/LoopsCan be nested with other Branches/LoopsNo inheritanceNo inheritance

Page 12: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

12

Exercise 01 & 02: CSV to XMLExercise 01 & 02: CSV to XML

CSVFile

FileSystem Connector

w/ CSV Parser

XMLDocument

FileSystem Connector

w/ XML Parser

Page 13: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

13

Exercise 01 & 02: CSV to XMLExercise 01 & 02: CSV to XML

CSVFile

FileSystem Connector

w/ CSV Parser

XMLDocument

FileSystem Connector

w/ XML Parser

Attribute Map

Page 14: ® IBM Tivoli Directory Integrator Tivoli Directory Integrator Exercise 3 – Branches and Attribute Map Components Eddie Hartman

IBM Tivoli Directory Integrator

14

Exercise 03 Correct dnExercise 03 Correct dnEmployees need to go into one tree:Employees need to go into one tree:

<rdn>,ou=Employees,<base suffix> <rdn>,ou=Employees,<base suffix>

Contractors must have a different dn:Contractors must have a different dn:

<rdn>,ou=Contractors,<base suffix> <rdn>,ou=Contractors,<base suffix>