2Siebel Enterprise Integration Manager: an Overview

Siebel Enterprise Integration Manager: an Overview

This chapter explains how to configure and use Siebel Enterprise Integration Manager.

This chapter includes the following sections:

About Siebel Enterprise Integration Manager

Siebel Enterprise Integration Manager (EIM) is a server component in the Siebel EAI component group that transfers data between the Siebel database and other corporate data sources. This exchange of information is accomplished through intermediary tables called EIM tables. (In earlier releases, EIM tables were known as interface tables.) The EIM tables act as a staging area between the Siebel application database and other data sources.

EIM is your primary method of loading mass quantities of data into the Siebel database. You should use EIM to perform bulk imports, updates, merges, and deletes of data. Examples of each of the main EIM functions (import, export, update, and delete) are provided in EIM Functions.

In the Siebel application database, there are application tables (known as base tables), which Siebel applications use. For data to come from other corporate data sources (external databases) into Siebel application tables, the data must go through EIM tables. So the data exchanges between the Siebel database and external databases occurs in two parts:

  1. Load data into EIM tables.

  2. Run Siebel EIM to import the data from the EIM tables into the Siebel base tables.

Note: While the first part of this data-exchange process involves the intermediary tables that are called EIM tables, only the second part of the process involves the functionality of Siebel EIM.

When data is entered through the Siebel user interface, the application references properties set at the business component object type. However, when data is entered into Siebel base tables through EIM, EIM references properties set at the table object type.

Note: You must use EIM to perform bulk imports, exports, merges, and deletes, because Oracle does not support using native SQL to load data directly into Siebel base tables (the tables targeted to receive the data). You should also be aware that EIM translates empty strings into NULL.

EIM Functions

This guide explains how to configure and use Siebel EIM to perform the functions described in this topic. Each function is discussed separately in the chapters referenced.

Import New and Revised Data into Siebel Base Tables

The EIM import function can be used in several different ways:

  • When initially implementing a Siebel application, load the Siebel database tables with data and file attachments created by external applications. For example, you can import information about product lines and products from an inventory control database into the Products entity in the Siebel database.

  • As part of maintaining the Siebel database, you can use EIM for data archival. This not only provides customers with a Siebel database that is optimally using the resources available to it, but also streamlines the implementation of a corporate data archival strategy.

  • As part of maintaining a non-Siebel database, you can update it with information from the Siebel database. For example, you might add new customers to an accounting database from the Siebel database.

See Importing Data for a detailed discussion of the import function.

Export Data from Siebel Base Tables

The data contained within a Siebel application is available for transfer to non-Siebel applications by using EIM. When implementing a non-Siebel application, you can export data from the Siebel database tables for use by that application. For example, you can export employee information to a corporate sales commission application. See Exporting Data for a detailed discussion of the export function.

Delete Data from Siebel Base Tables

As part of maintaining the Siebel database, you can identify rows to be deleted from a table and its associated child and intersection tables. For example, you might delete an obsolete product line and its associated products. See Deleting Data for a detailed discussion of the delete function.

Merge Data in Siebel Base Tables

In response to such external events as corporate mergers, you can merge two or more database rows into a single row. For example, you might merge the Frame, Inc. account information into the Adobe Corp. account. See Merging Data for a detailed discussion of the merge function.

Process Flow Between EIM and Other Databases

For each EIM process, you need to complete the following sequence of steps.

  1. Prepare the EIM tables. For delete, merge, or import operations, the EIM tables require loading with representative data that allows EIM to identify the specific Siebel base table on which to operate. You can use either an SQL ancillary program utility or native SQL to perform this function. The structure of the EIM tables has the required mappings for the primary (or target) base table and other base tables that are serviced by the EIM table. The EIM export processes require minimal preparation of the EIM tables.

    When an export operation takes place, the EIM tables are populated with data from the Siebel base tables. Therefore, you can use either an SQL ancillary program or native SQL to transfer data from the Siebel application to a non-Siebel application. For more information, see Siebel EIM Tables.

  2. Edit the EIM configuration file. An ASCII or Unicode (binary) text file of extension type .IFB that resides in the Siebel Server/admin directory allows you to define the type of EIM processes to be performed: export, delete, merge, or import. For more information, see EIM Configuration File.

  3. Run EIM. EIM is submitted as a Siebel Server batch component task either from the Administration - Server Management views or from the Server Manager command line interface. For more information, see Running EIM.

  4. Check results. The EIM component task produces a log file, which provides tracing information about the process. The tracing information produced is variable dependent upon the EIM component task parameters used and the Siebel Server event logging deployed for the EIM component. As always, during testing operations you should check the EIM processes using increased tracing information, and then reduce tracing when the process is deployed to production.

The following image illustrates the process flow between a non-Siebel database and Siebel EIM database as follows:

  • A non-Siebel database uses an SQL ancillary program utility to receive or send data to Siebel EIM tables.

  • Siebel EIM moves data between Siebel EIM tables and Siebel base tables.

Process Flows Between Siebel Database and Other Databases: This image is described in the surrounding text.

Mobile Web Client Requirements

Due to the complexity of table relationships and Mobile Web Client requirements, you must use EIM to import data into Siebel base tables.

Caution: Do not attempt to modify data directly in the physical tables. Oracle does not support performing this activity for the reasons that follow. The logical relationships that exist within the Siebel base tables are many and complex, as governed by the Siebel repository metadata. Direct modification of Siebel base tables is not supported because there is a high risk of data integrity corruption. EIM maintains data integrity and resolves foreign key relationships during the import process. In addition, EIM data inserts, updates, or deletions are routed to mobile users with Siebel Remote local databases or Siebel replicated nodes.

The only exception is when you are migrating the entire Siebel schema from one database to another. In this case, you may select to use a tool provided by the database vendor to migrate the data.

In other rare cases where EIM cannot be used, it may be possible to use Siebel Visual Basic (VB) to insert, update, or delete large amounts of data. For information on VB methods, see Siebel VB Language Reference.

For initial data loading, you should consider set-based operations for all EIM processes. To maximize performance, you should also consider running EIM processes in parallel.

For ongoing operations, if you are using Mobile Web Clients within your architecture, you should consider EIM in row-by-row operations for the data that is required of the Mobile Web Clients. Running large EIM processes and set-based operations usually requires performing a database extraction for Mobile Web Clients, if the data being manipulated affects them.