61
8 December 2008 © 2003 IBM Corporation Closing the Gap between products and where they need to go Introduction to Creating DLAs ”The issue is not about how much is addressed with out-of-the-box integrations, but how much time is spent on the rest - IBM Product Manager with Tivoli Directory Integrator (TDI), a multidirectional integration service

Introduction to Creating DLAs - TDI · PDF fileIntroduction to Creating DLAs ... §You can get the updated slides here: ... §TDI is a lightweight Java based application

Embed Size (px)

Citation preview

8 December 2008© 2003 IBM Corporation

Closing the Gapbetween products

and where they need to go

Introduction to Creating DLAs

”The issue is not about how much is addressed with out-of-the-box integrations,but how much time is spent on the rest”

- IBM Product Manager

with Tivoli Directory Integrator (TDI),a multidirectional integration service

© 2008 IBM Corporation2 8-Dec-08

Acknowledgement: the Tivoli Enablement Team

§ Mel, Mads, Francis and the gang made this event possible. Thanks!

§ You can get the updated slides here:http://dl.getdropbox.com/u/375185/TADDM_IDML/TADDM_IDML/Introduction%20To%20Making%20DLAs%20for%20ADDM%20with%20TDI%20-%20Dec1-2.pdf

§ ...the step-by-step guide here:http://dl.getdropbox.com/u/375185/TADDM_IDML/Getting%20Started%20creating%20DLAs%20for%20TADDM_CCMDB_v1.4.pdf...and the finished Config here:http://dl.getdropbox.com/u/375185/TADDM_IDML/myDLA.xml

§ The recordings of these three-hour sessions is here:Day 1 – https://de202.centra.com:443/GP/main/0000015925c00000011d9bc6fc86acbdDay 2 – https://de202.centra.com:443/GP/main/0000015925c00000011d9bc6fc86accfThe password for both playbacks is "tiv0li" ("tivoli" with a zero instead of 'o')

© 2008 IBM Corporation3 8-Dec-08

Agenda§ Short introductions: you, us and tdi§ Setting up your TDI environment§ TDI 101 – Hello, World (and Hello, Debugger)§ My First DLA

– Reading Input Data– Creating an IdML Discovery Book– Adding ConfigurationItems (CIs)– Validating your work– Adding Relationships between CIs (like "InstalledOn")– Transferring your output to the TADDM Server for import*– Importing the data into TADDM*

* These points will be covered in theory, and may be carried out by those with adequate connectivity to aTADDM server.

© 2008 IBM Corporation4 8-Dec-08

Agenda - continued

§ If all goes well and we get through the agenda early, we canlook at real-world scenarios attendees may be facing.

Bring along text files (any format) with data that you want tolook at. You can even use this yourself while following theonline course.

© 2008 IBM Corporation5 8-Dec-08

Agenda§ Short introductions: you, us and tdi§ Setting up your TDI environment§ TDI 101 – Hello, World (and Hello, Debugger)§ My First DLA

– Reading Input Data– Creating an IdML Discovery Book– Adding ConfigurationItems (CIs)– Validating your work– Adding Relationships between CIs (like "InstalledOn")– Transferring your output to the TADDM Server for import*– Importing the data into TADDM*

* These points will be covered in theory, and may be carried out by those with adequate connectivity to aTADDM server.

© 2008 IBM Corporation6 8-Dec-08

TDI is a multi-purpose, multi-directional, integration,synchronization, and transformation service

§ A unique approach to data integration that equally well synchronizes and transforms databetween widely different systems (such as files, databases, directories, message queues,web services, and many more), as responding to events (such as email, HTTP, webservices, SNMP, TCP, JMX, and more)

§ The combination of the above capabilities allows TDI to be applied to a broad set of usagescenarios

§ TDI integrates practically anything, and - despite its name - is not in any way limited todirectories. It’s a truly generic data integration tool that’s suitable for a wide range ofproblems that usually require custom coding and significantly more resources to addresswith traditional integration tools

§ TDI is a lightweight Java based application (no app server necessary) that consists of alightweight server run-time environment and a graphical tool to build, test and maintainthe rules that the server executes.

§ Supported platforms: Windows, Linux, AIX, Sun, HP, i5/OS and zOS.

TDI TDI

Delta service detects changes inoriginating source

