You are on page 1of 28

Redpaper

Axel Buecker Dinesh Jain

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console
This IBM Redpaper describes a solution developed for IBM Tivoli Directory Integrator integrating with IBM event management offering products: IBM Tivoli Netcool/OMNIbus and IBM Tivoli Enterprise Console. This integration solution illustrates an integration scenario aimed toward improving Tivoli Directory Integrator integration capabilities and leveraging these capabilities with IBM event management offering products. Along with several examples, we discuss the architecture behind this approach. This document is divided into several sections. For those readers who are unfamiliar with the IBM products covered in this Redpaper, the section Product introduction on page 2 provides a brief overview of Tivoli Directory Integrator, Tivoli Netcool/OMNIbus, and Tivoli Enterprise Console. The section Tivoli Directory Integrator and Tivoli Netcool/OMNIbus on page 8 describes an architectural overview and the implementation, installation, and configuration for Tivoli Directory Integrator integration with Netcool/OMNIbus. Similarly, the section Tivoli Directory Integrator and Tivoli Enterprise Console on page 13 describes an architectural overview and the implementation, installation, and configuration for Tivoli Directory Integrator integration with the Tivoli Enterprise Console. The section The EIF EventSender component on page 20 describes a key component developed as a part of this integration package. Finally in Additional files on page 24, we document the files shipped along with this Redpaper and links to various official documentation.

Copyright IBM Corp. 2007. All rights reserved.

ibm.com/redbooks

Product introduction
Before describing the technical details of this integration solution, those people who are not familiar with the products mentioned with this integration solution need to understand its components. This section provides a brief overview about Tivoli Directory Integrator, Netcool/OMNIbus, Tivoli Enterprise Console, and the Event Integration Facility (EIF) software development kit (SDK).

Introduction to IBM Tivoli Directory Integrator


IBM Tivoli Directory Integrator (TDI) is a platform-independent and vendor technology-independent development environment for rapidly building, testing, and deploying integration solutions. Tivoli Directory Integrator is a Java-based application. Tivoli Directory Integrator includes the development and testing environment for creating integration solutions, as well as the runtime server for deploying those integration solutions in the clients infrastructure. Solutions are created by plugging together Tivoli Directory Integrator components: extensible integration objects, each one designed to handle a specific application programming interface (API), protocol, transport, or format. Tivoli Directory Integrator components uniquely abstract away the technical details of connecting to and accessing data in practically any type of database, directory, registry, application, or device. Tivoli Directory Integrator components let integration specialists focus the rules and logic for manipulating and transforming data objects, as well as translating them between various system and functional contexts. The block diagram in Figure 1 depicts the Tivoli Directory Integrator architecture.

Figure 1 Tivoli Directory Integrator architecture

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

Let us take a look at several of the key components of the Tivoli Directory Integrator architecture:

AssemblyLines
The AssemblyLines execute data flows based on the configuration of individual Connectors, Parsers, Function Components, and the business logic driving the process. The basic organization of work in Tivoli Directory Integrator is the AssemblyLine. It describes where data comes from, how it is transformed, and where it ends up. The AssemblyLine: Builds a compound information object from connected information sources Performs modifications on received data or creates new entries altogether Adds, updates, and deletes the new information object to the assigned destinations

Connectors
The Connectors connect to devices, systems, or applications and perform actions as appropriate. Connectors are the building blocks of the AssemblyLine. Connectors describe the information sources and destinations. Tivoli Directory Integrator offers a number of Connectors, supporting numerous protocols and access mechanisms. Extending an existing Connector is simple, quick, and easy. You can create a new Connector or extend an existing Connector with any or all of the scripting languages that the system supports. The ability to mix and match well-established scripting languages is an enormous cost benefit to companies wanting to avoid retraining of staff.

Parsers
A parser interprets and transforms the data flow into the appropriate format. To cater to multiple data formats, Tivoli Directory Integrator uses components called Parsers. Parsers know how to interpret and translate information from a byte stream into a structured information object, where each piece of information is accessible by name. For example, if a Connector reads from a flat file (or other source, such as an e-mail or TCP/IP packet), a Parser enables an administrator to define how the data is structured within the file. Refer to the IBM Tivoli Directory Integrator 6.1.1: Users Guide, SC32-2568-01, for more information about each of its components.

Introduction to IBM Tivoli Netcool/OMNIbus


IBM Tivoli Netcool/OMNIbus is a service level management (SLM) system that collects enterprise-wide event information from many different network data sources and presents a simplified view of this information to operators and administrators. This information can then be: Assigned to operators Passed to helpdesk systems Logged in a database Replicated on a remote Tivoli Netcool/OMNIbus system Used to trigger automatic responses to certain alerts Tivoli Netcool/OMNIbus can also consolidate information from different domain-limited network management platforms in remote locations. By working in conjunction with existing

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

management systems and applications, Tivoli Netcool/OMNIbus minimizes deployment time and enables employees to use their existing network management skills. Tivoli Netcool/OMNIbus tracks alert information in a high-performance, in-memory database and presents information of interest to specific users through individually configurable filters and views. Tivoli Netcool/OMNIbus automation functions can perform intelligent processing on managed alerts. This section describes how Tivoli Netcool/OMNIbus components work together to collect and manage network alert information. Figure 2 shows an overview of the Tivoli Netcool/OMNIbus component architecture.

Figure 2 Tivoli Netcool/OMNIbus component architecture

The components of Tivoli Netcool/OMNIbus are:

The ObjectServer
The ObjectServer is the in-memory database server at the core of Tivoli Netcool/OMNIbus. Alert information is forwarded to the ObjectServer from external programs, such as probes, monitors, and gateways, stored and managed in database tables, and displayed in the event list.

