33 Configuring Business Events

Learn how to configure business events for Oracle Communications Billing and Revenue Management (BRM) Enterprise Application Integration (EAI) Manager.

Topics in this document:

About BRM Business Events

A business event is a BRM operation that you define in the Payload Generator EM configuration file (payloadconfig.xml). A number of business events are defined by default; for example, one of the default business events is ProductPurchase, which is created when a customer buys a charge offer.

A business event is created only after EAI Manager has been notified that a qualifying BRM event has occurred. For example, several BRM events, including /event/customer/billinfo, /event/billing/product/action/purchase, and /event/customer/nameinfo, must occur before the CustCreate business event is created.

BRM uses event notification to cache the events that make up a business event in the Payload Generator. See "Configuring Event Notification for EAI Manager".

Business event definitions include data or pointers to data from the flists of events included in the definition. For an example of the relationship between the event flist and the definition of the business event to publish, see "Event Flist, Event Definition, and XML Output Example".

The default set of business events that BRM publishes is defined in the Payload Generator EM configuration file, payloadconfig.xml. You can edit the configuration file to:

  • Add events that you want to publish.

  • Remove events that you do not want to publish.

  • Specify whether you want the events to be published in XML or flist format.

For the definitions of the default set of business events, see the payload configuration file (BRM_home/sys/eai_js/payloadconfig.xml).

About Publishing Additional Business Events

To publish additional business events, you include definitions of the events in the payloadconfig.xml configuration file. For information on the syntax of the entries, see "About the Payload Configuration File Syntax".

You use the fields in the event flist or storable class to define the business event. You need to specify the BRM events to publish, the data to publish, where to get the values for the fields, and how to present the data in the XML output.

For information on how to define events, see "Defining Business Events".

For an example of the relationship between the flist, event definition, and XML output, see "Event Flist, Event Definition, and XML Output Example".

If you need to publish valid XML documents for events, you must create data type definitions (DTDs) for the events. For a sample, see the DTDs for the default events in the BRM_home/sys/eai-js/dtds directory.

Setting Up Multiple Publishers and Events

You can define multiple publishers in EAI Manager to publish separate sets of business events. You define a publisher by including a <PublisherDefs> tag for it in the payloadconfig.xml file. See "Publisher Definitions" for more information.

Using multiple publishers, you can ensure that applications receive only the events they need. For example, one publisher could publish the customer creation event to one application, while another publisher publishes the service creation event to another application.

Events can be published separately even if one event is part of another. For example, service creation can take place during customer creation, but the subscriber interested in service creation receives only that event, not the larger customer creation event.

Defining Business Events

To define business events:

  1. In a text editor, open the payload configuration file (BRM_home/sys/eai_js/payloadconfig.xml).

  2. In the <Publisher> section, specify the business events you want to publish.

    For information on the syntax, see "Publisher Definitions".

  3. (Optional) In the <Publisher> section, specify attributes for business events that will cause identifiers to be returned.

    See "Returning Identifiers from Enterprise Applications".

  4. For each business event you specified, define the following attributes in the <EventDefs> section:

  5. (Optional) Include the following elements in the <EventDefs> section:

  6. For each SubElement in the <ElementDefs> section, include the following attributes to define the sub-element:

  7. (Optional) Include the following attributes:

  8. Include the following elements in the element definition:

  9. (Optional) To check the configuration file for errors, run the ValidateConfig program.

    For more information, see "Validating Your Changes to the Payload Configuration File".

  10. Save and close the file.

  11. Ensure that the BRM events included in each newly defined business event are in your system's event notification list.

    See "Configuring EAI Manager".

  12. Stop and restart the Payload Generator External Module (EM):

    cd BRM_home/bin
    pin_ctl bounce eai_js

    Note:

    If you rename the file, make sure you also change the file name in the Payload Generator EM Infranet.properties file. For more information, see "Configuring EAI Manager".

Removing Events That You Do Not Want to Publish

To remove events you do not want to publish:

  1. In a text editor, open the payload configuration file (BRM_home/sys/eai_js/payloadconfig.xml).

  2. Remove the events that you do not want to publish from the event list in the <Publisher> section.

  3. (Optional) To check the configuration file for errors, run the ValidateConfig program.

    For more information, see "Validating Your Changes to the Payload Configuration File".

  4. Save and close the file.

  5. Stop and restart the Payload Generator EM:

    cd BRM_home/bin
    pin_ctl bounce eai_js

Returning Identifiers from Enterprise Applications

You can configure EAI Manager to receive identifiers returned from enterprise applications. For example, if data is published to a contact management application, that application may return user IDs. You can store those IDs in the BRM database.

You specify additional attributes in the payloadconfig.xml file when you define a business event that returns an identifier. These attributes are necessary only for business events that return an identifier.

See "Publisher Definitions" for more detailed information about the syntax.

In addition to including information about identifiers in the <Publisher> section of the payloadconfig.xml file, you must implement the SetIdentifier function in your connector application. See "SetIdentifier" for more information.

Changing the Format of Published Events

By default, EAI Manager publishes business events in XML format. You can publish events in flist format by editing the configuration file.

  1. In a text editor, open the payload configuration file (BRM_home/sys/eai_js/payloadconfig.xml).

  2. In the <PublisherDefs> section, change the value of Format from XML to FLIST:

    <PublisherDefs>
        <Publisher DB="0.0.9.1" Format="FLIST">
    
  3. (Optional) To check the configuration file for errors, run the ValidateConfig program.

    For more information, see "Validating Your Changes to the Payload Configuration File".

  4. Save and close the file.

  5. Stop and restart the Payload Generator EM:

    cd BRM_home/bin
    pin_ctl bounce eai_js

Validating Your Changes to the Payload Configuration File

After you edit the payloadconfig.xml configuration file, you can check the validity of the file by using the ValidateConfig program. This program checks the configuration file for errors and displays the list of events to be published along with a message that the file is valid. If there are errors, the ValidateConfig program specifies them.

To validate your changes to the configuration file, run the ValidateConfig program using the following syntax:

java com.portal.eai.ValidateConfig [config_file_name]

For example:

java com.portal.eai.ValidateConfig BRM_home/sys/eai_js/payloadconfig.xml

Note:

If the configuration file name is not specified, the ValidateConfig program uses the configuration file specified in the Infranet.properties file.