IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Access external services with adapters > Configure and using adapters > IBM WebSphere Adapters > Siebel Business Applications > Overview of WebSphere Adapter for Siebel Business Applications > Technical overview > Inbound processing

Event store

The event store is a persistent cache where event records are saved until the polling adapter can process them. The adapter uses the event store to track the inbound events.

The creation, update, or deletion of an event record in Siebel Business Applications is an 'event'. Each time a business object is created, updated, or deleted, the adapter updates the status of the event in an event store. For recovery purposes, the status of each event is continuously updated by the adapter until the events are delivered to a configured export in IBM BPM or WebSphere Enterprise Service Bus.

For example, if you have a customer component and a new customer has been added to it, this signals an update. If the adapter is configured to receive the events about the new update, there are triggers attached to the Siebel end and connected to the customer component. The triggers add a record to the event business component. The record contains information about the new customer, such as the customer ID. This information is stored in the object key. The object key is the unique identifier that provides the key name and value of the event business component that is updated (for example, Id=1-20RT). The object name is the WebSphere business object name that represents the customer component (for example, AccountBG or Account). The adapter retrieves this event and the new customer information that relates to it. It then processes the event and delivers it to the export.

Each event store created by Siebel Business Applications is associated with a particular module; however the same event store can be used by multiple modules. If you want multiple modules to use the same event store, you must set the EventTypeFilter property to a different event type for each module using the event store. Set the value for the property in the ActivationSpecification instance for each module.

During inbound processing, the adapter polls the event business components from the event store at regular intervals. Each time it polls, a number of events are processed by the adapter. Events are processed in ascending order of priority and ascending order of the event time stamp. In each poll cycle, new events are picked up. The adapter retrieves the value set in the object key field for the event and loads the business object that corresponds to it. The business object, or optionally the business graph, is created from the retrieved information and is delivered to the exports.

If you set the activation specification property AssuredOnceDelivery to true, a transaction ID (XID) value is set for each event in the event store. After the event is retrieved for processing, the XID value for it is updated in the event store and displayed in the XID column in the event business component. The event is then delivered to its corresponding export, and the status is updated to show that the event has been successfully delivered. If the application is stopped or the event is not processed completely, the XID column is filled with a value. This ensures that the event is reprocessed and sent to the export. After the connection is reestablished or the adapter starts again, the adapter checks for events in the event store that have a value in the XID column. The adapter processes these events first, and then polls the other events during the poll cycles.

The adapter can either process all events or process events filtered by business object type. You set the filter through the activation specification property, EventTypeFilter. This property contains a comma-delimited list of business object types. Only the types specified in the property are processed. If the EventTypeFilter property is not set, then all the events are processed. If the FilterFutureEvents property is set to true, the adapter filters events based on the time stamp. The adapter compares the system time in each poll cycle to the time stamp on each event. If an event is set to occur in the future, it is not processed until that time.

After an event is successfully posted and delivered to the export, the entry is deleted from the event store. Failed events (posting and delivery to the export is unsuccessful), remain in the event store and are marked -1. This prevents duplicate processing.


Event store structure for Siebel business objects and business components

The event business component stores information about the event. The information stored is used by the resource adapter during event subscription to build the corresponding business object and send it to the registered exports. The information that is stored, as well as the structure of the event store used by the adapter, is shown in the following table.

Event store structure for Siebel event business objects and business components
Field Description Example
Description Any comment associated with the event. Account Create Event
Event ID The ID of the event row. Automatically generated unique ID in Siebel (for example: 1-XYZ)
Event timestamp The time stamp for the event. The format is in mm/dd/yyyy hh:mm:ss. 02/24/2007 11:37:56
Event type The type of event. Create, Update, or Delete
Object key A unique identifier of the business object row for which the event was created. It is a name value pair consisting of the name of the property (key name) and value. ID=1-20RT
Object name The name of the business object or business graph for which the event was detected. IOAccountPRMANIICAccount
Priority The event priority. 1
Status The event status. This is initially set to the value for a new event and updated by the adapter as it processes the event. The status can have one of the following values:

  • 0: Identifies a new event.
  • 1: Identifies an event that has been delivered to an export.
  • -1: An error occurred while processing the event.

The status cannot be null.

0
XID The transaction ID. This is to ensure 'assured once delivery'. None
CONNECTOR ID The ID set for the adapter. Siebel001


Event store structure for Siebel business services

The event is retrieved from the IBM2 event business component and the information is used to retrieve the event business component. This creates a business graph which is published to the registered exports.

Event store structure for IBM2 Siebel business services
Field Description Example
Description Any comment associated with the event. Account PRM ANI Event
Event ID The ID of the event row. Automatically generated unique ID in Siebel (for example: 1-XYZ)
Event timestamp The time stamp for the event. The format is in mm/dd/yyyy hh:mm:ss. 02/24/2007 11:37:56
Event type The type of event. Create, Update, or Delete
Object key A unique identifier of the business object row for which the event was created. It is a name value pair consisting of the name of the property (key name) and value. Name=TestName; Location=BGM, where 'Name' and 'Location' are the keys in the integration component. 'TestName' and 'BGM' are the values specified, and; is the event key delimiter.
Object name The name of the business object or business graph for which the event was detected. IOAccountPRMANIICAccount
Priority The event priority. 1
Status The event status. This is initially set to the value for a new event and updated by the adapter as it processes the event. The status can have one of the following values:

  • 0: Identifies a new event.
  • 1: Identifies an event that has been delivered to an export.
  • -1: An error occurred while processing the event.

The status cannot be null.

0
XID The transaction ID. This is to ensure 'assured once delivery'. None
CONNECTOR ID The ID set for the adapter. Siebel001

Inbound processing


Related tasks:

Configure the Siebel application to work with the adapter