Probes
Probes connect to an event source, detect and acquire event data, and forward the data to the ObjectServer as alerts. Probes use the logic specified in a rules file to manipulate the event elements before converting them into the fields of an alert in the ObjectServer alerts.status table. Each probe is uniquely designed to acquire event data from a specific source. Probes can acquire data from any stable data source, including devices, databases, and log files.

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

Gateways
Tivoli Netcool/OMNIbus gateways enable you to exchange alerts between ObjectServers and complementary third-party applications, such as databases and helpdesk or Customer Relationship Management (CRM) systems. You can use gateways to replicate alerts or to maintain a backup ObjectServer. Application gateways enable you to integrate different business functions. For example, you can configure a gateway to send alert information to a helpdesk system. You can also use a gateway to archive alerts to a database. After a gateway is correctly installed and configured, the transfer of alerts is transparent to the operators.

Desktop tools
The desktop is an integrated suite of graphical tools used to view and manage alerts, and to configure how alert information is presented. Desktop tools are available on both UNIX and Windows platforms. Alert information is delivered in a format that allows users to quickly determine the availability of services on a network. When an alert cause has been identified, desktop tools enable users to resolve problems quickly.

The event list


The event list displays a filtered view of color-coded alerts in a scrolling list. You can set up multiple event list clients, each with different priorities and filters. You can also use the event list to reprioritize alerts and to assign or reassign problems to other users. When an alert has been assigned to a user, the user can acknowledge it, or deacknowledge it so that it can be picked up by another user.

Administration tools
Tivoli Netcool/OMNIbus includes tools that enable administrators to configure and manage the system. For detailed information about administration tools, see the IBM Tivoli Netcool/OMNIbusTM v7.1 Administration Guide, which is available at the IBM Tivoli Netcool/OMNIbus documentation Web site: http://publib.boulder.ibm.com/infocenter/tivihelp/v8r1/index.jsp?toc=/com.ibm.n etcool_OMNIbus.doc/toc.xml Also, refer to the IBM Tivoli Netcool/OMNIbusTM v7.1 User Guide for more information about each of its components.

Introduction to Tivoli Enterprise Console


The IBM Tivoli Enterprise Console (TEC) product is a rule-based event management application that integrates system, network, database, and application management to help ensure the optimal availability of an organizations IT services. The Tivoli Enterprise Console product: Provides a centralized, global view of your computing enterprise Collects, processes, and automatically responds to common management events, such as a database server that is not responding, a lost network connection, or a successfully completed batch processing job Acts as a central collection point for alarms and events from a variety of sources, including those from other Tivoli software applications, Tivoli partner applications, custom applications, network management platforms, and relational database systems.

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

The Tivoli Enterprise Console product helps you effectively process the high volume of events in an IT environment by: Prioritizing events by their level of importance Filtering redundant or low-priority events Correlating events with other events from different sources Determining who must view and process specific events Initiating automatic corrective actions, when appropriate, such as escalation, notification, and the opening of trouble tickets Identifying hosts and automatically grouping events from the hosts that are in maintenance mode in a predefined event group Figure 3 shows an overview of the Tivoli Enterprise Console component architecture.

Figure 3 Tivoli Enterprise Console component architecture

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

The Tivoli Enterprise Console architecture consists of the following components:

Event server
The event server is a central server that handles all events in the distributed system.

User interface (UI) server


The user interface (UI) server provides conflict management for event console updates.

Event console
The Tivoli Enterprise Console product provides two versions of the event console: a Java version and a Web version. Both versions provide a graphical user interface (GUI) that allows the IT staff to view and respond to dispatched events.

Adapter Configuration Facility (ACF)


The Adapter Configuration Facility is a profile-based application that is used to configure and distribute Tivoli Management Environment (TME) adapters using a graphical user interface (GUI).

Event adapters
An event adapter monitors events on a managed resource, such as a database, formats the information, and forwards it to the event server. The following adapters are available with the product: AS/400 Alert Adapter, AS/400 Message Adapter, NetWare Adapter, Openview Adapter, UNIX syslog Adapter, Windows Eventlog Adapter, and Simple Network Management Protocol (SNMP) Adapter.

Event Integration Facility (EIF)


The EIF facility provides a mechanism to selectively forward events to Tivoli Enterprise Console servers.

NetView server
The Tivoli NetView server is a network management program that uses SNMP to discover, monitor, and configure TCP/IP networks.

NetView Web console


The Tivoli NetView Web console is a Java-based graphical user interface (GUI) that allows operators to view the network topology and provides diagnostic and informational tools to aid in troubleshooting network problems.

NetView native console


The Tivoli NetView native console is an X/Motif-based (UNIX) or Windows-based graphical user interface (GUI) that allows administrators to configure the NetView server. It also provides the same operator functionality as the Tivoli NetView Web console. This component is installed automatically when the Tivoli NetView server is installed. Refer to the IBM Tivoli Enterprise Console Users Guide Version 3.9, SC32-1235, for more information about each of its components.

Introduction to the Event Integration Facility


The IBM Tivoli Event Integration Facility (EIF) is an event distribution and integration point for the event console. With the Tivoli Event Integration Facility toolkit, you can build event adapters and integrate them into the IBM Tivoli Enterprise Console environment. IBM Tivoli Enterprise Console adapters are the integration link. Adapters collect events, perform local filtering, translate relevant events to the proper format for the event console, and forward these events to the event server. A variety of adapters for systems, Tivoli

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

software applications, and third-party applications are available. To monitor a source (such as a third-party or custom application) that is not supported by an existing adapter, you can use Tivoli Event Integration Facility to create an adapter for the source. The Tivoli Event Integration Facility contains: An event application programming interface (API) library for use with the Java and C programming languages. The C library files are available for a wide range of operating systems, such as AIX, Hewlett-Packard UNIX (HP-UX), Windows, SGI IRIX, Solaris, and so on. A debugging function that checks event syntax and sends events to a file. The ability to exploit state correlation at the Event Integration Facility sender. You can use Tivoli Event Integration Facility to: Specify the event information to send to the event server for processing. Create an adapter to filter, translate, and then forward event information to the event server. Filter and correlate events near the source by using state correlation. Create an application that can receive events. Refer to the IBM Tivoli Event Integration Facility User's Guide Version 3.8, GC32-0691-01, for more information.