© 2008 IBM Corporation7 8-Dec-08

AssembyLines

Axis Easy Web Service Server ConnectorAxis Easy Web Service Invoke

Axis Java-to-SoapInvoke Soap Web Service

Axis Soap-to-Java

LDAP ConnectorLDAP Server Connector

Tivoli Access Manager ConnectorWindows Users and Groups Connector

Active Directory Changelog Connector v2IBM Directory Server Changelog Connector

Netscape/iPlanet Changelog ConnectorzOS LDAP Changelog Connector

JDBC ConnectorProperties Connector

SystemStore ConnectorRDBMS Changelog Connector

AssemblyLine ConnectorServer Notifications Connector

AssemblyLine Function Component

Domino Change Detection ConnectorDomino Users Connector

Lotus Notes Connector

Exchange Changelog ConnectorMailbox Connector

SendEMail Function Component

TIM DSMLv2 ConnectorDSMLv2 SOAP Connector

DSML v2 SOAP Server ConnectorGeneric JNDI Connector

ITIM Agent Connector

EMF SDOToXML Function ComponentEMF XMLToSDO Function Component

Timer Connector

Generic Log Adapter ConnectorRAC ConnectorEntry to CommonBaseEvent Function

ParsersCSVDSML v1 & v2Fixed RecordHTTPLDIFLine reader/writerSOAPScriptXMLXML SaxXSL

TDI 6.1.1 Server

JMX ConnectorSNMP ConnectorSNMP Server ConnectorTCP ConnectorTCP Server Connector

Remedy/Peregrine /CCMDB ticketsMaximo MEAMany custom Components onOPAL, tdi-users.org or on request

PeopleSoft ConnectorSiebel ConnectorSAP ALE IDoc ConnectorSAP R/3 Business Object RepositorySAP R/3 User RegistrySAP R/3 RFC Component

Script ConnectorGeneric Java MethodParser FC

Remote secure command Linez/OS TSO/E Command LineCommand Line Connector

MemQueue ConnectorMemory Stream Connector

HTTP/REST ConnectorFile System ConnectorFTP Client ConnectorURL ConnectorHTTP ClientHTTP Server Connector

IBM MQ Series ConnectorJMS Pub/Sub ConnectorMQe Password Store Connector

CCMDB

Netcool

RSS

© 2008 IBM Corporation8 8-Dec-08

TDI architecture

Java VM

Windows, Linux, AIX, iSeries, zOS, Sun, HP

Commandlineinterface

Web administration andmonitoring

Integrated developmentenvironment

Threads &tombstones

JavaScript Engine

Files

LDAP

JDBC

Web Services

HTTP, TCPGLA, RAC

AssemblyLines

Execution run-time environment

Logging & tracing

Event service

Delta detection

Functions &libraries

TDI server

XML, CSV

Connection pooling(in- and outbound)

SNMP, JMX

CCMDB, CEI

Persistence service:SystemStore & SystemQueue

SAP, SiebelPeoplesoft

JMS / MQ

LDIF, DMSL

POP, IMAP

Script, Java

Domino

API

© 2008 IBM Corporation9 8-Dec-08

Service ManagementService Desk, CCMDB & Asset Management

Semi-canned &generic integrations- for Netcool, ITM, TECRemedy, Peregrine

ITICIntegration Framework (MEA)

MEAOracleadapter

MEASAP

adapter

TDI

SAPOracle General purpose integration- utilizing all TDI connectors and advanced scriptingcapabilities with conditions, transformations, andmutliple source data augmentation. Create integrations

for SRM, CCMDB, and Asset Mgmnt

ISM process applications

TDI in the ISM integration architecture

Deployed assets:TCM, TPM,TNM (NetCool),TLCM, TLCMzTADDMMicrosoft SMSAltiris Inv. SolutionCentennial DiscoveryCustom JDBC

Custom integrations- with MEA. InterfacesSOAP, JMS, HTTP,File, RDBMS

TADDM:CI typesactual CIsRelationships

© 2008 IBM Corporation10 8-Dec-08

TSRMTSRM

TAMITCCMDBTAMITCCMDB

ISM processapplications

One product integration across the ISM portfolio

ITICTADDMTADDM

Custom reporting,data flattening &

Data warehouse

Synchronize with existinghelp desks &

