This is an overview of the Common Event Infrastructure as it is implemented in WebSphere
Process Server.
The Common Event Infrastructure provides facilities for generation, propagation, persistence,
and consumption of events, but it does not define the actual events. Instead,
application developers and administrators define event types, event groups,
filtering criteria, and correlation criteria.
An event occurs when something significant happens in the IT system.
For example, an application processing a new customer order or a failure occurring
in a critical part of the system. Information about the event is captured
in an event object. This event object describes an event type, indicates
when the application generated the event, and identifies properties that are
relevant to the event.
The Common Event Infrastructure in WebSphere Process Server has the following components:
- Common base event
- The common base event component supports the creation of events and access
to the property data of these events. Event sources use the common base event
APIs to create new events that conform to the Common Base Event model. Event
consumers use the APIs to read property data from received events. In addition,
applications can convert events to and from XML text format, supporting interchange
with other tools. The common base event component is part of the Eclipse-based
Hyades environment.
- Emitter
- The emitter component supports the sending of events. After an event source
creates an event and populates it with data, the event source submits the
event to an emitter. The emitter optionally performs automatic content completion
and then validates the event to ensure that it conforms to the Common Base
Event specification. It also compares the event to configurable filter criteria.
If the event is valid and passes the filter criteria, the emitter sends the
event to the event server. An emitter can send events to the event server
either synchronously (using Enterprise JavaBeans calls) or asynchronously
(using a Java Messaging Service queue).
- Event correlation spheres
- An event correlation sphere is the scope that allows an event consumer
to correlate events. Each event includes the identifier of the correlation
sphere to which it belongs and the identifier of its parent correlation sphere
from the event hierarchy. An emitter is provided (ECSEmitter class) that adds
correlation data automatically to events.
- Event server
- The event server is the conduit between event sources and
event consumers. The event server receives events that are submitted to emitters
by event sources, stores events them in a persistent data store, and then
distributes them asynchronously to subscribed event consumers. In addition,
the event server supports synchronous queries of historical events from the
persistent store.
- Event catalog
- The event catalog is a repository of event metadata. Applications use
the event catalog to retrieve information about classes of events and the
content of these events.
- Event catalog application
- Any application that stores or retrieves event metadata in the event catalog.
This might be a management or development tool; it might also be an event
source or event consumer.
- Event source
- Any application that uses an emitter to send events to the event server.
- Event consumer
- Any application that receives events from the event server. Event consumers
process events outside the environment of the event source. Typically, these
event consumers process events from a number of event sources.