This chapter describes how to set up the integration between Oracle Business Activity Monitoring (Oracle BAM) and Oracle Data Integrator (ODI), and create the Oracle BAM targets in ODI. It describes in detail the Oracle BAM knowledge modules for loading from source data stores, integration to target data stores, checking, reverse-engineering, journalizing, and creating services.
This chapter includes the following sections:
Section 57.2, "Installing the Oracle Data Integrator Integration Files"
Section 57.6, "Updating the Oracle Data Integrator External Data Source Definition"
Section 57.7, "Launching Oracle Data Integrator Scenarios From Oracle BAM Alerts"
Section 57.9, "Installation Files for Integrating Oracle BAM and Oracle Data Integrator"
Oracle Data Integrator documentation is located on the Oracle Technology Network web site at the following location:
http://www.oracle.com/technetwork/middleware/data-integrator
In Oracle BAM 11g Release 1 (11.1.1.7.0), Oracle introduces new functionality to the integration with ODI. This functionality is supported when both Oracle BAM and ODI are installed on Oracle WebLogic Server. The following release configurations are supported:
Oracle BAM 11.1.1.x.0 with ODI 10.1.3.5 up to patch level 10.1.3.6.8
Oracle BAM 11.1.1.7.0 with ODI 11.1.1.7.0
Note that, although Oracle BAM itself is supported on IBM WebSphere, this integration with ODI is not supported on IBM WebSphere.
Beginning with 11g Release 1 (11.1.1.7.0), Oracle BAM can run within either Oracle WebLogic Server or IBM WebSphere. This type of deployment not only provides the many advantages of an application server, but also makes it easier to install and upgrade ODI and Oracle BAM independently of each other.
The IBM WebSphere implementation of ODI is not available.
Oracle BAM communicates with ODI by using the ODI Agent. This ODI Agent can be one of three kinds depending on which release of Oracle BAM you are using.
If you are using Oracle BAM before 11.1.1.7.0, then the ODI Agent can be either a standalone Java application or embedded in the ODI client.
If you are using ODI 11.1.1.7.0 and Oracle BAM 11.1.1.7.0, then the ODI Agent can also be a J2EE application.
This type of ODI Agent references a shared J2EE library to run code in the Oracle BAM knowledge modules described in Section 57.3, "Using Oracle BAM Knowledge Modules". This shared J2EE library, named oracle.bam.odi_11.1.1.jar
, must be deployed on the same application server as the ODI J2EE Agent, which is part of the ODI environment. You can deploy the shared J2EE library by running a script as explained in Section 57.2.1, "How to Install Oracle BAM-ODI Integration Files Using the Script".
You install Oracle BAM-ODI integration with shell scripts, Java code, and ant scripts. These files are located in the subdirectory of ORACLE_HOME
where the installation binaries for Oracle BAM reside—for example, ORACLE_HOME
/bam/
.
In releases before Oracle BAM Release 11.1.1.7.0, the entire BAM-ODI installation is invoked by a shell script, bam-odi-configuration.sh
(or .bat
). This script is also used in version 11.1.1.7.0 for Oracle BAM-ODI integration for both ODI 10g and ODI 11g (backwards compatible).
For ODI 11g, however, this shell script is not for the entire Oracle BAM-ODI installation. It simply provides what was previously available in ODI 10g, namely, the client-side functionality of ODI 11g. To incorporate the new functionality provided in ODI 11g—for example, integration with the ODI J2EE Agent—additional steps in the Oracle BAM-ODI installation are required as explained in this chapter.
When using Oracle Data Integrator with Oracle BAM, keep the following in mind:
Within the Oracle Data Integrator interface you must add quotation marks around field names that contain spaces.
Oracle Data Integrator cannot insert data into Oracle BAM read-only fields of type Lookup, Calculated, Auto-incrementing integer, and Timestamp. These fields are automatically populated. Although Oracle Data Integrator enables you to select these fields as target fields, running Oracle Data Integrator with these fields populated throws an exception.
Do not use Oracle BAM as a staging area; for example, if Oracle BAM is used as a source (as when using a loading knowledge module), then do not use this source as staging area. If Oracle BAM is being used as a target (as when using an integration knowledge module) then do not use that target as a staging area.
Oracle BAM-ODI integration as a separate component installed on top of both Oracle BAM and ODI. Install both Oracle BAM and ODI before installing the integration component.
This chapter assumes the following:
The Oracle database is installed and you can connect to it.
Oracle BAM is installed and running.
Oracle Data Integrator installed and the basic configuration is done (the Oracle Data Integrator Master repository is created, repository connections are configured, Work repositories are created and connected, and any source topologies are configured).
If Oracle Data Integrator is installed on a separate host, then Java 1.6 must be installed on the Oracle Data Integrator host before you can work with the Oracle BAM and Oracle Data Integrator integration.
There are two ways to set up the Oracle BAM and Oracle Data Integrator integration.
The first method uses an installation script, typically when Oracle Data Integrator and Oracle BAM are deployed on the same system or the same network file system (Section 57.2.1, "How to Install Oracle BAM-ODI Integration Files Using the Script").
The second method uses manual steps to configure the properties and copy the required files to the Oracle Data Integrator directories (Section 57.2.3, "How to Manually Install Integration Files"). This method is typically used if you are unable to map the ODI_HOME
drive from the system where Oracle BAM is installed (usually when Oracle Data Integrator and Oracle BAM are installed in different network or file system).
The logs contain information about the installation and the integration messages. See Section 57.2.4, "Using the Logs" for more information.
Recommended Memory Settings for Using Oracle Data Integrator with Oracle BAM
The default memory settings for Oracle Data Integrator are included in the odiparams.sh
script (or odiparams.bat
for windows). The values for the ODI_INIT_HEAP
and ODI_MAX_HEAP
properties default to 32M and 256M. It is recommended that you change these values to 256 M and 1024 M respectively. This enhances Oracle Data Integrator performance. Otherwise, Oracle Data Integrator OutOfMemory
errors may occur, especially when running memory intensive tasks.
Use the installation script when you have Oracle Data Integrator and Oracle BAM installed on the same system or the same network file system.
A log file called utility.log
is created if there is a problem with the installation. The file location is controlled by the utility.logging.properties
file. See Section 57.2.4, "Using the Logs" for more information.
To install the integration files:
Verify that Oracle BAM Server is running and reachable from the Oracle Data Integrator host.
On the Oracle BAM host, go to the ORACLE_HOME
\bam\config
directory and edit the bam_odi_configuration.properties
file. In that file, specify the WL_SERVER property. This property identifies the Oracle WebLogic Server folder name on the Oracle BAM system. The default value is wlserver_10.3
.
Note:
If Oracle BAM Server and Oracle Data Integrator are deployed on two different hosts, then you must map the Oracle Data Integrator drive on the Oracle BAM system, and then set the ODI_HOME
path using that mapped drive to successfully make use of the integration configuration scripts. If drive mapping is not possible see Section 57.2.3, "How to Manually Install Integration Files."
In Release 11g, ODI_HOME is installed with the developer install type which includes studio component.
In the file bam-odi-configuration.properties
located in the ./config/
directory, modify the following properties:
ODI_HOME
: ODI client directory, that is, the oracledi
directory.
Example: /scratch/jdoe/odiHome11g/oracledi
WL_SERVER
: Oracle WebLogic Server server directory name. If not running on Weblogic, then this property is ignored.
ODI_VERSION
: Version of ODI to be used with BAM-ODI integration. Specify either 10g or 11g.
SERVER_NAME
: Name or IP address of machine on which the Oracle BAM server is running. The default is localhost
.
SERVER_PORT
: Port on which Oracle BAM server is listening. The default is 9001.
If you are using Release 11g, then deploy the shared library. The shared library is the file oracle.bam-odi_11.1.1.jar
, and you deploy it by running the script deploy_shared_lib.sh
. When prompted, enter the username and password. Optionally, you can also enter arguments for serverName
and serverPort
.
The script deploy_shared_lib.sh
deploys the file oracle.bam.odi.jar
on the target AdminServer you specify (or localhost
as default) at the specified port (or 7001 as default)—for example: deploy_shared_lib.sh weblogic welcome1 localhost 7001
.
To undeploy the shared library, run undeploy_shared_lib.sh
providing the username and password and, optionally, the arguments for serverName
and serverPort
—for example undeploy_shared_lib.sh weblogic welcome1 localhost 7001
.
Ensure that the application server on which the Oracle BAM server resides is running.
Execute bam_odi_configuration.sh
(or bam_odi_configuration.bat
on a Microsoft Windows host) in ORACLE_HOME
\bam\bin
.
Enter the values as prompted by the script. You must have the Oracle Data Integrator Master and Oracle Data Integrator Work repository account credentials to complete the script execution.
The prompts displayed with [value
] have default values in the brackets. Press Enter to choose the default. If there is no bracketed default value displayed, an input value is required, or the script stops.
Note:
If you cannot use the script in your environment, use the instructions in Section 57.2.3, "How to Manually Install Integration Files."
Note:
Every time bam_odi_configuration.sh
is run, a backup of the BAMODIConfig.xml
file is created in the same directory with a time stamp, and the old file is overwritten with the new file. If you made any changes to the property settings in the old version of BAMODIConfig.xml
, those changes must be made again in the latest version.
The script branches on the server platform type (either Oracle WebLogic Server or IBM WebSphere) and ODI Version (either 10g or 11g) according to the values you specified in the file bam-odi-configuration.properties
in Step 3.
For information on certification questions, see Oracle Fusion Middleware Supported System Configurations at the following URL:
http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html
If you specified installing Release 10g:
then the script creates the resources required in the Oracle BAM web applications, sets the Oracle BAM configuration properties in Oracle Data Integrator, generates an Oracle WebLogic Server client Java Archive (JAR) to deploy to the Oracle Data Integrator system, and copies all of the required files into the appropriate Oracle Data Integrator directories.
While the script is running the following message may appear: "Trying to contact Oracle BAM Server. It may take few minutes." If Oracle BAM Server cannot be reached, the script retries the connection multiple times.
If you specified installing Release 11:
You are prompted to give Oracle BAM and ODI credentials for the creation of Oracle BAM external data sources and other data objects. ICommand then connects to the Oracle BAM server to create these data objects.
The Oracle BAM Jar files needed for the ODI client are copied into the directory ~user/.odi/oracledi/userlib
, which is the directory designated by ODI for external Jar files that need to be in the ODI client classpath.
The configuration file for ODI-BAM integration, BAMODIConfig.xml
, is unzipped from oracle-bam-odi-config.jar
. It is then modified with the correct value for serverPlatform
and other required values. After modification it is re-zipped into the Jar file.
The Oracle BAM knowledge modules are copied to the designated directory for the ODI client.
The ODI client logging configuration file, ODI-logging-config.xml
, is backed up. This file is then modified by adding logging configuration for Oracle BAM.
In addition, the script does the following:
Recreates the Oracle Data Integrator EDS enterprise data sources.
Modifies the odiparams.sh
file.
Copies the Oracle BAM JAR files and knowledge modules.
In an existing working Oracle Data Integrator environment, you need only to copy the Oracle BAM artifacts. To do this run the script with the PATCH
command line parameter. For example:
sh bam_odi_configuration.sh PATCH
When the script finds the command-line parameter, it copies the Oracle BAM JAR files and knowledge modules and neither re-creates Oracle Data Integrator EDS enterprise data sources nor modifies the odiparams.sh
file.
Now you can create an Oracle BAM target in the Oracle Data Integrator Topology Manager. See Section 57.4, "Creating the Oracle BAM Target" for instructions.
Use these steps if Oracle Data Integrator and Oracle BAM server are installed on hosts in different networks, or if for any reason you cannot use the script in your environment.
There are five main steps to this process:
The environment variable JAVA_HOME
must be set to Java version 1.6.x in the environment in which an Oracle Data Integrator application is invoked. This situation means that Java version 1.6.x must be installed on the host. To set the environment variable:
On Microsoft Windows, go to the Control Panel, click the System icon. In the System Properties, go to the Advanced tab, and then click the Environment Variables button. In the Environment Variables window, create or modify a variable named JAVA_HOME
for the user (upper box), and set the value to the path for the Java installation (for example: c:\PROGRA~1\Java\jdk1.6.0_12
). Click OK. When you launch Oracle Data Integrator, be sure to do it from a fresh command prompt, to pick up the new environment variable.
On UNIX, follow the procedure for the shell script to create the environment variable JAVA_HOME
. This can be done in a startup script (such as .cshrc in the user's home directory) or on the command line before invoking Oracle Data Integrator.
Create External Data Sources for Oracle Data Integrator
Create the external data sources in Oracle BAM Architect.
Open Oracle BAM Architect and select the External Data Sources page.
Click Create, and configure the two external data sources (ODI_Master and ODI_Work) with the values shown in Table 57-1 and Table 57-2.
Table 57-1 ODI_Master external data source values
Property | Value |
---|---|
External Data Source Name |
ODI_Master |
Driver |
oracle.jdbc.driver.OracleDriver |
Login |
Oracle Data Integrator Master repository account user name |
Password |
Oracle Data Integrator Master repository account password |
Connection String |
jdbc:oracle:thin:@ip_address:port_number:db_service_name |
Table 57-2 ODI_Work external data source values
Property | Value |
---|---|
External Data Source Name |
ODI_Work |
Driver |
oracle.jdbc.driver.OracleDriver |
Login |
Oracle Data Integrator Work repository account user name |
Password |
Oracle Data Integrator Work repository account password |
Connection String |
jdbc:oracle:thin:@ip_address:port_number:db_service_name |
Set Oracle Data Integrator Configuration Properties
Modify the ODI_JAVA_OPTIONS
and ODI_ADDITIONAL_CLASSPATH
values in the odiparams.sh(bat)
file located in ODI_HOME
/bin
as shown in Example 57-1 and Example 57-2.
Example 57-1 ODI_JAVA_OPTIONS Modification
On Microsoft Windows:
SET ODI_JAVA_OPTIONS=-Djava.security.policy=server.policy -Djava.util.logging.config.file=../lib/bam_odi.logging.properties
On Linux:
SET ODI_JAVA_OPTIONS="-Djava.security.policy=server.policy -Djava.util.logging.config.file=../lib/bam_odi.logging.properties"
Example 57-2 ODI_ADDITIONAL_CLASSPATH Modification
SET ODI_ADDITIONAL_CLASSPATH=../lib/weblogic/wlfullclient.jar
Copy files to Oracle Data Integrator Directories
This procedure copies several JAR files, logging properties files, and knowledge modules into the Oracle Data Integrator directories.
Copy the following files from
ORACLE_HOME/bam/modules/oracle.bam_11.1.1
to
ODI_HOME/lib
:
oracle-bam-common.jar
oracle-bam-etl.jar
oracle-bam-adc-ejb.jar
Copy the following files from
ORACLE_HOME/bam/modules/oracle.bam.thirdparty_11.1.1
to
ODI_HOME/lib
:
commons-codec-1.3.jar
xstream-1.1.3.jar
Copy the following file from
ORACLE_HOME/modules/oracle.odl_11.1.1
to
ODI_HOME/lib
:
ojdl.jar
Copy the following file from
ORACLE_HOME/modules/oracle.jps_11.1.1
to
ODI_HOME/lib
:
jps-api.jar
Copy the following file from
ORACLE_HOME/modules/oracle.dms_11.1.1
to
ODI_HOME/lib
:
dms.jar
Copy the following file from
ORACLE_HOME
/modules
to
ODI_HOME/lib
:
org.jaxen_1.1.1.jar
Copy the following file from
ORACLE_HOME/bam/config
to
ODI_HOME/lib
:
bam.odi.logging.properties
Copy the following file from
ORACLE_HOME/bam/ODI/config
to
ODI_HOME
/lib/config
:
BAMODIConfig.xml
Copy all of the XML files from
ORACLE_HOME/bam/odi/knowledge_modules
to
ODI_HOME/impexp
.
Generate the Oracle WebLogic Server Client JAR
Generate a wlfullclient.jar
file using the Oracle WebLogic Server JarBuilder
tool. See "Using the WebLogic JARBuilder tool" in Oracle Fusion Middleware Programming Stand-alone Clients for Oracle WebLogic Server for instructions.
Create a subdirectory called ODI_HOME
/oracledi/lib/weblogic
.
Copy wlfullclient.jar
into ODI_HOME
/oracledi/lib/weblogic
.
Part of the installation process uses Oracle BAM ICommand, and the logs associated with this process are written to files in the same directory where the configuration script is run (ORACLE_HOME
\bam\bin
).
The logging properties for installation logs are configured in the utility.logging.properties
file in the same directory. The default logging level is set to INFO
.
The bam_odi.logging.properties
file is used to configure logging for messages that occur when Oracle Data Integrator is running with Oracle BAM. This file is located in ODI_HOME/lib
.
Knowledge modules are generic code templates containing the sequence of commands necessary for a data integration pattern. A knowledge module contains the knowledge required by Oracle Data Integrator to perform a specific set of tasks against a specific storage technology. It defines methods related to a given storage technology and it enables processes generation for that technology.
There are different knowledge modules for loading (from the source data store), integration (to target data store), checking, reverse-engineering, journalizing and creating services. All knowledge modules work by generating code to be executed at runtime by knowledge module Interpreter.
There is a set of knowledge modules specific to Oracle BAM functionality within Oracle Data Integrator. These knowledge modules are installed in the ODI_HOME
/oracledi/impexp
directory when the integration files are installed—but note that in Release 11g they are installed in the directory ODI_HOME/oracledi/xml-reference
. To use these Oracle BAM-specific knowledge modules, you must import them into the appropriate projects in the Oracle Data Integrator Designer application. Table 57-3 describes the Oracle BAM-specific knowledge modules.
For information about importing knowledge modules, see "Importing a KM" in Oracle Data Integrator User's Guide. Oracle Data Integrator documentation is located on the Oracle Technology Network web site at the following location:
http://www.oracle.com/technetwork/middleware/data-integrator
Table 57-3 Oracle BAM Knowledge Modules
Knowledge Module | Description |
---|---|
CKM Get Oracle BAM Metadata |
A check knowledge module that is used internally before integration knowledge module steps. This check knowledge module is the default knowledge module in Oracle BAM technology, and it is automatically acquired by Oracle Data Integrator. This check knowledge module creates two arrays which are later used by Oracle BAM-specific integration knowledge modules in the same Java session. This knowledge module has no options. |
IKM SQL to Oracle BAM (delete) |
An integration knowledge module that can delete rows from Oracle BAM data objects by sending matching key column values. It has the following options: COMMIT_SIZE BATCH_SIZE DATETIME_PATTERN KEY_CONDITION LAST_BAM_TASK LOCALE_COUNTRY LOCALE_LANGUAGE LOCALE_VARIANT |
IKM SQL to Oracle BAM (insert) |
An integration knowledge module that can insert rows to Oracle BAM data objects from heterogeneous data sources. It has the following options: BATCH_SIZE COMMIT_SIZE CREATE_TARG_TABLE DATETIME_PATTERN LAST_BAM_TASK LOCALE_COUNTRY LOCALE_LANGUAGE LOCALE_VARIANT |
IKM SQL to Oracle BAM (looksert natural) |
An integration knowledge module that can insert rows into Oracle BAM data objects from heterogeneous data sources. It differs from IKM SQL to Oracle BAM (insert) by also inserting new entries in dimension tables (that is, the data object to which the lookup column refers) if it does not yet exist. Looksert integration knowledge modules do an insert into an Oracle BAM target based on a lookup field. Typically, this is used to load a fact table in a star schema. (A star schema is characterized by one or more very large fact tables that contain the primary information in the data warehouse, and some much smaller dimension tables (or lookup tables), each of which contains information about the entries for a particular attribute in the fact table.) This integration knowledge module is provided for better performance. It has the following options: BATCH_SIZE COMMIT_SIZE DATETIME_PATTERN LAST_BAM_TASK LOCALE_COUNTRY LOCALE_LANGUAGE LOCALE_VARIANT NON_KEY_MATCHING |
IKM SQL to Oracle BAM (looksert surrogate) |
An integration knowledge module that can insert rows into Oracle BAM data objects from heterogeneous data sources. It is similar to IKM SQL to Oracle BAM (looksert natural) and differs in using a surrogate key instead of a natural key between a fact data object and dimension object. Looksert integration knowledge modules do an insert into an Oracle BAM data object based on a lookup field. Typically, this used to load a fact table in a star schema. (A star schema is characterized by one or more very large fact tables that contain the primary information in the data warehouse, and some much smaller dimension tables (or lookup tables), each of which contains information about the entries for a particular attribute in the fact table.) If the value for a lookup field does not exist in the relevant dimension table, the value is automatically inserted. This integration knowledge module must be used with LKM Get Source Metadata and CKM Get Oracle BAM Metadata. This knowledge module has the following options: BATCH_SIZE COMMIT_SIZE DATETIME_PATTERN LAST_BAM_TASK LOCALE_COUNTRY LOCALE_LANGUAGE LOCALE_VARIANT NON_KEY_MATCHING |
IKM SQL to Oracle BAM (update) |
An integration knowledge module that can update rows in Oracle BAM data objects from heterogeneous data sources. It has the following options: BATCH_SIZE COMMIT_SIZE DATETIME_PATTERN LAST_BAM_TASK LOCALE_COUNTRY LOCALE_LANGUAGE LOCALE_VARIANT |
IKM SQL to Oracle BAM (upsert) |
An integration knowledge module that can merge (upsert) rows (that is, update a data object if matching row exists or insert data object if a new row) to Oracle BAM data objects from heterogeneous data sources. It has the following options: BATCH_SIZE COMMIT_SIZE DATETIME_PATTERN LAST_BAM_TASK LOCALE_COUNTRY LOCALE_LANGUAGE LOCALE_VARIANT Note: During execution, the number of upsert operations are reported in the No. of Updates field, because the Oracle Data Integrator Operator user interface does not have a No. of Upserts field. Furthermore, the count for all of the inserts and updates to the Oracle BAM database are reported in the Updates field, and are not reported separately. |
LKM Get Source Metadata |
A loading knowledge module. This is not a traditional loading knowledge module because it does not load any data from the source to staging area. Instead it simply gathers the metadata that is required by the integration knowledge module IKM SQL to Oracle BAM (looksert surrogate). IKM ORACLE to BAM (looksert surrogate) performs the task of loading directly from a SQL source into the Oracle BAM target. In doing so, it uses the metadata provided by LKM Get Source Metadata. This knowledge module has no options. |
LKM Oracle BAM to SQL |
A loading knowledge module that allows client applications to load data from Oracle BAM. If using an Oracle BAM loading knowledge module as a source in an interface (for example LKM Oracle BAM to SQL), the user must change the default execute on button for each mapped field in the target to staging area. If left at the default source, erroneous results may occur. Technologies that do not allow for a staging area, such as Oracle BAM, should not have transformations performed on them. It has the following options: DELETE_TEMPORARY_OBJECTS DROP_PURGE LAST_BAM_TASK |
RKM Oracle BAM |
A customized reverse engineering knowledge module for Oracle BAM. It has the following options: GET_COLUMNS GET_FOREIGN_KEYS GET_INDEXES GET_PRIMARY_KEYS LOG_FILE_NAME USE_LOG |
Table 57-4 describes the parameters used in Oracle BAM knowledge modules.
Table 57-4 Oracle BAM Knowledge Module Parameters
Parameter | Description |
---|---|
BATCH_SIZE |
The maximum number of records which are sent as a batch across from the client to the server. The batch size that is used to send batches from the client to the server. As larger hosts are used with bigger Java Virtual Machine sizes, this parameter can be increased to improve performance. Default value: 1024 |
COMMIT_SIZE |
The maximum number of records in a single transaction. The default, 0, means commit all input records in one transaction. A positive, nonzero, value denotes that the maximum number of records to be committed at a time.Negative values for this option are invalid. Default value: 0 |
CREATE_TARG_TABLE |
Select this option to create the target data object on Oracle BAM Server. |
DATETIME_PATTERN |
This option and Locale specifications (for example, LOCALE_LANGUAGE, LOCALE_COUNTRY, and LOCALE_VARIANT) are used to construct a Java SimpleDateFormat object which is used in parsing the date and time data strings. See Section 56.2.2, "How to Configure DateTime Specification" for information about SimpleDateFormat. |
DELETE_TEMPORARY_OBJECTS |
Set this option to |
DROP_PURGE |
Set this option to |
GET_COLUMNS |
Set to |
GET_FOREIGN_KEYS |
Set to |
GET_INDEXES |
Set to |
GET_PRIMARY_KEYS |
Set to |
KEY_CONDITION |
Set this option to match one or more corresponding rows from source to target. Use the following operators: *, =, !=, <, <=, >, >=. The match value (that is, the When the * operator is chosen as the KEY_CONDITION option value, all rows are deleted from the target data store, regardless of its key field's mapping value. |
LAST_BAM_TASK |
Use this option to manage the life cycle of the Oracle BAM JDBC connection. If this task is the last Oracle BAM task in the work flow, it closes the JDBC connection; otherwise, it leaves the connection open. |
LOCALE_COUNTRY |
The country option is a valid ISO Country Code. These codes are the upper-case, two-letter codes as defined by ISO-3166. This option plus |
LOCALE_LANGUAGE |
The language option is a valid ISO Language Code. These codes are the lower-case, two-letter codes as defined by ISO-639. This option plus |
LOCALE_VARIANT |
The variant option is a vendor or browser-specific code. For example, use This option plus LOCALE_LANGUAGE and LOCALE_COUNTRY are used to construct a Java Locale object. |
LOG_FILE_NAME |
Specify when |
NON_KEY_MATCHING |
Determines if the incoming non-key column values are to be compared to the non-key column values in the dimension table. If If |
USE_LOG |
Set to |
This section details the steps for creating an Oracle BAM target using the Oracle Data Integrator Topology Manager.
For more information about using Oracle Data Integrator, see the Oracle Data Integrator documentation located on the Oracle Technology Network web site at:
http://www.oracle.com/technetwork/middleware/data-integrator
To create an Oracle BAM Target in Oracle Data Integrator:
Open the Oracle Data Integrator Topology Manager.
Go to Physical Architecture > Technologies > Oracle BAM.
Right-click and choose Insert Data Server.
Configure the following in the Data Server Definition tab:
Name: Oracle BAM target name
Server (Data Server): leave blank
User: Oracle BAM Administrator user name
Password: Oracle BAM Administrator password
Configure the following in the JDBC tab:
JDBC Driver: any_text_will_do; however, in 11g, you specify the JDBC driver as oracle.jdbc.OracleDriver
.
JDBC URL: instance1:
hostname
:
port_number
The instance1
string can be any string.
The hostname
value must be the same as the ServerName
property value in the BAMCommonConfig.xml
file, and the port_number
value must be the same as the ServerPort
property value in the BAMCommonConfig.xml
file.
Do not use the Test button in this dialog, because it is not functional for the integration between Oracle BAM and Oracle Data Integrator. After you successfully reverse engineer the data objects in the Oracle BAM model, then you can verify that the connection information is correct.
Click OK.
Configure the following in the Physical Data Server dialog:
In the Physical Schema Definition tab:
Modify the Local Object Mask to be %OBJECT
.
In the Context tab:
Create a new row which automatically introduces a row with the Context name Global
.
For that row, the Logical Schema value is initially <Undefined>
. You must select the <Undefined>
text and replace it with the display name for Oracle BAM.
Type in a display name for the Oracle BAM target such as BAM_TARGET
as the name of a new Logical Schema. Oracle Data Integrator automatically creates the logical schema.
Click OK.
You must be able to see the Oracle BAM schema in Oracle Data Integrator before you can do any operations on a particular Oracle BAM data object. To accomplish this goal, the Oracle BAM schema (that is, all of the data objects in Oracle BAM) must be reverse engineered using the RKM Oracle BAM knowledge module described in Table 57-3.
To reverse engineer the Oracle BAM schema:
Create a Model on the Oracle BAM target created in Section 57.4, "Creating the Oracle BAM Target."
Configure the following in the Definition tab:
Technology: Oracle BAM target
Logical Schema: BAM_TARGET
Configure the following in the Reverse tab:
Choose Customized reverse.
Context: Global
Select your KM: RKM Oracle BAM
Note:
Because this reverse engineering is not done using a JDBC driver, it is not possible to right-click a data store and view its data.
Click Reverse to begin reverse engineering.
You can monitor the reverse engineering process by viewing its progress in Oracle Data Integrator Operator.
The reverse engineering produces a reverse.log
file. The name and location of the log file can be changed in the LOG_FILE_NAME
option.
Any of the knowledge module options can be changed on this tab (they are described in Table 57-4).
When reverse engineering is complete, the metadata for the Oracle BAM schema appears in Oracle Data Integrator Designer, under the Oracle BAM target node.
You can try a use case in which you create source and target data models. Then, when you have completed reverse engineering, use relevant knowledge modules to create the interface.
When you install the Oracle BAM integration files for Oracle Data Integrator with a correctly populated properties file, you are not required to do any other configuration in Oracle BAM. Two external data source (EDS) definitions are created during the installation process, and they are populated with the correct values to connect Oracle BAM Server with the ODI_Master and ODI_Work repositories in Oracle Data Integrator. These Oracle Data Integrator-specific EDS definitions must never be deleted.
There are cases in which you must update the Oracle Data Integrator EDS definitions:
If you change the Oracle Data Integrator login credentials, you must update the Oracle Data Integrator EDS definitions in Oracle BAM Architect.
If the ODI_Master or ODI_Work repositories are moved to different hosts after the initial installation, you must update the corresponding EDS definitions in Oracle BAM Architect.
To update the Oracle Data Integrator external data source definitions:
Open Oracle BAM Architect, and go to the External Data Sources page.
Figure 57-1 Opening External Data Source Page in Oracle BAM Architect
Select ODI_Master or ODI_Work, and click Edit.
Figure 57-2 Editing the ODI_Master External Data Source
Update the Login, Password, or Connection String parameters as needed, and click Save.
Alerts created in Oracle BAM can launch Oracle Data Integrator scenarios when specified conditions are met. See Section F.3.10, "Run an Oracle Data Integrator Scenario" for more information.
You need to manually configure the following files using the appropriate values:
BAMServerConfig.xml
BAMCommonConfig.xml
Application URL: http://localhost:9001
BAMWebConfig.xml
There are several ways to run Oracle Data Integrator scenarios in which Oracle BAM functionality has been embedded. This section provides information about configuring Oracle BAM if you run the Oracle Data Integrator agent as a daemon or a Microsoft Windows Service. Note that, if you are using BAM-ODI 11g, you can ignore these configuration steps.
On the Oracle BAM host, go to the ORACLE_HOME\bam\ODI\tools\wrapper\conf
directory.
Copy the two files contained in that directory (snpsagent.conf.bam
and readme.txt
) to the host on which the Oracle Data Integrator agent runs as a daemon or service, in the ODI_HOME\tools\wrapper\conf
directory.
Follow the instructions in the readme.txt
file in that directory to configure the Oracle Data Integrator agent to run with Oracle BAM.
The agent.bat
(or agent.sh
) file picks up the same environment variables as do the other Oracle Data Integrator applications (such as Designer, Topology, Operator). As long as the Oracle Data Integrator integration installation has been performed on the Oracle Data Integrator directory in which the agent
script runs, no additional steps are needed to run the Oracle Data Integrator agent as a standalone application or as a daemon or service.
Table 57-7 lists and describes the files that are important to the BAM-ODI installation.
Directory | Filename | Description | New with 11g?Preexisting 11g?Renamed? |
---|---|---|---|
./bin |
bam-odi-configuration.sh |
Main shell script – user invokes this to start the install. This script will determine which server Platform on which it has been installed (either Weblogic or WebSphere), and will call a subscript based on the server Platform. |
Preexisting |
./bin |
bam-odi-config-was.sh |
Shell script called by bam-odi-configuration.sh in the case that the server Platform on which BAM has been installed in WebSphere. Currently, this only works with ODI 10g. |
Preexisting |
./bin |
bam-odi-config-wls.sh |
Shell script called by bam-odi-configuration.sh in the case that the server Platform on which BAM has been installed in Weblogic. It will read in values from config file bam-odi-configuration.properties (in the config directory). Depending on the value of environment variable ODI_VERSION, it will call a subscript based on this value. |
New |
./bin |
bam-odi10g-config-wls.sh |
Shell script called by bam-odi-config-wls.sh in the case that ODI_VERSION = 10g. This script has not been changed (except for its name) in this project. This script does the installation by invoking java code (which resides in oracle-bam-etl.jar) and ant script bam-odi10g-config.xml (which also has not changed except for its name). Previously this file was named bam-odi-config-wls.sh. |
Renamed |
./bin |
bam-odi11g-config-wls.sh |
Shell script called by bam-odi-config-wls.sh in the case that ODI_VERSION = 11g. This is a new script for this project. It runs java code in oracle-bam-etl.jar which has been refactored to add functionality for this install. It also runs ant script bam-odi11g-config.xml (also a new script). |
New |
./bin |
deploy_shared_library.sh |
Shell script which will deploy oracle-bam-odi_11.1.1.jar (BAM-ODI shared library). The script requires the BAM username and password, and optionally takes the serverName of and serverPort of the application server on which it is to be deployed. |
New |
./bin |
undeploy_shared_library.sh |
Shell script which will deploy oracle-bam-odi_11.1.1.jar (BAM-ODI shared library). The script requires the BAM username and password. |
New |
./config |
bam-odi-configuration.properties |
Properties file which is read in by the installer scripts. Its variable ODI_VERSION indicates whether the ODI 10g or ODI 11g version of the BAM-ODI integration is to be installed. Since this is a new variable, if it does not exist in the properties file, the installer will assume that it is to install for ODI 10g. |
Preexisting |
./config |
bam-odi10g-config.xml |
Ant script invoked by bam-odi10g-config.sh. This script has not changed (except for its name) in this project. Previously this file was named bam-odi-config.xml. |
Renamed |
./config |
bam-odi11g-config.xml |
Ant script invoked by bam-odi11g-config.sh. This is a new script, which does the rest of the installation processing. |
New |
/modules/oracle-bam_11.1.1 |
oracle-bam-adc-ejb.jar oracle-bam-common.jar oracle-bam-etl.jar oracle-bam-odi-config.jar oracle-bam-odi_11.1.1.jar |
These are the oracle jars which are required to do BAM-ODI integration. The first four jars are copied into the classpath of the ODI client. The last jar is the BAM-ODI shared library which will be deployed onto an application server to be accessed by an ODI J2EE Agent. |
Preexisting Preexisting Preexisting New New |