November 23, 2014
Hot Topics:

Event-Driven Architecture: Event Web Building Block

  • March 18, 2005
  • By K. Mani Chandy and Jonathan Lurié Carmona, Robert Alexander
  • Send Email »
  • More Articles »

This article is the third in a series about the Event Web (EW), a thin layer on top of the World Wide Web that continuously monitors information sources and responds appropriately as conditions change. The EW, based on service-oriented architecture (SOA) and event-driven architecture (EDA), can also serve as a platform for Sense and Respond (S&R) systems, a new type of application that continuously responds to critical conditions.

As described in the previous article, software architectures consist of components, compositional operators, and contracts. Compositional operators are used to plug components together with other components. The contract (or specification) of a component tells systems designers everything they need to know about the component. This series discusses SOA and EDA in the context of components, compositional operators, and contracts. The goal is two-fold:

  1. Present the architectural components of EDA informally.
  2. Explain the concept that in EDA the absence of messages conveys information.

EDA and S&R Systems

EDA is the software architecture for S&R systems, systems that monitor and respond to conditions in their environments. An S&R system is both a control system and a decision-support system, and contracts in EDA can be influenced by ideas from control and decision theory as well as biologically inspired cognitive information processing.



Click here for a larger image.

Figure 1: EDA in Control Systems

An S&R system operates within an environment; for instance, the environment of an airplane is the air through which it travels. The environment is given, because designers cannot pick the environment of their choice. An S&R system designer receives specifications that he or she must satisfy within the system's environment. A public health system is an example of an S&R system that senses and responds to conditions to protect and improve the health of the public. Other examples include living creatures, military command and control, supply and demand chains, and compliance management systems.

The next section introduces the components of EDA and then discusses how the absence of messages can convey information.

Components of EDA

EDA has two components: streams and agents (also called processes). A stream is a sequence of messages that have a common schema. Streams are either event streams or control streams. Messages in event streams contain information about the system state. For instance, a temperature sensor measures the temperature in the environment and generates an event stream in which each message contains a temperature reading. A temperature measurement is information about the system state. Messages in control streams contain control commands. For instance, control messages to a temperature sensor may specify the frequency with which the sensor should send event messages.



Click here for a larger image.

Figure 2: What Does an Event Stream Look Like?

There are three types of agents:

  • Sensors
  • Responders
  • Processing agents (or EPAs for event processing agents)

Sensors monitor the environment and generate event messages that contain information about the attributes that they monitor. For instance, a sensor in an intrusion detection system monitors whether a door is open or closed and generates an event stream describing the status of the door. Sensors may receive control messages such as commands telling the sensors when to make measurements.

For the purposes of designing S&R applications, a sensor is a source of data. For instance, a sensor may poll a Web site and then send the information it extracts in an event message. This sensor would be a software module. The Web site itself is not a sensor but rather an attribute to be sensed.

A responder receives an event stream and modifies the state of the environment based on the stream. For instance, a device that calls people's telephones to give them alerts is a responder. The telephone is part of the environment and the call modifies the state of the environment. A software module that controls the ailerons of an airplane also is a responder.



Click here for a larger image.

Figure 3: Sensor Example: Temperature Sensor





Page 1 of 2



Comment and Contribute

 


(Maximum characters: 1200). You have characters left.

 

 


Enterprise Development Update

Don't miss an article. Subscribe to our newsletter below.

Sitemap | Contact Us

Rocket Fuel