monitoring systems

Trickle feed changesand drive non-TADDM

data into CCMDBCreate custom andone-off DLAs

Bring TADDM intoexisting CMDBinfrastructures

Specific integrationinto processapplications

Out-of-the-boxsensors

TDI

Customer infrastructure has numerous custom systems, ISV apps and systems from IBM competitors

© 2008 IBM Corporation11 8-Dec-08

Available Stand-alone or Bundled

CCMDBasset discovery

Access Manager

Websphere RFIDInformation Center

LotusConnections

LotusDomino

IM MashupHub

Service Desk

Identity Manager

© 2008 IBM Corporation12 8-Dec-08

Integration Army Knife

TDITDITDI

Trench Tool and enterprise-strength middleware

Designed for the front lines:PoCs, PoTs, migrations,conversions/win-backs,

synchronizations,...

© 2008 IBM Corporation13 8-Dec-08

Database CCMDB

Asset Mngmt Security

PBX

Monitoring

ServiceDesk (TSRM)

Portal App Server

LegacyApp

LegacyApp

TSRMTSRM

Simplify and Solve

TADD

TDI

Connector

AssemblyLine

Connector Connector

© 2008 IBM Corporation14 8-Dec-08

Agenda§ Short introductions: you, us and tdi§ Setting up your TDI environment§ TDI 101 – Hello, World (and Hello, Debugger)§ My First DLA

– Reading Input Data– Creating an IdML Discovery Book– Adding ConfigurationItems (CIs)– Validating your work– Adding Relationships between CIs (like "InstalledOn")– Transferring your output to the TADDM Server for import*– Importing the data into TADDM*

* These points will be covered in theory, and may be carried out by those with adequate connectivity to aTADDM server.

© 2008 IBM Corporation15 8-Dec-08

Setting Up TDI: Your mission should decide to accept it...

§ Get TDI up and running at the latest patch level

§ Explore your setup: Solution Directory and properties

§ Extend TDI by adding new IdML components

© 2008 IBM Corporation16 8-Dec-08

Setting Up TDI: Already Have TDI Installed?

§ If you still need to apply FixPack #4 (recommended!!)download and unzip this file to C:\Program Files\IBM\TDI\V6.1.1*:http://dl.getdropbox.com/u/375185/TADDM_IDML/TDI6.1.1_FP4_Unzip_To_Install_Folder.zip

*...or whatever folder you installed the TDI binaries to.

§ Download and unzip this file to your Solution Directoryhttp://dl.getdropbox.com/u/375185/TADDM_IDML/UnzipToSolutionDirectory.zipIt contains the Custom Jar files needed for this exercise (Custom Jars sub-directory), as well as the _My First TDI DLA folder and its contents.

You also have to make the custom .jar files available to TDI. The technique fordoing this is described here:http://tdiingoutloud.blogspot.com/2008/11/new-component-and-library-jar-files.html

Now you should be able to launch the TDI Dev Tool, called the "Config Editor",or just "CE" short:

C:\Program Files\IBM\TDI\V6.1.1\ibmditk.bat

© 2008 IBM Corporation17 8-Dec-08

Setting Up TDI: No TDI installed yet?

§ Download TDI installer via Passport AdvantageIBM'ers can get the Windows installer here:http://pokgsa.ibm.com/~hartman/public/TDI%206.1.1%20Install/TDI_6.1.1_Unzip_and_run_installer.zip

§ Apply FixPack 4 (previous slide)§ Download and unzip this file to your Solution Directory

http://dl.getdropbox.com/u/375185/TADDM_IDML/UnzipToSolutionDirectory.zipIt contains the Custom Jar files needed for this exercise (Custom Jarssub-directory), as well as the _My First TDI DLA folder and its contents.

You also have to make the custom .jar files available to TDI. Thetechnique for doing this is described here:http://tdiingoutloud.blogspot.com/2008/11/new-component-and-library-jar-files.html

Now you should be able to launch the TDI Dev Tool, called the "ConfigEditor", or just "CE" short:

C:\Program Files\IBM\TDI\V6.1.1\ibmditk.bat

© 2008 IBM Corporation18 8-Dec-08

Setting Up TDI: You And Your Solution Directory

