Академический Документы
Профессиональный Документы
Культура Документы
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
API’s
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.
RPC’s 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 (cont’d)
RPC’s 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)
ORB’s 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)