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