§ Installation DirectoryWhere the TDI binaries are found.Default on Windows is C:\Program Files\IBM\TDI\V6.1.1The global.properties file is found in the etc sub-folder.Two important batch-files/scripts: ibmditk and ibmdisrv

§ Solution DirectoryWhere your TDI project files are kept. Back this one up!TDI project files are called Configs and are XML documents.Default on Windows is <My Documents>\TDIThe solution.properties file is found in this folder, and itoverrides settings in global.properties.

The Solution Directory is the root for all relative file paths in TDI

© 2008 IBM Corporation19 8-Dec-08

Setting Up TDI: Adding the IdML components

§ Preferrably, edit the com.ibm.di.loader.userjars property to point to .jarand .zip files, or folders that contain these, or any combination of theabove (;-separated on Windows, : on unix).

– Edit solution.properties if you have a Solution Directory

– Otherwise change global.properties in <TDI InstallDir>/etc

e.g. com.ibm.di.loader.userjars=C:\TDI Solution Directory\Custom Jars

...or copy new .jar files to the jars folder in the TDI installation directory(or some sub-folder under "jars")

§ In addition, you there are two files (idmlcert.jar and icl.jar) that must becopied to <TDI InstallDir>/jvm/jre/lib/ext in order for the Validate featureof the OpenIDML FC to work.

© 2008 IBM Corporation20 8-Dec-08

Setting Up TDI: Start your engines...

§ Launch the TDI Config Editor

§ Select File > New

§ Open the folder called "_My First TDI DLA"

§ Create (or open) TDI Config called "1_HelloWorld.xml"

§ Right-click Connectors folder and choose New Connector...

§ Make sure these components appear in the list (at bottom):idml.IDMLConfigurationItem and idml.IDMLReln

§ Right-click on Functions and check for these:idml.OpenIDML and idml.CloseIDML

© 2008 IBM Corporation21 8-Dec-08

Setting Up TDI: Lessons Learned?

§ The current recommended patch level is 6.1.1 FP4.For up-to-date recommendations:http://www-01.ibm.com/support/docview.wss?rs=697&context=SSCQGF&q1=recommended&uid=swg27010509&loc=en_US&cs=utf-8&lang=en

§ The Installation Directory is where the program files are.etc/global.properties is the TDI Server configuration file.

§ The Solution Directory is where your project files are.solution.properties lets you override TDI Server settings.

§ Extend TDI by making library files available by either:– using com.ibm.di.loader.userjars property (solution/global props)

– copying .jar/.zip files to sub-folder in <TDI InstallDir>/jars

© 2008 IBM Corporation22 8-Dec-08

Agenda§ Short introductions: you, us and tdi§ Setting up your TDI environment§ TDI 101 – Hello, World (and Hello, Debugger)§ My First DLA

– Reading Input Data– Creating an IdML Discovery Book– Adding ConfigurationItems (CIs)– Validating your work– Adding Relationships between CIs (like "InstalledOn")– Transferring your output to the TADDM Server for import*– Importing the data into TADDM*

* These points will be covered in theory, and may be carried out by those with adequate connectivity to aTADDM server.

© 2008 IBM Corporation23 8-Dec-08

TDI 101: Hello, World

§ Create a new AssemblyLine called "1_HelloWorld"

§ In the AL Hooks tab, enter code in "On Start Of Cycle" Hooktask.logmsg("Hello, World");

§ Press the Run button to test

§ Add a Script Component named "SayHello" with this code:task.logmsg(thisConnector.getName() + " says: Hello, World");

§ Press Run again. Did you get two messages this time?

§ Disable the "On Start Of Cycle" Hook and try again.

§ Now set the Run mode to Step (Paused) and step through your AL.

© 2008 IBM Corporation24 8-Dec-08

TDI 101: AssemblyLine FlowThere is a built-in microflow that drives the AssemblyLine.This default AL behavior can be augmented or evenoverridden as needed by writing snippets ofJavaScript into the appropriate Hooks.

Hook coding is how errors are handled in TDI.

In addition to this built-in pipeline, you can visuallyimplement business and data processing logic in yourAssemblyLines using the development tool: the CE.

© 2008 IBM Corporation25 8-Dec-08

TDI 101: Component FlowThere is also a microflow associated with eachtype of component (and each Connector mode).

