02 Nov 2010

Integrating Oracle BRM with enterprise applications

Oracle BRM 5 Comments

In this post, we will talk about the enterprise application integration (EAI) framework manager, which provides a way to integrate Oracle BRM with other enterprise applications. The EAI manager ensures data synchronization across applications in your enterprise and avoids data duplication among applications. In short, it works like the Telco Framework Manager provisioning process:

  1. A change occurs, which generates an event object.
  2. Data is generated in the Connection Manager and sent to the Data Manager.
  3. The Data Manager publishes the payload object.

The figure below illustrates an outlined EAI framework manager architecture and data flow:

To get the ball rolling, the EAI Manager first needs to be installed. This includes three EAI features:

  • EAI Connection Manager (CM) module (includes the opcodes required by EAI)
  • EAI Data Manager
  • Payload Generator External Module (EM) – also called EAI Java Server or eai_js

Once the EAI framework manager has been installed, it’s time for the configuration step. The installation program assigns default values in the CM and EAI DM configuration (pin.conf) files, as well as the Payload Generator properties (Infranet.properties) file.

Next, make sure that:

  1. the dm_pointer in the CM pin.conf points to the same port as the dm_port configured in the EAI DM pin.conf;
  2. the em_pointer in the CM pin.conf points to the same port as the infranet.server.portNr in the eai_js Infranet.properties;
  3. the startup and shutdown scripts are changed appropriately for the new processes to start/stop accordingly.

In addition to this basic configuration, the event notification feature, which calls the opcode (name: PCM_OP_PUBLISH_GEN_PAYLOAD; number: 1301) that caches the Oracle BRM event in the Payload Generator, will need to be configured. To enable event notification, run the load_pin_notify utility to load the configuration file containing the event notification list into the Oracle BRM database. Before running the utility, however, the configuration files for event notification in the $BRM_HOME/sys/data/config/pin_notify_eai file must first be merged. Optionally, add, modify, or delete entries in the final event notification list.

Should there be custom fields in the notification events, ensure they are included in the eai_js Infranet.properties and that the compiled custom java classes are in the classpath when starting eai_js. Otherwise, the result will be opcode numbers in the FLISTs instead of opcode names.

The last configuration task is defining Oracle BRM business events. A business event is an operation so defined in the Payload Generator EM configuration file (payloadconfig.xml). For example, one such business event is ProductPurchase, which is created when a customer buys a product. The configuration file can be edited to do the following:

  • Add events to be published;
  • Remove unwanted events from the list
  • Specify whether the events are to be published in XML or FLIST format.

After configuring everything, it’s time to provide access to BRM event data for enterprise applications by building a module connector application that handles transaction management and transformation schemes specific to your environment. The directory $BRM_HOME/sys/dm_eai already contains sample implementations of the EAI functions in flist and XML format. Optionally, the EAI Manager can be used to publish information from the Oracle BRM database to an HTTP port for use by a third-party application such as CRM (customer relationship manager). To publish to an HTTP port, use the dm_http module.

Once a working connector application is in place, the successful integration of Oracle BRM with a third-party application is complete.

5 Responses to “Integrating Oracle BRM with enterprise applications”

  1. Scotty Fullmore says:

    I found your website on bing.
    It is very informative. Good job, keep this site alive.

    Best wishes

  2. Andy says:

    Guyz what is an input and output of EAI Manager i want to write a java code that can read the i/o of EAI Manager and submit the results into a brm manager.

  3. George says:

    Hi, just wanted to mention, I loved this article. It was inspiring. Keep on posting!

  4. Maria says:

    You have touched some nice points here. Any way keep up

  5. Raghav says:

    It is a very informative and useful read. Thanks for the post.

Leave a Reply