Sunday, April 17, 2011


The term 'middleware' is generally used in the context of distributed systems. It is a software that helps two software components talk and share data. When the software components on both sides are applications, then we refer to this type of middleware as Enterprise Application Integration(EAI). Actually it acts like a glue between software components or software component and a network. It could glue application to database managers. A better way to define is to say that it 'mediates' between an application and network or between software components and software facilities as required in heterogeneous computing platform.
A simple example of middleware is Object Request Broker(ORB) that manges communication between objects. 
Middleware is used in context with High Level Architecture(HLA) that applies to many distributed systems. It is sometimes called 'plumbing' because it connects two applications and passes data between them. 
It was intended basically for following purposes:
1. For linking newer applications to older systems or applications.
2. Connecting multiple applications over a network and hence facilitating distributed processing.
3. To provide interaction between network and application or service
4. To provide interaction on network transparently.
5. To be independent of network services and always available

You could think of more uses but these are the basic ones...

A typical example of Middleware can be TCP/IP stack for telecommunications.

Some basic types of middleware are:
1. Message Oriented Middleware: Transactions or event notifications are sent between disparate systems via messages
2. Object Middleware: Consists of Object Request Brokers for communication between the objects. It is possible for applications to send objects and request services in object oriented system.
3. Remote Procedure Call(RPC) Middleware: used to call procedures on remote system. It can be synchronous or asynchronous.

There are many others... 

Coffee Break
Middleware is a glue between software components and network.
Software components can be service or application.
When glued between two applications it is called EAI
It is also called 'plumbing'
It is used in context with distributed systems.
Mainly needed for disparate applications/systems.
Serves message passing, data sharing and interaction between disparate disparate applications/systems.

No comments:

Post a Comment