Tivoli Directory Integrator and Tivoli Netcool/OMNIbus


Tivoli Directory Integrator integration with Netcool/OMNIbus allows Tivoli Directory Integrator to create and send alerts and status information that can be recognized by the Netcool/OMNIbus Event Management system as events.

Architectural overview
Figure 4 on page 9 depicts the integration architecture of Tivoli Directory Integrator and Netcool/OMNIbus systems.

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

TDI
EIF EventSender
Netcool EventSender EIF Agent

EIF events Tivoli EIF Probe

Event Integration Facility (EIF) SDK

Figure 4 Tivoli Directory Integrator and Netcool/OMNIbus integration architecture

This integration enables Tivoli Directory Integrator to send events to the ObjectServer of the Netcool/OMNIbus system. The ObjectServer from Netcool/OMNIbus acts as the central place to receive events from various Probes and Monitors. As described in Introduction to IBM Tivoli Netcool/OMNIbus on page 3, the Probes connect to an event source, detect and acquire event data, and forward the data to the ObjectServer as alerts. Each probe is uniquely designed to acquire event data from a specific source. Tivoli Directory Integrator utilizes the Tivoli Netcool EIF Probe for sending events to the ObjectServer. The Tivoli Directory Integrator events are EIF-formatted events that can be recognized by the Tivoli EIF Probe and are forwarded to the ObjectServer of the Netcool/OMNIbus system. The following sections describe the Tivoli Netcool/OMNIbus EIF Probe and the Tivoli Directory Integrator EIF EventSender, which are key components of this integration.

Tivoli Netcool EIF Probe


A range of Tivoli products generate Event Integration Facility (EIF) messages. The Netcool/OMNIbus Probe for Tivoli EIF can receive EIF events sent from any of these Tivoli devices and forward them to the ObjectServer. This probe has been used in various integration scenarios between Tivoli availability products and Netcool/OMNIbus.

Tivoli Directory Integrator EIF EventSender component


The EIF EventSender component acts as the integration point from Tivoli Directory Integrator to communicate with the Tivoli EIF Probe. This component provides connectivity to the Tivoli
Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

EIF Probe and sends EIF events to it. The EIF EventSender component is distributed as a JAR file as a part of the Redpaper additional files (see Additional files on page 24). You need to copy this JAR file into the Tivoli Directory Integrator environment so that Tivoli Directory Integrator can connect to the Tivoli EIF probe. We document implementation and usage details of this component in The EIF EventSender component on page 20. This EIF EventSender component exposes certain APIs, which solution developers need to utilize for sending events to the Tivoli EIF Probe from Tivoli Directory Integrator.

Capturing Tivoli Directory Integrator Events with Netcool/OMNIbus Event List


This section illustrates the usage of Tivoli Directory Integrator integration with Netcool/OMNIbus system. From Tivoli Directory Integrator, EFI events are sent to the Tivoli EIF Probe. The Tivoli EIF Probe then forwards these events to the ObjectServer in Netcool/OMNIbus. The events sent by Tivoli Directory Integrator are displayed in the Netcool/OMNIbus Event List. The Netcool/OMNIbus Event List is a spreadsheet-like visualization tool that provides real-time customized views into data residing in the Netcool ObjectServer. The events are displayed by color to reflect their severity, such as red = Critical and green = Harmless. The Tivoli Directory Integrator events can be broadly categorized as:

Tivoli Directory Integrator Server Events


Events, such as Tivoli Directory Integrator server started, stopped, or failed events, can be sent to Netcool/OMNIbus. This is useful for monitoring Tivoli Directory Integrator as an application with the Netcool/OMNIbus system, similar to any other Tivoli application, for example, IBM Tivoli Monitoring (ITM). The screen capture in Figure 5 shows the Netcool/OMNIbus Event List displaying Tivoli Directory Integrator Server Events.

Figure 5 Netcool/OMNIbus Event List displays Tivoli Directory Integrator Server Events

Tivoli Directory Integrator Solution Events


Tivoli Directory Integrator acts as a platform for developing and deploying integration solutions. These solutions can actually cause changes in underlying data repositories. The execution status of such solutions (Tivoli Directory Integrator applications) can be formatted as EIF events and sent to the Netcool/OMNIbus system. Tivoli Directory Integrator Solution Events can describe the status of execution, such as, how many entries have been migrated to a target repository, what specific entries have been deleted from a data source, the status of a Tivoli Directory Integrator AssemblyLine, and so on.

10

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

The screen capture in Figure 6 shows the Netcool/OMNIbus Event List displaying Tivoli Directory Integrator Server and Solution Events.

Figure 6 Netcool/OMNIbus Event List displays Tivoli Directory Integrator Server and Solution Events

Tivoli Directory Integrator Data Source Events


Tivoli Directory Integrator provides a rich set of connectivity with various data sources, such as directory servers, databases, mail servers, FTP servers, messaging queues, file systems, and so on. Tivoli Directory Integrator also provides the capability to detect data-changes from these data sources, by means of the Delta feature and Changelog Connectors. You can utilize these features of Tivoli Directory Integrator to monitor data changes within back-end data sources. The information retrieved from the Delta feature and Changelog Connectors can then be formatted into an EIF event for the Netcool/OMNIbus system. For example, use Tivoli Directory Integrator to detect an entry modification with a back-end Lightweight Directory Access Protocol (LDAP) directory server and send this information as an EIF event to the Netcool/OMNIbus system. The screen capture in Figure 7 shows such events with the Netcool/OMNIbus Event List.

