Information Technology Reference
In-Depth Information
Such systems are based on a technical infrastructure known as an event
notification service. An event notification service complements other
general-purpose middleware services, such as point-to-point and multicast
communication mechanisms, by offering a many-to-many communication
and integration facility. Clients in an event notification scheme are of two
kinds: objects of interest, which are the producers of notifications, and inter-
ested parties, which are the consumers of notifications. It is noteworthy that
a client can act as both an object of interest and an interested party. An event
notification service typically emulates the publish/subscribe asynchronous
messaging scheme wherein clients publish event (or notification) messages
with highly structured content, and other clients make available a filter
(a kind of pattern) specifying the subscription: the content of events to be
received at that client. Event message distribution is handled by an underly-
ing content-based routing network, which is a set of server nodes intercon-
nected as a peer-to-peer network. The content-based router is responsible
for sending copies of event messages to all clients whose filters match that
message.
In order to achieve scalability in a wide area network, the event notifica-
tion service by necessity must be implemented as a distributed network of
servers. It is the responsibility of the event notification service to route each
notification through the network of servers to all subscribers that registered
matching subscriptions and to keep track of the identity of the subscriber
that registered each subscription. The event notification scheme is partic-
ularly appealing for developing service-based applications. The fact that
notifications are delivered based on their content rather than on an explicit
destination address adds a level of indirection that provides a great deal of
flexibility and expressive power to clients of the service.
5.4 Synchronous Middleware
Programming models for synchronous forms of middleware are composed
of cooperating programs running in several interacting distributed pro-
cesses. Such programs need to be able to invoke operations synchronously in
other processes, which frequently run in different computing systems. The
most familiar approaches to non-message-based forms of middleware are
typified by the remote procedure call (RPC) and the remote method invoca-
tion (RMI).
5.4.1 Remote Procedural Call (RPC)
RPC is based on the function call technique in traditional programming.
With RPC, the client application passes the arguments for the function call
Search WWH ::




Custom Search