Middleware Technologies
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 Interface
Platform Interface
Platform OS
Network Interface
Platform OS
Network Interface
Types of Middleware
There are four basic types of middleware Transaction Processing Monitor (TP) Remote Procedure Call (RPC) Message-Oriented Middleware (MOM) Object Request Broker (ORB)
Transaction Processing (TP)
TP can provide the following control transaction applications provide business logic/rules database updates
Transaction Processing Architecture
Processing Routines
Transaction 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
Client App
T R A N S P O R T
N E T W O R K
RPC STUB
Application Specific procedure invocations and returns
N E T W O R K
T R A N S P O R T
Server App
RPC 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
Client App
MOM
With message queue
T R A N S P O R T
N E T W O R K
Application specific proprietary messages
N E T W O R K
T R A N S P O R T
MOM
With message queue
Server App
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 Service
Establish connection
activate Service
Client
communicate
Remote Service (object)