Figure 7 Netcool/OMNIbus Event List displays Tivoli Directory Integrator Data Source Events

Installation and Configuration


This section describes installation and configuration steps required for this integration. Refer to Additional files on page 24 for the various files that we use in this section that are packaged as part of this Redpaper.

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

11

Setting up the Tivoli Netcool/OMNIbus environment


Let us take a look at the prerequisites and the configuration steps.

Prerequisites
Ensure that the Tivoli Netcool/OMNIbus server and Tivoli EIF Probe are installed and running properly.

Configuration steps
Use these steps to configure Netcool/OMNIbus for the environment: 1. Replace the file tivoli_eif.rules of the Tivoli EIF Probe with the tivoli_eif.rules file that we provide with this Redpaper. 2. Restart the Tivoli Netcool/OMNIbus server and Tivoli EIF Probe. 3. Ensure that the Tivoli EIF Probe is listening for EIF events on a specific port mentioned with the tivoli_eif.rules file. The default value is 9999. These are the details required on the Netcool/OMNIbus side.

Setting up the Tivoli Directory Integrator environment


Let us take a look at the prerequisites and the configuration steps.

Prerequisites
Install Tivoli Directory Integrator 6.1.1.

Configuration steps
The steps are: 1. Copy the EIF SDK jar files, such as log.jar and evd.jar, inside the <TDI-install>/jars directory. These files can be obtained from Tivoli Enterprise Console support. 2. Copy the EIFEventSender.jar (packaged with this Redpaper) inside the <TDI-install>/jars directory. 3. Copy the eif.conf file (packaged with this Redpaper) onto the system where Tivoli Directory Integrator is installed. 4. Set the following properties in the eif.conf file: ServerLocation: ServerPort: Host name or IP address of the machine on which the Tivoli EIF Probe is listening for events. Port on which the Tivoli EIF Probe is listening for events (default 9999).

After you complete these prerequisites and follow these steps, you can use the Tivoli Directory Integrator EIF EventSender component inside Tivoli Directory Integrator solutions to send events to the Tivoli Netcool/OMNIbus server. Next, we document the EIF EventSender component.

Using EIF EventSender component


After you configure the prerequisites properly, Tivoli Directory Integrator solution developers can use the APIs exposed by the EIF EventSender component to initialize connections with the Tivoli EIF Probe and send Tivoli Directory Integrator events to it.

12

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

These APIs need to be specified inside the Tivoli Directory Integrator Solution (Hooks, Script components, and so on). For example, Figure 8 shows how to send an event TDI Server started from the AssemblyLines Begin Prolog Hook.

Figure 8 Using the EIF EventSender in Tivoli Directory Integrator

Refer to the APIs exposed by the Netcool EventSender and the Tivoli Enterprise Console EventSender components on page 21 for more details about API usage of the EIF EventSender component.

Tivoli Directory Integrator and Tivoli Enterprise Console


Tivoli Directory Integrator integration with Tivoli Enterprise Console allows Tivoli Directory Integrator to create and send alerts and status information that can be recognized by the Tivoli Enterprise Console Event Management system as events.

Architectural overview
The diagram in Figure 9 on page 14 depicts the integration architecture of Tivoli Directory Integrator and Tivoli Enterprise Console.

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

13

TDI
EIF EventSender
TEC EventSender EIF Agent

EIF events

Event Integration Facility (EIF) SDK

Figure 9 Tivoli Directory Integrator and Tivoli Enterprise Console integration architecture

This integration enables Tivoli Directory Integrator to send events to the Tivoli Enterprise Console event server. As described in Introduction to Tivoli Enterprise Console on page 5, the Tivoli Enterprise Console event server is a central server that handles all events in a distributed system. The Tivoli Enterprise Console event server receives events from event adapters. The event adapter is installed on the host machine that contains the system resource or application that will be monitored. It is possible to install more than one adapter on a host. By default, Tivoli Enterprise Console comes with various event adapters, such as LogFile Adapter, SNMP Adapter, HP OpenView Adapter, and so on. In addition, you can also develop your own custom event adapter for sending events from a third-party application to the Tivoli Enterprise Console event server. A custom event adapter needs to be developed using the Event Integration Facility (EIF) toolkit. The Tivoli Enterprise Console event server exposes the EIF interface, which allows EIF-enabled applications or adapters to send the EIF events to the Tivoli Enterprise Console event server. Tivoli Directory Integrator utilizes this feature and provides EIF connectivity to the Tivoli Enterprise Console event server for sending events to it. The Tivoli Directory Integrator events are EIF-formatted events that can be recognized by the Tivoli Enterprise Console system. The following sections discuss what is required at the Tivoli Enterprise Console in order to recognize Tivoli Directory Integrator events and the Tivoli Directory Integrator EIF EventSender component, which are key features of this integration.

14

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

Defining Tivoli Directory Integrator events with Tivoli Enterprise Console


This section describes the requirements at the Tivoli Enterprise Console to provide integration with Tivoli Directory Integrator. There are two configuration files that ship within the additional files for this Redpaper that need to be deployed on the Tivoli Enterprise Console system. These sections provide details about the configuration files.

Tivoli Directory Integrator BAROC file


Events that are generated by Tivoli Directory Integrator need to be recognized by the Tivoli Enterprise Console event server. Every event has to belong to a particular event class defined by the event adapter, and the event classes must be defined within the Tivoli Enterprise Console event server. To achieve this goal, Tivoli Directory Integrator event classes are defined within the tdi_events.baroc file, which ships within the additional files for this Redpaper. This file needs to be deployed to the Tivoli Enterprise Console system before sending events from Tivoli Directory Integrator. The event classes, such as TDI_Server_Started, TDI_Server_Stopped, TDI_AL_Started, and so on, are defined within this event class file. Refer to Setting up the Tivoli Enterprise Console environment on page 17 for deploying the BAROC file.

