Common Event Infrastructure is
an embeddable technology intended to provide basic event management
services to applications that require those services.
This event infrastructure serves as an integration point for consolidation
and persistence of raw events from multiple, heterogeneous sources,
and distribution of those events to event consumers. Events are represented
using the Common Base Event model, a standard, XML-based format defining
the structure of an event. For more information, see the Common Base
Event model sub-topic.
By using this common infrastructure, diverse products that are
not tightly coupled with one another can integrate their management
of events, providing an end-to-end view of enterprise resources and
correlating events across domain boundaries. For example, events generated
by a network monitoring application can be correlated with events
generated by a security application. Such correlation can be difficult
to achieve when each product uses its own approach to event management.
Common Event Infrastructure provides
facilities for generation, propagation, persistence, and consumption
of events, but it does not define the events themselves. Instead,
application developers and administrators define event types, event
groups, filtering, and correlation.
Common Event Infrastructure components
Common Event Infrastructure consists of the
following major components:
- Common Base Event
- The Common Base Event component supports the creation of events
and access to their property data. Event sources use the Common Base
Event APIs to create new events conforming 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 Test and Performance Tools
Platform (TPTP).
- 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
service. An emitter can send events to the event service either synchronously
(using Enterprise JavaBeans™ calls)
or asynchronously (using a Java™ Message
Service queue).
- Event service
- The event service is the conduit between event sources and event
consumers. The event service receives events submitted to emitters
by event sources. It stores events in a persistent data store, and
then distributes them asynchronously to subscribed event consumers.
In addition, the event service 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 their permitted content.
In addition, an application or solution using Common Event Infrastructure might also include
the following components (which are not part of the infrastructure
itself):
- Event source
- An event source is any application that uses an emitter to send
events to the event service.
- Event consumer
- An event consumer is any application that receives events from
the event service.
- Event catalog application
- An event catalog application is 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.
The following diagram shows the general flow of
events from event source to event consumer using Common Event Infrastructure.
