An event can be defined as a time-stamped message containing typed data that is delivered from a source to a set of subscribed listeners. It may contain additional information for message management, like a sequence number or a time-to-live value.
Event-based systems provide an elegant and robust mechanism to connect
software components in distributed computing. They can help in
debugging, monitoring, and dynamically negotiating communications protocols
in heterogeneous environments.
Events can be broadly classified to belong to one of the two
categories: system events and application
events. System events typically are used by the component
framework to report occurrences such as
component instantiation or connection.
Application events are for application-specific information
like file activity or application state such as
``iteration
has completed''.
An event system should be simple and leverage
the benefits provided by existing standards. It should be
extensible, language-independent, platform-independent,
and provide ready integration with applications that use
events internally. There
are several scenarios where event services can be useful:
This paper addresses the following questions:
Any new event framework should address five requirements: simplicity, extensibility, rapid deployment and integration, interoperability, and performance. For some time now, it has been clear that systems using XML and SOAP can meet the first three requirements; this paper shows that it can meet the last two as well. In order to specify a minimal standard that satisfies these requirements, we first need to summarize existing ones.