Tivoli Directory Integrator rules file


A Tivoli Enterprise Console rule is a construct that lets you specify what action to take when a certain event is received. Rules are written in a high-level language called the rule

language.

A simple rules file named tdi.rls ships within the additional files for this Redpaper to handle the Tivoli Directory Integrator events and perform tasks, such as closing or updating events with information from other events. This file must be deployed with the Tivoli Enterprise Console system before sending events from Tivoli Directory Integrator. Refer to Setting up the Tivoli Enterprise Console environment on page 17 for deploying the rules file.

Tivoli Directory Integrator EIF EventSender component


This section describes what is required at the Tivoli Directory Integrator to provide integration with Tivoli Enterprise Console. The EIF EventSender component acts as the integration point from Tivoli Directory Integrator to communicate with the Tivoli Enterprise Console event server. This component provides connectivity to the Tivoli Enterprise Console event server and sends the EIF events to it. The EIF EventSender component is distributed as a JAR file that ships within the additional files for this Redpaper. This JAR file needs to be copied to the Tivoli Directory Integrator environment so that Tivoli Directory Integrator can connect to the Tivoli Enterprise Console system. We document implementation and usage details for this component in The EIF EventSender component on page 20. This component exposes certain APIs that solution developers need to utilize for sending events to the Tivoli Enterprise Console event server from Tivoli Directory Integrator.

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

15

Capturing Tivoli Directory Integrator Events with Tivoli Enterprise Console Event Console
This section illustrates the usage of Tivoli Directory Integrator integration with the Tivoli Enterprise Console system. The events sent by Tivoli Directory Integrator are displayed on the Tivoli Enterprise Console Event Console. The Event Console provides a GUI that operators can use to view and respond to events. The Tivoli Enterprise Console product provides two versions of the Event Console: a Java-based version and a Web-based version. These sections display Tivoli Directory Integrator events with the Java version of the event console. The events are displayed by color to reflect their severity, such as red = Critical and green = Harmless. The Tivoli Directory Integrator events can be broadly categorized as: Tivoli Directory Integrator Server Events Events, such as Tivoli Directory Integrator server started, stopped, or failed, can be sent to the Tivoli Enterprise Console event server. This is useful for monitoring Tivoli Directory Integrator as an application with the Tivoli Enterprise Console system, similar to any other Tivoli application, for example, IBM Tivoli Monitoring (ITM). The screen capture in Figure 10 shows the Tivoli Enterprise Console Event Console displaying Tivoli Directory Integrator Server events.

Figure 10 Tivoli Enterprise Console displaying Tivoli Directory Integrator Server events

Tivoli Directory Integrator Solution Events Tivoli Directory Integrator acts as a platform for developing and deploying integration solutions. These solutions actually cause changes in the underlying data repositories. Execution status of such solutions (Tivoli Directory Integrator applications) can be formatted as EIF events and sent to the Tivoli Enterprise Console system. Tivoli Directory Integrator Solution Events describe the status of execution, such as how many entries migrated to the target repository, the specific entries deleted from a data source, the status of a Tivoli Directory Integrator AssemblyLine, and so on. The screen capture in Figure 11 on page 16 shows the Tivoli Enterprise Console Event Console displaying Tivoli Directory Integrator Server and Solution Events.

Figure 11 Tivoli Enterprise Console displaying Tivoli Directory Integrator Server and Solution Events

16

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

Tivoli Directory Integrator Data Source Events Tivoli Directory Integrator provides a rich set of connectivity with various data sources, such as directory servers, databases, mail servers, FTP servers, messaging queues, file systems, and so on. Tivoli Directory Integrator also provides capabilities to detect data changes from these data sources by means of the Delta feature and Changelog Connectors. These features of Tivoli Directory Integrator can be utilized to monitor data changes with back-end data sources. The information retrieved from the Delta feature and Changelog Connectors can be formatted into an EIF event for the Tivoli Enterprise Console event server. For example, use Tivoli Directory Integrator to detect an entry modification in a back-end LDAP server and send this information as an EIF event to the Tivoli Enterprise Console system. The screen capture in Figure 12 shows these events with the Tivoli Enterprise Console Event Console.

Figure 12 Tivoli Enterprise Console displaying Tivoli Directory Integrator Data Source Events

Installation and configuration


This section describes the installation and configuration steps required for this integration. Refer to Additional files on page 24 for the various files used in this section that are packaged within the additional files for this Redpaper.

Setting up the Tivoli Enterprise Console environment


Let us take a look at the prerequisites and the configuration steps.

Prerequisites
Ensure that Tivoli Enterprise Console 3.9 and its required prerequisites are installed and running properly.

Configuration steps
To configure the Tivoli Enterprise Console environment: 1. Define Tivoli Directory Integrator as a source of events. For Tivoli Enterprise Console to recognize Tivoli Directory Integrator as a source of events, you are required to define a Tivoli Directory Integrator source string with it. Tivoli Directory Integrator sends events to Tivoli Enterprise Console with a source string of TDI. The following sample steps illustrate how to define a TDI source string with Tivoli Enterprise Console: a. Issue the following command from a Windows command prompt to set up the Windows system environment for Tivoli commands: %SystemRoot%\system32\drivers\etc\Tivoli\setup_env (On UNIX, this is . /etc/Tivoli/setup_env.sh for Bourne shell environments.)
Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

17

