Event-Based Integration (EBI) has flourished as an architectural style for distributed software systems since it explicitly models invocation and communication as a series of event notifications -- which can decouple components in space and time, and permit dynamic reconfiguration of event sources and sinks. We trace the origins of this style from our survey of over a hundred event-oriented systems. Within each of the five application domains we considered (messaging, presence, conferencing, simulation/graphics, and tool integration), identifiable Event Notification Services (ENS) and protocols emerge as systems scale from single hosts to local- and wide-area networks. Our taxonomy of ENS identifies several design decisions: choices of latency (of observation and delivery), intermediation (end-to-end or relayed through a bus, queue, depot, etc), initiation (source-interrupts or sink-polls), delivery constraints (e.g. ordering and reliability guarantees), and notification management (enumerating subscribers and access controls).
Furthermore, scaling to the Internet raises novel trust, economic,
and engineering issues in addition to those of network performance and
application scale. Interorganizational consensus is now required to
achieve security, interoperability, and reliability. We argue that
current development and standardization in this arena could lead to a
handful of tunable, general-purpose ENS and protocols.
Contact information:
Adam Rifkin, California Institute of Technology, adam at xent dot com, phone: +1-626-449-4123, fax: +1-626-792-4257
Rohit Khare, University of California at Irvine, rohit@uci.edu, phone: +1-626-806-7574