IT533 - SOFTWARE ARCHITECTURES - CLASS 9
Middleware is software that makes it possible to build distributed
Middleware allows processes in different address spaces to communicate.
Middleware should provide the following:
- Ease of use
Middleware should be easier to use than writing a low level
communication interface using sockets.
- Location transparancy
It should be possible to move an application to a different
network address without the need to recompile any software.
- Message integrity
Messages should not be lost or duplicated and their contents should
not be corrupted.
This is usually provided by network software such as TCP/IP.
- Language transparancy
A process using the middleware should be able to communicate with
a process that was written with a different language.
Figure 1: Middleware Elements
We will separate middleware into two broad catagories:
- Application Middleware
Application middleware is used to connect a process in one address space
to a process in another address space, usually using a client server
The connection may be from an actual client to an actual application
server or from one application server (acting as a client) to another
- Database Middleware
Database middleware is used to connect a process in one address space
to a database in another address space, usually using a client server style.
Database middleware often uses some of the same technology as application
Prepared by David L. March -- Last Revised on May 26, 2003
COPYRIGHT © 2003 BY DAVID L. MARCH