b. Execute the following command: wcrtsrc TDI 2. Import the BAROC file. The file tdi_events.baroc defines the Tivoli Directory Integrator event classes that need to be deployed within the Tivoli Enterprise Console system. You can read more information about importing a BAROC file in IBM Tivoli Enterprise Console Command and Task Reference Version 3.9, SC32-1232. These are the sample steps for importing tdi_events.baroc: a. Issue the following command from a Windows command prompt to set up the Windows system environment for Tivoli commands: %SystemRoot%\system32\drivers\etc\Tivoli\setup_env (On UNIX, this is . /etc/Tivoli/setup_env.sh for Bourne shell environments.) b. The following commands import the Tivoli Directory Integrator event class specifications into the Tivoli Enterprise Console event server: wrb wrb wrb wrb -crtrb -path C:/TDI_Rules TDI_Rules -imprbclass "C:/tdi_events.baroc" TDI_Rules -comprules TDI_Rules -loadrb TDI_Rules

c. Restart the Tivoli Enterprise Console server by using the following commands: wstopesvr Wait approximately 10 seconds. wstartesvr 3. Import the Tivoli Directory Integrator rule set. The file tdi.rls defines rules for handling Tivoli Directory Integrator events. The file needs to be deployed within the Tivoli Enterprise Console system. You can read more information regarding importing a rule set file in IBM Tivoli Enterprise Console Command and Task Reference Version 3.9, SC32-1232. The sample steps for importing the tdi.rls file are: a. Issue the following command from a Windows command prompt to set up the Windows system environment for Tivoli commands: %SystemRoot%\system32\drivers\etc\Tivoli\setup_env b. The following commands import the Tivoli Directory Integrator rule set specifications into the Tivoli Enterprise Console event server: wrb -imprbrule tdi.rls TDI_Rules wrb -imptgtrule tdi EventServer TDI_Rules wrb -comprules TDI_Rules wrb -loadrb -use TDI_Rules 4. Ensure that the Tivoli Enterprise Console server is running properly with the updates that you have just made by sending test events and verifying that the behavior of the rules is as expected. These are the things required at the Tivoli Enterprise Console to recognize Tivoli Directory Integrator events properly.

Setting up the Tivoli Directory Integrator environment


Let us take a look at the prerequisites and the configuration steps.

18

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

Prerequisites
Install Tivoli Directory Integrator 6.1.1.

Configuration steps
The steps are: 1. Copy the EIF SDK jar files, such as log.jar and evd.jar, inside the <TDI-install>/jars directory. You can obtain these files from Tivoli Enterprise Console support. Get the latest EIF SDK files at patch 0054 at the time of writing this Redpaper, because this patch fixes bugs in the Java implementation. 2. Copy the EIFEventSender.jar (which ships within the additional files for this Redpaper) into the <TDI-install>/jars directory. 3. Copy the eif.conf file (which ships within the additional files for this Redpaper) onto the system where Tivoli Directory Integrator is installed. 4. Set the following properties in the eif.conf file: ServerLocation: ServerPort: Host name or IP address of the machine on which Tivoli Enterprise Console server is listening for events. Port on which Tivoli Enterprise Console server is listening for events (the default is 5529).

5. Depending on the environment, change your firewall configuration so that the Tivoli Directory Integrator server can reach the Tivoli Enterprise Console server on port 5529/tcp. After you implement these prerequisites and complete these steps, you can use the Tivoli Directory Integrator EIF EventSender component inside Tivoli Directory Integrator solutions to send events to the Tivoli Enterprise Console event server. We document the EIF EventSender component in the next section.

Using EIF EventSender component


After you configure the prerequisites properly, Tivoli Directory Integrator solution developers can use the APIs exposed by the EIF EventSender component for initializing connections with the Tivoli Enterprise Console event server and sending Tivoli Directory Integrator events to it. These APIs needs to be specified inside your Tivoli Directory Integrator Solution (Hooks, script components, and so on). For example, the screen capture in Figure 13 on page 20 shows how to send an event TDI Server started from the AssemblyLines Begin Prolog Hook.

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

19

Figure 13 Using the EIF EventSender in Tivoli Directory Integrator

Refer to the APIs exposed by the Netcool EventSender and the Tivoli Enterprise Console EventSender components on page 21 for more details about API usage of the EIF EventSender component.

The EIF EventSender component


The Tivoli Directory Integrator EIF EventSender component allows Tivoli Directory Integrator to communicate with the Netcool Tivoli EIF Probe and the Tivoli Enterprise Console using EIF APIs. In the following section, we describe the implementation details and how you can best utilize the EIF EventSender component within a Tivoli Directory Integrator environment.

Implementation Details
The block diagram in Figure 14 on page 21 describes the component design in detail.

20

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

TDI
Files XML, CSV LDAP JMS / MQ LDIF, DMSL Script, Java POP, IMAP Web Services

TDI Event details

EIF EventSender

Netcools Tivoli EIF Probe

AssemblyLines

Netcool EventSender TEC EventSender

EIF Event
EIF Agent

EIF Event
SAP, Siebel Peoplesoft GLA, RAC Domino JDBC

Event Integration Facility (EIF) SDK TEC Server

Data/Event sources

HTTP, TCP CCMDB, CEI

Figure 14 Tivoli Directory Integrator EIF EventSender component

The EIF EventSender component is divided into two subcomponents, such as the Netcool EventSender and the Tivoli Enterprise Console EventSender, to send events to the respective event receivers. Both subcomponents receive the event messages, convert it to the appropriate event formats, and pass it to the EIF Agent component. The EIF Agent component further forwards these events to the event receivers, such as the Tivoli EIF Probe or Tivoli Enterprise Console event server. The EIF Agent component uses the eif.conf file (which ships within the additional files for this Redpaper) to initialize the EIF connection properties. The EIF EventSender component exposes certain APIs so that solution developers can utilize them for sending EIF events to Netcool/OMNIbus or the Tivoli Enterprise Console system. In the following section, we describe the various APIs exposed by the EIF Event Sender component.