Just like the AL flow, these are alsoconfigurable and can be enhancedor overridden by scripting Hooks.

Error handling can be done by scriptingcomponent Error Hooks, those of the AL itself, orboth.

© 2008 IBM Corporation26 8-Dec-08

TDI 101: The AL Debugger

§ Step through AssemblyLine execution– from component to component– from Hook to Hook in the built-in logic flows

§ Set breakpoints to pause execution as needed

§ Execute JavaScript interactively inside the running AL– manipulate data values and script variables– call external systems and libraries

§ Explore the integration problem piece by piece

The "Hello, World" exercise requires no actual development.

© 2008 IBM Corporation27 8-Dec-08

TDI 101: Simple AL – Reading and Writing Data

§ New AL: "2_CSV2XML"

§ Add Connector "ReadCSV" to Feeds section– FileSystem Connector (Iterator mode)

File Path: _My First TDI DLA/MachineAndOS.csvAttach the ibmdi.CSV Parser (note: separator may not be ";")

§ Add Connector "Output" to Flow section– FileSystem Connector (AddOnly mode)

File Path: _My First TDI DLA/TestOutput.xmlAttach the ibmdi.XML Parser

§ Select "Step (Paused)" and press Run to step through

© 2008 IBM Corporation28 8-Dec-08

TDI 101: AssemblyLine Connector vs. Connector Interface

CSVFile

XMLDocument

Most Connector features areprovided by the TDI Server. This iscalled kernel functionality.

Each AssemblyLine Connector drives aninterchangeable Connector Interface (CI) whichis designed to give access to some protocol,API, transport or format. This is calledcomponent functionality.

Kernalfunctionalityincludes AttributeMaps, searchcriteria forLookup, Deleteand Updateoperations,Hooks, Auto-Reconnect andChangeDetection.

© 2008 IBM Corporation29 8-Dec-08

TDI 101: The Entry object - TDI data model

CSVFile

XMLDocument

The Entry object is the "data carrier"in an AssemblyLine.

The main Entry is the Work Entrywhich is used to carry data down theAssemblyLine flow from componentto component.

Each Connector Interface has its own localJava bucket (called its Conn Entry) whichis used as a local cache for reads & writes.This is accessed via the conn variable.

Attribute_1

value_avalue_b

Attribute_2

value_c

Attribute_n

...Entries canhold Attributes.

Attributes canhave values.

The Work Entryis available toyour scripts asthe pre-registeredvariable work.

© 2008 IBM Corporation30 8-Dec-08

TDI 101: AL Lifecycle - Phase One: Initialization

CSVFile

XMLDocumentAll Connectors bind to their data

sources.

XMLDocument

CSVFile

© 2008 IBM Corporation31 8-Dec-08

TDI 101: AL Lifecycle - Phase Two: Cycling (Read)

CSVFile

XMLDocument

AL automation powers the firstConnector to read from the input file,passing the byte stream through theCSV Parser.

The CSV Parser turns the byte stream intoa series of Attributes, each with a singlestring value.

Attributes are put in the Conn Entry.

© 2008 IBM Corporation32 8-Dec-08

TDI 101: AL Lifecycle - Phase Two: Cycling (Input Map)

CSVFile

XMLDocument

The Input Map of our first Connectorspecifies which Attributes are to becreated in the Work Entry.

The Input Map also specifies how thevalues of these new Work Entry Attributesare copied or computed based on thosestored in the Conn Entry.

© 2008 IBM Corporation33 8-Dec-08

TDI 101: AL Lifecycle - Phase Two: Cycling (Output Map)

CSVFile

XMLDocument

The Work Entry is passed to ouroutput Connector, where theAttributes to write are specified in itsOutput Map.

Attribute values are now copied/computedthe opposite direction: from the Work Entryto the Conn Entry.

© 2008 IBM Corporation34 8-Dec-08

<?xml version="1.0" encoding="UTF-8" ?><DocRoot>

<Entry><machine>troosevelt.my.com</machine><op_sys>Windows XP</op_sys>

</Entry><Entry>

<machine>taft.my.com</machine><op_sys>Red Hat Linux</op_sys>

</Entry><Entry>

<machine>wilson.my.com</machine><op_sys>Red Hat Linux</op_sys>

</Entry><Entry>

<machine>harding.my.com</machine></Entry><Entry>

