Event store for Siebel Business Applications
The event store is a persistent cache where event records are saved until the polling adapter can process them. To keep track of inbound events as they make their way through the system, the adapter uses an event store.
The creation, update, or deletion of an event record in the Siebel business application 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
example, if you have a customer component and a new customer has just
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 was updated (for example, Id=1-20RT
).
The object name is the WebSphere® business-object
name that represents the customer component (for example, 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 component.
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 is created from the retrieved information and is delivered to the export components.
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 component, 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 component. 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, 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, all of 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 component, the entry is deleted from the event
store. Failed events (posting and delivery to the export component
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 IBM2 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 export components. The information that is stored, and the structure of the event store used by the adapter, are shown in the following table.
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 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:
This column cannot contain a null value. |
0 |
XID | The transaction ID. This is to ensure assured once-only 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.
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 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:
This column cannot contain a null value. |
0 |
XID | The transaction ID. This is to ensure 'assured once delivery'. | None |