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 > PeopleSoft Enterprise > Overview of WebSphere Adapter for PeopleSoft Enterprise > Technical overview > Inbound processing

Event store

The event store is a table that holds events that represent data changes until the polling adapter can process them. The adapter uses the event store to keep track of event entities.

To use inbound processing, use PeopleTools Application Designer to create a custom project for event notification. The custom project uses two PeopleCode functions that determine the way future events are processed, and the custom project creates the event store the adapter needs for inbound processing. Each time a business object is created, updated, or deleted, the PeopleCode function used in the project and then added to the component interface inserts a new record in the event store, with the appropriate object name, keys, and status value.

During inbound processing, the adapter polls the events from the event store at configured poll intervals. In each poll call, a configured number of events are processed by the adapter. The order of event processing is based on the ascending order of priority and the ascending order of the event time stamp. The events with the Ready for poll (0) status are picked up for polling in each poll cycle. The adapter uses the object name and object key to retrieve the corresponding business object.

To ensure that an event is delivered only once to the target application, set the activation specification property AssuredOnceDelivery to true. On setting this to true, an XID (transaction ID) value is set for each event in the event store. After an event is obtained for processing, the XID value for that event is updated in the event store. The event is then delivered to its corresponding export, and its status is updated to show that event delivery was completed. If the application is stopped before the event can be delivered to the export or if the delivery fails, the event might not be processed completely. In this case, the XID value represents an in-progress status, and the XID column ensures that the event is reprocessed and sent to the export. After the database connection is re-established or the adapter starts again, the adapter checks for events in the event table that have a value in the XID column of Ready for Poll (0). The adapter processes these events first, and then polls the other events during the poll cycles.

The adapter uses special handing for events that have status code (99) to indicate that those events will occur in the future. During a poll cycle, when the adapter retrieves events with a future status, it compares the system time with the time stamp on each event. If the timestamp on the event is earlier than or equal to the system time, the adapter processes the event and changes the event status to Ready for Poll (0).

If you want the adapter to process events with a future status in the present time, use the function IBM_PUBLISH_EVENT instead of IBM_FUTURE_PUBLISH_EVENT. Doing so means that the event is identified as Ready for Poll (0) instead of Future (99).

As events are retrieved from the event store and processed, the status of the event changes to reflect its state, as shown in the following table.

Event status values
Status short name Description Event table value
Error processing event An error occurred during event processing. -1
Ready for poll The event is ready to be picked up. 0
Success The event is delivered to the event manager. 1
Deleted The event is processed successfully and is removed from the event store. 4
Future Events These events that are processed at a future date. 99

Inbound processing