<machine>coolidge.my.com</machine><op_sys>Windows XP</op_sys>

</Entry>...

TDI 101: AL Lifecycle - Phase Two: Cycling (Write)

CSVFile

XMLDocument

The output Connector performs thewrite operation using the Attributesin its Conn Entry.

© 2008 IBM Corporation35 8-Dec-08

TDI 101: AL Lifecycle - Phase Two: Cycling (Repeat...)

CSVFile

XMLDocument

When the end of the AssemblyLineis reached, AL automation emptiesthe Work Entry and passes controlback to the start again.

Cycling repeats as long as there is data toprocess, or until the AL is terminated bycommand or aborts due to unhandlederrors.

© 2008 IBM Corporation36 8-Dec-08

TDI 101: AL Lifecycle - Phase Three: Shutdown

CSVFile

XMLDocument

When the cycle phase stops, theConnectors close their connections.

© 2008 IBM Corporation37 8-Dec-08

TDI 101: Clone and Swap Parser

§ Clone the "2_CSV2XML" AL and call it "3_CSV2Fixed"

§ Edit "Output" Connector in Flow section– Swap out XML Parser with ibmdi.Fixed Parser (fixed format)

Column Description: op_sys,1,40machine,41,20

§ Select "Step (Paused)" and press Run to test again

Your AL now converts from CSV to fixed format.

© 2008 IBM Corporation38 8-Dec-08

TDI 101: Clone again and Swap Connector

§ Clone the "3_CSV2Fixed" AL and call it "4_CSV2DB"

§ Change type of "Output" Connector in Flow section– Swap out FileSystem with SystemStore Connector

Key Attribute Name: machineTable Name: Machines

§ Select "Step (Paused)" and press Run to test again

© 2008 IBM Corporation39 8-Dec-08

TDI 101: Project Library

§ Copy "ReadCSV" Connector to the Project Library.Right-click or use the button

§ Library Components can be reused in multiple ALs.- configuration, schema/maps, error handling and business logic.

§ Modify Library Components, and ALs inherit these changes.- go from lab to live in a few minutes

§ Drag from Library to Resources to keep a personal library.

Inheritance is based on the component name and therefore easily broken!

© 2008 IBM Corporation40 8-Dec-08

TDI 101: Lessons Learned?

§ TDI components (CIs) are interchangeable.Use FileSystem Connector for visual control of output.

§ Hooks are used to handle errors and modify default behavior.

§ Data is carried in the AL by Entry objects,the primary of which is Work Entry.

§ Attribute Maps "gate" data into and out from the AL.Input Maps move data from conn to workOutput Maps move data from work to conn

§ AssemblyLines handle one Entry per cycle.

§ Feeds is a built-in Loop that drives the Flow section.The AL will cycle as long as Feeds produces new Entries.

§ The Debugger is Your Friend :)Don't be afraid to touch the data.

© 2008 IBM Corporation41 8-Dec-08

Agenda§ Short introductions: you, us and tdi§ Setting up your TDI environment§ TDI 101 – Hello, World (and Hello, Debugger)§ My First DLA

– Reading Input Data– Creating an IdML Discovery Book– Adding ConfigurationItems (CIs)– Validating your work– Adding Relationships between CIs (like "InstalledOn")– Transferring your output to the TADDM Server for import*– Importing the data into TADDM*

* These points will be covered in theory, and may be carried out by those with adequate connectivity to aTADDM server.

© 2008 IBM Corporation42 8-Dec-08

My First DLA: Opening the IdML Book

§ Create new AL: "MyFirstDLA"

§ Add an FC (name it "OpenBook") in the Flow sectionChoose the idml.OpenIDML Function component:Configuration parameters:

Application Code: App 1.0Directory Name: C:\temp (make sure you have this folder!)

Book Name: MyBookManufacturer Name: IBMProduct Name: MyProductHostname: host.ibm.com

§ Press Run button to test.

© 2008 IBM Corporation43 8-Dec-08

My First DLA: Creating your own Iterator Loop

§ Add a Connector Loop named "FOR EACH machine read"– Add a Loop component to the Flow section.

– Keep the default type: Connector Loop.

– Drag your ReadCSV Library Connector onto Inherit From buttonLeave in Iterator mode, and Initialize And Select option.