APIs exposed by the Netcool EventSender and the Tivoli Enterprise Console EventSender components
The component Netcool EventSender (com.ibm.di.EIFEventSender.NetcoolEventSender) and TEC EventSender (com.ibm.di.EIFEventSender.TECEventSender) expose the same set of APIs and format the events appropriately before sending them to the respective event receiver. The following APIs are exposed by both components: boolean init(String eif_conf_file_path) This API is used for initializing the connection with the Event Receiver. Specify the eif.conf file path as a parameter to it. On successful initialization, this API returns true. For example, var bConnect = objNetcool.init("c:/eif.conf"");

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

21

int sendEvent_ServerStarted(String msg) This API is used to send a Tivoli Directory Integrator server start event. Specify the message string as a parameter to it. On success, this API returns a positive integer value. For example, sendEvent_ServerStarted("TDI Server started successfully") int sendEvent_ServerStopped(String msg) This API is used to send a Tivoli Directory Integrator server stop event. Specify the message string as a parameter to it. On success, this API returns a positive integer value. For example, sendEvent_ServerStarted("TDI Server stopped successfully") int sendEvent_ALStarted(String msg) This API is used to send a Tivoli Directory Integrator AssemblyLine start event. Specify the message string as a parameter to it. On success, this API returns a positive integer value. For example, sendEvent_ALStarted("AssemblyLine AL1 started successfully") int sendEvent_ALStopped(String msg) This API is used to send a Tivoli Directory Integrator AssemblyLine stop event. Specify the message string as a parameter to it. On success, this API returns a positive integer value. For example, sendEvent_ALStopped("AssemblyLine AL1 stopped successfully") int sendEvent_ALStatus(String msg) This API is used to send a Tivoli Directory Integrator AssemblyLine status event. Specify the message string as a parameter to it. On success, this API returns a positive integer value. For example, sendEvent_ALStatus("AssemblyLine AL1 status is- Get:1, Add:1") int sendEvent(String eventString, String eventSource, String eventClassName) This API is used to send a custom Tivoli Directory Integrator event. This provides the flexibility to send customized events for advanced users. On success, this API returns a positive integer value. Specify the message, Event source, and Event class as parameters to it. For example, sendEvent("TDI's Server API layer is down", "TDI ", "TDI_Event") Requirement: When using this API to send events to the Tivoli Enterprise Console, the string used for eventSource must have a matching source definition on the Tivoli Enterprise Console machine. You must not send arbitrary strings unless they are defined using the TEC command wcrtsrc. The Tivoli Enterprise Console might refuse to parse events with an unknown source attribute. We recommend that you always use the source string TDI. int sendEvent_DataSource(String msg) This API is used to send a DataSource update event from Tivoli Directory Integrator. Specify the message string as a parameter to it. On success, this API returns a positive integer value. For example, sendEvent_DataSource("Entry cn=user1,o=ibm,c=us added into TDS running on testmachine.com") boolean terminate() This API is used to terminate connection with the Event Receiver. On successful termination, this API returns true.

22

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

API usage
This section illustrates how Tivoli Directory Integrator solution developers can utilize APIs exposed by the Netcool EventSender and the Tivoli Enterprise Console EventSender components to send events from Tivoli Directory Integrator to the respective event servers.

Using the Netcool EventSender component


Example 1 is a sample Tivoli Directory Integrator script that describes how to use the APIs shown in APIs exposed by the Netcool EventSender and the Tivoli Enterprise Console EventSender components on page 21 to send Tivoli Directory Integrator server and AssemblyLine events to Netcool Tivoli EIF Probe. You can write this script any place within the Tivoli Directory Integrator solution.
Example 1 Using the Netcool Event Sender component

//Initializing connection with Tivoli EIF Probe for sending event var objNetcool= new Packages.com.ibm.di.EIFEventSender.NetcoolEventSender(); var b = objNetcool.init("C:/Dinesh/NetCool/TEC/EIFSDK/samples/eif.conf"); //Successful initialization returns true main.logmsg("=== Initialize: " +b); //Send event as TDI Server started var rc= objNetcool.sendEvent_ServerStarted("TDI Server started successfully"); //Successful event posting returns positive integer value main.logmsg("=== Server Started: " +rc); system.sleep(5); //Send event as TDI AssemblyLine AL3 started rc= objNetcool.sendEvent_ALStarted("AL3 started"); main.logmsg("=== AL Started: " +rc); system.sleep(5); //Send event as TDI AssemblyLine AL3 stopped rc= objNetcool.sendEvent_ALStopped("AL3 stopped"); main.logmsg("=== AL Stopped: " +rc); system.sleep(5); //Send event as TDI Server stopped rc= objNetcool.sendEvent_ServerStopped("TDI Server stopped"); main.logmsg("=== Server stopped: " +rc); //Terminate connection with Tivoli EIF Probe b= objNetcool.terminate(); main.logmsg("=== Terminated: " +b);

Using the Tivoli Enterprise Console EventSender component


Example 2 on page 24 is a sample Tivoli Directory Integrator script that describes how to use the APIs shown in APIs exposed by the Netcool EventSender and the Tivoli Enterprise Console EventSender components on page 21 to send Tivoli Directory Integrator Server and AssemblyLine events to the Tivoli Enterprise Console event server. You can include this script inside any place within the Tivoli Directory Integrator solution.

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

23

Example 2 Using the Tivoli Enterprise Console EventSender component

//Initializing connection with TEC event server for sending event var objTEC= new Packages.com.ibm.di.EIFEventSender. TECEventSender(); var b = objTEC.init("C:/Dinesh/NetCool/TEC/EIFSDK/samples/eif.conf"); //Successful initialization returns true main.logmsg("=== Initialize: " +b); //Send event as TDI Server started var rc= objTEC.sendEvent_ServerStarted("TDI Server started successfully"); //Successful event posting returns positive integer value main.logmsg("=== Server Started: " +rc); system.sleep(5); //Send event as TDI AssemblyLine AL3 started rc= objTEC.sendEvent_ALStarted("AL3 started"); main.logmsg("=== AL Started: " +rc); system.sleep(5); //Send event as TDI AssemblyLine AL3 stopped rc= objTEC.sendEvent_ALStopped("AL3 stopped"); main.logmsg("=== AL Stopped: " +rc); system.sleep(5); //Send event as TDI Server stopped rc= objTEC.sendEvent_ServerStopped("TDI Server stopped"); main.logmsg("=== Server stopped: " +rc); //Terminate connection with TEC event server b= objTEC.terminate(); main.logmsg("=== Terminated: " +b);

Additional files
The additional files for this Redpaper are distributed in the following .zip file:

TDIs_Integration_with_Netcool-OMNIbus_and_TEC.zip.
This .zip file consists of several files that you must deploy on the Tivoli Directory Integrator, Tivoli Netcool/OMNIbus, and Tivoli Enterprise Console systems. This section documents details about the files that are required for this integration.

Tivoli Directory Integrator files


The directory TDI_files inside the package consists of all of the files that you must deploy with Tivoli Directory Integrator and the optional Tivoli Directory Integrator examples.

Tivoli Directory Integrator setup files


The directory TDI_setup_files contains all the necessary Tivoli Directory Integrator related files required for Tivoli Directory Integrator integration with Netcool/OMNIbus and Tivoli Enterprise Console. Details about each files deployment are documented in its respective

24

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

section (Tivoli Directory Integrator and Tivoli Netcool/OMNIbus on page 8 and Tivoli Directory Integrator and Tivoli Enterprise Console on page 13).

Tivoli Directory Integrator Examples


The directory TDI_examples contains Tivoli Directory Integrator configuration files that illustrate how to use the Tivoli Directory Integrator EIF EventSender component to send various types of events to the Netcool/OMNIbus and Tivoli Enterprise Console systems. You can execute these configuration files from Tivoli Directory Integrator Config Editor (ibmditk) or from the command-line utility (ibmdisrv). Each example consists of two AssemblyLines: one AssemblyLine for sending events to Netcool/OMNIbus and another AssemblyLine for sending events to Tivoli Enterprise Console. Example1 demonstrates how to send Tivoli Directory Integrator Server Events. Example2 demonstrates how to send Tivoli Directory Integrator Server and Application (AssemblyLine execution details) Events. Example3 illustrates how to send Data Source Events using the IBM Directory Server Changelog Connector.

Tivoli Netcool/OMNIbus files


The directory Netcool_files contains all of the files that you need to deploy with Tivoli EIF Probe for this integration. We document the details about the deployment of these files in Setting up the Tivoli Netcool/OMNIbus environment on page 12.

Tivoli Enterprise Console files


The directory TEC_files contains all of the files that you need to deploy with Tivoli Enterprise Console for this integration. We document the details about the deployment of these files in Setting up the Tivoli Enterprise Console environment on page 17.

References
You can obtain Tivoli online documentation at these Web sites: Tivoli Directory Integrator 6.1.1 Information Center http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/com.ibm.IBMDI.doc_ 6.1.1/welcome.htm Tivoli Enterprise Console 3.9 Information Center http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/topic/com.ibm.itec.doc_3 .9/welcome_nd.html Netcool/OMNIbus 7.1 Information Center http://publib.boulder.ibm.com/infocenter/tivihelp/v8r1/index.jsp?topic=/com.ibm .netcool_OMNIbus.doc/welcome.htm Event Integration Facility Reference Guide http://publib.boulder.ibm.com/infocenter/tivihelp/v3r1/topic/com.ibm.itecefiref .doc/ecoemst.htm

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

25

The team that wrote this IBM Redpaper


This paper was produced by specialists from around the world working at the International Technical Support Organization, Austin Center. Axel Buecker is a Certified Consulting Software IT Specialist at the International Technical Support Organization, Austin Center. He writes extensively and teaches IBM classes worldwide on areas of Software Security Architecture and Network Computing Technologies. He holds a degree in computer science from the University of Bremen, Germany. He has more than 20 years of experience in a variety of areas related to Workstation and Systems Management, Network Computing, and e-business Solutions. Before joining the ITSO in March 2000, Axel worked for IBM in Germany as a Senior IT Specialist in Software Security Architecture. Dinesh Jain is a Staff Software Engineer from IBM India Software Lab, Pune. He has been part of the Tivoli Directory Integrator team for the past four years. In his role, Dinesh is responsible for improving performance of the product. Dinesh enjoys exploring the depth of Tivoli Directory Integrator for developing integration solutions and supporting the global Tivoli Directory Integrator community. At the time of writing this paper, he had filed one patent and published several developerWorks articles. Dinesh holds a Masters degree of Computer Science from the University of Pune, India. Thanks to the following people for their contributions to this project: Johan Varno, IBM Norway Dave Bachmann, IBM US Thomas Seeling, IBM Germany Sanil Nambiar, IBM India

26

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console

Notices
This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.

Copyright International Business Machines Corporation 2007. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

27

This document REDP-4352-00 was created or updated on October 11, 2007. Send us your comments in one of the following ways: Use the online Contact us review IBM Redbooks form found at: ibm.com/redbooks Send your comments in an e-mail to: redbooks@us.ibm.com Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HYTD Mail Station P099 2455 South Road Poughkeepsie, NY 12601-5400 U.S.A.

Redpaper

Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both:
Redbooks (logo) AIX AS/400 IBM Netcool NetView Tivoli Enterprise Tivoli Enterprise Console Tivoli TME

The following terms are trademarks of other companies: Java, Solaris, and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries.

Other company, product, or service names may be trademarks or service marks of others.

28

Creating EIF Events with Tivoli Directory Integrator for Tivoli Netcool/OMNIbus and Tivoli Enterprise Console