Académique Documents
Professionnel Documents
Culture Documents
compiled by:
Thomas M. Cosley
Introduction
Middleware is connectivity software that
provides a mechanism for processes to
interact with other processes running on
multiple networked machines.
Middleware Application Programming
Interfaces provide a more functional set of
capabilities than the OS and network
services provide on their own.
Middleware Architecture
Application Application
APIs
Middleware (Distributed Systems Services)
Platform Platform
OS OS
Network Interface Network Interface
Types of Middleware
Processing
Transaction Routines
Requests
Client TP Monitor
Remote Procedure Call (RPC)
RPC is a client/server mechanism that
allows the program to be distributed across
multiple platforms.
RPCs reduce the complexity of a system
that spans multiple operating systems and
network protocols by hiding OS and
network interface details from the
programmer.
Remote Procedure Call (contd)
RPCs are usually implemented by:
proprietary products
proprietary development tools that create client
server stubs
Most RPC implementations use a
synchronous (call/wait) protocol to
communicate between client and server.
RPC Architecture
T
T
N N R
Client R Server
E E A
App A App
T T N
N
W W S
S
O O P
P
R R O
O
K Application Specific K R
R
procedure invocations T
T
and returns
RPC RPC
STUB STUB
Message Oriented Middleware
(MOM)
Message-oriented middleware
functionality similar to RPC
provides asynchronous communication
between client and server applications by
queueing messages temporarily when one or
the other is busy or not connected.
MOM Architecture
T
T
N N R
Client MOM R
E E A
MOM Server
App A App
With T T N With
N
message W W S message
S
queue O O P queue
P
R R O
O
K Application specific K R
R
proprietary messages T
T
Object Request Broker (ORB)
ORBs overcome; machine, software and
vendors are no boundaries for the ORB.
Major functionality includes:
interface definition
location and activation of remote objects
communication between clients and objects
ORB Architecture
Request activate
Service Service
Establish
connection
Remote Service
Client communicate (object)