– Map in all Attributes in the Input Map

You have now added your own Feeds-like Iterator loop.

© 2008 IBM Corporation44 8-Dec-08

My First DLA: Machine ConfigurationItem (CI)

§ Under the Loop add the idml.IDMLConfigurationItem FC.– Call it "AddMachineCI"

ClassType: cdm:sys.ComputerSystemBook Name: MyBook

– Drag the Attribute "machine" from Work Entry into Output MapRename to "id".

– Drag it in again, this time renaming it to "cdm:Signature"

– Once more, this time renaming to "cdm:Fqdn".

§ Enable the Validate option in the "Open Book" FC.

§ Run and view the validation report.

© 2008 IBM Corporation45 8-Dec-08

My First DLA: OS Configuration Item (CI)

§ Add another idml.IDMLConfigurationItem Connector.– Call it "AddOS"

ClassType: cdm:sys.OperatingSystemBook Name: MyBook

– Drag the Attribute "machine" from Work Entry into Output MapRename to "id", change to Expression map and enter this:{work.machine}_os

– Drag "op_sys" in from Work Entry, rename to "cdm:OSName"

© 2008 IBM Corporation46 8-Dec-08

My First DLA: Relationship (OS installed-on machine)

§ Add the idml.IDMLReln Connector.– Call it "AddRelationship"

Relationship Class Type: cdm:installedOnBook Name: MyBook

– Drag the Attribute "machine" from Work Entry into Output MapRename to "target".

– Drag "machine" once more from Work Entry into Output MapRename to "source", change to Expression map and enter this:{work.machine}_os

§ Select Step (Paused) mode and start the Debugger.

© 2008 IBM Corporation47 8-Dec-08

My First DLA: Transferring IdML Book to TADDM

§ Close the Book with the idml.IDMLCloseBook FC.

§ Add Secure File Transfer FC:http://www-01.ibm.com/software/brandcatalog/portal/opal/details?catalog.label=1TW10DI0C

§ Configure to send IdML Discovery Book to TADDM machine

© 2008 IBM Corporation48 8-Dec-08

My First DLA: Loading the IdML Book into TADDM

§ Add Remote Commandline FC:

§ Set up command to load IdML file into TADDMe.g. c:\ibm\cmdb\dist\bin\loadidml.bat -f c:\ibm\cmdb\dla\

© 2008 IBM Corporation49 8-Dec-08

My First DLA: Running DLA from commandline

§ Open a command window

§ Change to the TDI installation directory

§ Enter the following command:

ibmdisrv –c myDLA.xml –r MyFirstDLA

© 2008 IBM Corporation50 8-Dec-08

My First DLA: Uniquely Identifying CIs

§ Common Data Model JavaDocs here:http://dl.getdropbox.com/u/375185/TADDM_IDML/model-javadoc.tar.gz

§ Defines the various CDM CIs and Relationshipsincluding their naming rules.

© 2008 IBM Corporation51 8-Dec-08

My First DLA: Lessons Learned

§ Discovery Books are opened and closed with FCsidml.IDMLOpenBook and idml.IDMLCloseBook FCs

§ CIs and Relationships are added using Connectorsidml.IDMLConfigurationItem and idml.IDMLReln Connectors

§ Transfer and loading of IdML file can be automated– Secure File Transfer FC

– Remote Commandline FC

§ You can execute your AL from the commandline

§ Naming rules for each CI type define unique id's

© 2008 IBM Corporation52 8-Dec-08

Backup Slides

© 2008 IBM Corporation53 8-Dec-08

Community Resources

§ Video tutorials, examples, components, documentation+++http://www.tdi-users.org

§ IBM internal site:http://w3.tap.ibm.com/w3ki05/display/TDI/1.+TDI+Wiki+Home

§ TDI Newsgrouphttp://groups.google.com/group/ibm.software.network.directory-integrator

!! Participate and Share !!

© 2008 IBM Corporation54 8-Dec-08

Change propagation

TDI

Domino changeconnector

LDAP connector

Get Changes from Domino

Domino connector TDS changeconnector

Selected changes back to Domino

LotusDomino

In this scenario, users are managed in Domino and need to be synchronized with TDS for multiple reasons

1. Portal/WAS security is implemented in WAS or with Access Manager into TDS LDAP.

