Chapter 6 - Distributed Event Programming

Distributed computing involves multiple computers working together to accomplish a task.  For example, browsing the Internet involves one computer running a web browser and a separate computers, the web server, feeding it web page.  Distributed systems for many types of applications: web based applications, enterprise resource planning systems, the automated teller network for banking, etc. etc.

All distributed systems share much in common with event based systems.  Agents in distributed systems are loosely coupled.  They may be running on computers that are thousands of miles apart.  The agents have to discover each other at runtime, so they are dynamically bound.  Messages sent between agents are frequently nonblocking.  That is, a message sender does not block, waiting to hear that the recipient has received the message. The sender sends the message and continues to work, assuming the message recipient will receive the message at some point.  Finally, in many distributed systems there is not central authority, controlling how the computation proceeds.  The control is decentralized with each agent proceeding to carry out their own responsibilities.

While all distributed systems are similar to event based systems, there are some distributed infrastructures where events are explicit.  For example, CORBA contains an event service, whose role is to pass events from sources to handlers, using either a push or pull methodology.


Chapter 6 - Distributed Event Programming


Sample Programs