IBM Tivoli Directory Integrator
From Wikipedia, the free encyclopedia
IBM Tivoli Directory Integrator (or TDI for short) is an integration middleware system that allows you to quickly and visually build, test, deploy and monitor intelligent dataflows between any number of target systems, protocols, data transports, APIs and formats.
Contents |
[edit] Introduction
What tools and products do you reach for when something needs to be integrated?
Most likely you have a faithful repertoire that starts off with your favorite scripting environment and/or development language, and with luck includes experience with one or more of the major integration products, like IBM WebSphere Process Server (previously known as WBI), IBM WebSphere MQ Broker, IBM WebSphere Federation Server or IBM WebSphere DataStage.
When requirements are clear and processes well-defined then it’s easier to choose which specialized integration technology to use. Each product is designed to address specific integration scenarios, like orchestrating business transactions, enabling enterprise service bus architecture, federating databases “in-place” or moving/migrating terabytes of data. Unfortunately, real-world scenarios seldom mirror these design assumptions – they overlap them. Most infrastructures are the result of evolution (i.e. survival of the highest switching-cost) rather than coherent design. That’s why many deployments include multiple integration applications, often stretching them beyond their intended scope. Resulting gaps in required functionality are then filled using script and custom coding.
Just think of the massive amounts of integration work that gets done, again and again from scratch, using the most basic and rudimentary tools available. Audit trails, security compliance, availability, and the other features that we demand of mission-critical software are too frequently built by hand, if at all.
It’s no wonder that for field specialists – the harried masses that make [[Rate of Return][ROI]] on software investment possible – integration is a necessary evil, ofttimes an afterthought, and the undeniably toughest part of the deployment project to plan for; And it is this last mile of integration that IBM Tivoli Directory Integrator is designed to address. TDI represents a technology and approach for dealing with the heterogeneous environment found in most infrastructures.
Available both stand-alone and bundled with a number of IBM offerings, TDI represents a technology and approach that accelerates software deployment, extends product reach and functionality, simplifies [[Proof of concept][POC]]s and provides core integration services.
[edit] Integration power tool
TDI addresses the critical points where software meets infrastructure with a point-and-shoot graphical interface for rapid extraction, filtering, aggregation, transformation and transfer of practically any data. Ideally suited for directory integration with features like real-time change detection, incremental data update and password synchronization, TDI also supports relational databases, mail systems, file formats, message queues, web services and a host of other data sources.
What’s more, TDI installs quickly and is immediately ready to use. As a Java standard application, it does not require special hardware or middleware to run and is supported on platforms ranging from Microsoft Windows and Linux/Unix to z/OS - plus runs on a few more that aren’t supported.
TDI enables a unique simplify and solve methodology that does not prescribe or require any specific middleware technologies, data stores or solution design. Instead, it lets you build and adapt your architecture as you see fit; in controlled, non-disruptive steps, one data flow at a time.
In spite of its quick install and small footprint, TDI is at the heart of mission-critical services in enterprises around the globe. At the same time, TDI is used extensively for one-off migration jobs (extract, transform and load); performing data correlation, cleansing and synchronization; extending the reach of monitoring; rapid development of PoCs; as well as more esoteric applications like these Yahoo Pipes-like Mashup solutions: one [1] made by an avid Norwegian kayaker and experienced TDI-jockey for mining and presenting water levels in order to plan kayaking routes, and this one [2] to aggregate and present entertainment events for a specified area.
[edit] Agility at your fingertips
How can a single system be used for tasks ranging from simple file transfer and ETL to weaving the underpinnings of Service Oriented Architecture? Largely because TDI is built on a tenet of no assumptions: No assumptions on the types of systems and platforms being integrated, the topologies architected, the data types and formats handled, or the intent and design of resulting solutions. Instead, TDI provides a broad set of technology handlers and rapid development features that you can mix and match to suit your integration requirements.
Whenever common patterns are detected in even diverse scenarios, they are captured as new automated behaviors in TDI, boosting the toolset that you bring to bear on any set of relevant problems. The TDI community also contributes reusable assets and solutions that can be adopted as desired and extended as needed.
This building-block approach is reflected in TDI’s kernel/component architecture. The term kernel here refers to the core TDI engine which provides a wealth of general-purpose data handling features and flow patterns, while additionally letting you customize or override any built-in behaviors. The kernel also takes care of vital housekeeping tasks like logging/tracing, security and data privacy, failure response, and external monitoring and manageability.
Wrapped by this generic functionality is a rich library of helper objects called components. Each component provides consistent, reliable access to some specific technology. Furthermore, TDI components are interchangeable, making the resulting solutions simpler to maintain and evolve as requirements, business drivers and infrastructure change over time. This agility also means that you can develop a solution on your laptop in a test environment and then readily deploy it into production. Even the TDI kernel itself is built on componentry that can be configured, extended or even replaced if need be.
Another clue to TDI’s broad appeal is its support for JavaScript that can be used throughout a TDI solution for data transformation, flow control, overriding built-in behaviors, accessing external APIs, and even for creating and interactively testing custom components and functions. You can also write your own components and libraries in Java and include these in TDI’s repertoire.
[edit] Rapid Integration Development
As soon as TDI is installed you can immediately get to work: Simply choose suitable components, configure them for either input or output operation and then string them together to build your dataflows. These flows are called AssemblyLines in TDI terms.
For example, if you want to load the contents of database view to an XML document, you create an AssemblyLine with two components: first a JDBC Connector to iterate through the view, followed by a FileSystem Connector paired with an XML Parser to write the document. To extend this solution so that it aggregates additional information (a join), you simply drop in a new Connector between the first two and configure it for Lookup. An AssemblyLine can power any number of components, each reading or writing to some data source. As long as a system or service is accessible via protocols, APIs, file transfer or command-line utilities, then you can integrate it with TDI.
Connectors can also be used to detect changes in most types of data sources by either leveraging features in the connected system, or by detecting it on-the-fly with TDI’s Delta Handling engine. TDI lets you tail-read files (like logs), catch new email as it arrives, subscribe for message bus traffic and service incoming client connections – and then decide exactly what to do with these events. The choice is yours to publish an AssemblyLine as a web service, or expose its functionality through a protocol like TCP, HTTP or SNMP; or a combination of these. With configurable pool management and customizable failure-response behavior, TDI makes it simple to set up solutions for real-time data synchronization and access services.
[edit] TDI in action
TDI is pumping away at the heart of IBM’s own corporate infrastructure, providing mission-critical integration services for the intranet, Blue Pages and Web Identity (ibm.com) teams.
"If I can’t solve something with a couple lines of Perl, I reach for TDI. It’s like integration-Lego™ and you can build almost anything by mixing and matching its built-in components. Our team uses TDI as industry-strength glue to tie together disparate, highly-available systems that must serve the IBM global population without hiccup. We architected these and many other solutions with only TDI in mind. Without this powerful technology then we'd be stuck writing, testing and maintaining hundreds of thousands of lines of code, costing us months of extra development work. With TDI, a single person can implement even complex integration services and have a working solution in a short amount of time. What more can a project manager who's trying to cut costs and save time at every turn ask for?"
Bora Bali, IBM Global Business Services
Senior IT Specialist & Lead Developer
Enterprise Directory Team
In another “enterprise glue” scenario, a major worldwide hotel chain includes TDI in its Service Oriented Architecture (SOA) infrastructure to process Enterprise Service Bus (ESB) requests. TDI uses the company-wide message bus to receive business commands from other enterprise systems (sometimes other TDI Servers), perform requested data transformations and operations on corporate systems, and then formulate replies back to the client. In other deployments TDI is keep passwords in sync, augmenting systems monitoring, database integration and wrapping legacy applications in modern protocols.
“My current project client (a Midwest power company) has a number of common, but non-trivial demands that I'm satisfying quickly with TDI. These include requirements for scalability, HA/failover and recovery from synchronization failures. Lot's of challenges in this implementation and TDI makes it all look easy. The difficult tasks are a cake walk and the impossible are just a cup of coffee, a scratch pad and a connector away from being possible."
Robert Hodges, IBM Tivoli
Systems Management Consultant
TDI is the provisioning backbone for a large west coast university, integrating [IBM Lotus Domino], [IBM Tivoli Access Manager], [IBM WebSphere Portal] and Oracle-based applications. When students, employees or contractors join, leave or change their affiliation with the university, TDI ensures that the appropriate changes are made to access rights, email accounts and other necessary resources.
"TDI gave us a great head start with its out-of-the-box connector architecture for connecting the disparate source and target systems. With basic connectivity to each system established very quickly, our time was well spent in defining the explicit processes required to meet the customer's need. The flexibility for combining pre-built and custom modules allowed us to rapidly turn the generic model into one that specifically executes thirty-five required identity management use cases. In an environment where provisioning loads are very high at specific times of year, we were able to architect the TDI solution to cope with an extraordinary provisioning demand."
David Bell, IBM Lotus
IBM Senior IT Architect and Project Technical Lead
One of IBM’s large development organizations leverages TDI to keep dozens of systems synchronized with test and verification data. Other dev teams use the system to migrate data between product releases/builds.
"I have 37 LDAP servers made by all major vendors, like AD, ITDS, Sun ONE, eDirectory and Domino. These must be kept synchronized in real time to accommodate development and testing requirements. TDI quickly and reliably automated that painful and time consuming process. The same holds true for synchronizing databases for hardware inventory and security."
Yuriy B. Veytsman, IBM Lotus
Lotus CS Service team lead
With the intense focus today on security and audit-ability, TDI is a key tool for meeting federal and corporate requirements fast and reliably.
“ITDI’s build-test-refine approach helped us quickly get down to business at one of the major banks. Its broad range of out-of-the-box connectors and built-in security and change detection features let us quickly build the Identity and Access reports needed, helping our customer meet the tight deadline for SOX compliance.”
Rudy Sutjiato, IBM Global Services
Senior IT Specialist
[edit] Risk Management in a box
The deployment of complex systems is a risky business. Specifications are often vague at best, details unsure and schedules tight. More and more, development and deployment specialists, as well as architects and IT managers, are mitigating risk by checking uncertain items off their lists with the line: Solve it with TDI.
Bringing TDI to bear on a problem means leveling the playing field by erasing the boundaries between diverse and often incompatible technologies and platforms. In the field, where software hits the infrastructure, is where the battle for return on investment is won or lost. TDI enables better solutions by empowering deployers to do more, and do it faster. Getting started
If you already have TDI installed (e.g. bundled) or are bold enough to install it, then you have all you need to start integrating. The system includes a Getting Started walkthrough[3], and there are video tutorials, example solutions and other online learning assets on the TDI community website[4]. Here you will find links to IBM Redbooks and other relevant literature, TDI how-to’s, techniques and troubleshooting tips, as well as links to course providers, official support information[5] and the TDI discussion forum[6].
If you are intrigued but don’t have TDI, then visit www.tdi-users.org and sit through a tutorial video in the Learning section. Packed with TDI action, these short clips present the basic principles that apply whether you are converting a file or constructing an enterprise data network. Seeing is believing.
So the next time you have to craft new solutions or services, redo infrastructure wiring or retrofit legacy applications, the choice is yours: Get a bigger hammer, or pick up a power tool.
[edit] Supported Platforms
- Microsoft Windows
- Linux
- IBM AIX
- HP-UX
- Sun Solaris
- z/OS
- i5/OS
[edit] TDI bundled with other products/solutions
- IBM Lotus Connections
- IBM Lotus Domino 8 (summer 2007)
- IBM Lotus Workplace
- IBM WebSphere RFID Information Center
- IBM Tivoli Identity Manager (TIM)
- IBM Tivoli Access Manager for eBusiness (TAM)
- IBM Tivoli Change and Configuration Management Database (CCMDB)
- IBM Tivoli Application Dependency Discovery (TADDM)
- IBM Tivoli Federated Identity Manager (TFIM)
- IBM Tivoli Directory Server (TDS)
- Rapid Response
[edit] External links
--Eddie Hartman 09:31, 22 February 2007 (UTC)