2. The WAS applications need information about users that is maintained in Domino

3. Domain names (dn) must match so that WAS can seemlessly access data in Domino

4. WAS applications might modify user data that needs to be propagated back to Domino

IBMTivoli

DirectoryServer

Applications

Access control

Domino applications

© 2008 IBM Corporation55 8-Dec-08

Remedy helpdesk integrated with CCMDB

TDI

CCMDB

ESB

Remedy connector

CEI

Logging

CCMDB connector

AssemblyLine ”ReadRemedy”ISM components

Remedy connector CEI connector

AssemblyLine ”Update Remedy”

Remedy

Remedy incidents are transferred to CCMDB. As the ITSM componentscomplete steps of the appropriate process, messages are sent to CEI. TDIsubscribes to these messages and update Remedy accordingly so thatusers can follow the progress of their tickets.

© 2008 IBM Corporation56 8-Dec-08

TDI as Feed server in a Mashup environmentDesign and store feed in MashupHub Use feed in Lotus Mashups

Deliver data from TDI – MIS,for example SAP and Lotus Domino.Supports add, modify, and delete operationswith simple or complex integrations

© 2008 IBM Corporation57 8-Dec-08

TDI – MIS: Mashup & syndication Integration Server

TDI

AtomRSS

ServiceAssemblyLines

Lotus Mashup &

InformationManagement

MashupHub &

General purposeRSS/Atom

consumption

Any number of ”service AssemblyLines” (sAL) are accessed through the multi-threaded ”Service controller”. Each sALcan utilize all of the connectors and capabilitites of TDI to create advanced feeds and services that providetransformation, augmentation, enrichment of the data from any number of connected sources. The sAL can contain aslittle as a single connector, basically turning TDI into a connector service for the upstream system calling into TDIthrough REST calls. This could be as simple as CRUD or extended in the ”service Controller” to address specifcrequirements.

JDBC connector

AssemblyLine”service Controller”

connector

RDBMS

LDAP connector

JMS connector

”any” connectorSAP

Custom logic, suchas registration andprovisioning ofservices

© 2008 IBM Corporation58 8-Dec-08

RFID data into Websphere EPCIS/RFID

TDI

EPCIS

MQ connector

Logging

EPCIS connector

AssemblyLine ”RFID Feed”

EPCIS services

Custom data handlers EPCIS connector

AssemblyLine ” Exception handler”

IBM MQ

RFID data is delivered through MQ, and needs to be filtered,validated and possibly transformed before loaded into EPCIS. Thesolution allows field personell to insert customer specific datahandlers and exception handlers.

Customerspecific configuration

© 2008 IBM Corporation59 8-Dec-08

Adapter framework for ITIM (Tivoli Identity Manager)

TDI

TIM operationshandler

TDI logic andconnectors

Adapter AssemblyLines

Targetsystem

The field and customersare enabled by beingable to modify theadapters in the field

TIM manages life cycleof users in theenterprise IT systems

TDI logic andconnectors

TDI logic andconnectors

TIM services

Targetsystem

Targetsystem

© 2008 IBM Corporation60 8-Dec-08

TDI

EAI connector ”any” connector

AssemblyLine ”EAI server”

TDI provides a generic, run-time authentication server for TAM, where the AssemblyLinecan lookup multiple sources, as well as format and transform data. The AssemblyLineabove does not illustrate any specific scenario, but illustrates how the integration with theTAM EAI (External Authentication Interface) service works.

LDAP connector

Optional loopinglogic

TAM EAI authentication service

Optional TAM APIcode

WebSeal

Access Manager

API

Policy

TAMLDAP

© 2008 IBM Corporation61 8-Dec-08

Audit integration

TDI

any connector

GLA connector

Windows SecurityLog or any other logs(140+) supported byGLA

Suggested approach for tactical and long-term integration of CBEs, CARS, W7 andinsight for IBM products, ISV’s and customer developed applications. Benefit offlexible and simple adjustments and customization in the field

W7connector

TCIM

§ Customer ad-hoc§ OMP custom Audit and

complianceOptionalCustomerandproductspecificconfiguration,including otherTDI connectorsto augment andtransform data

CARS connector

CBE file

CBE connector

CBEparser WEF

connector

(Future)CARS

Tivoli ComplianceInsight Manager