The term middleware is sometimes
considered a buzzword
computer software that connects software components or applications. It is used
most often to support complex, distributed applications. It
includes web servers, application servers, content management
systems, and similar tools that support application development and delivery.
Middleware is especially integral to modern information technology based
on XML,SOAP, Web services, and service-oriented architecture.
Middleware is the enabling technology of Enterprise application
integration. It describes a piece of software that connects two or more
software applications so that they can exchange data.
defines middleware as:
"The software layer that lies between theoperating system and
the applications on each side of a distributed computing system in a
Middleware is a relatively new addition to the computing landscape. It
gained popularity in the 1980s as a solution to the problem of how to link new
applications to older legacy systems, although the term had been in use since
1968. It also facilitated distributed processing – the connection of multiple
applications to create a larger application, usually over a network.
In addition to the existing vendors updating their wares to address the
newly expanded vision, vendors such as Mercator,
Vitria, Fiorano andwebMethods were specifically founded to
provide Web-oriented middleware tools. Groups such as the Apache
Software Foundation and the ObjectWeb Consortiumencourage the
development of open source middleware.
Types of middleware:
Hurwitz's classification system organizes the many types of middleware that are
currently available.These classifications are based on scalability and
Call (RPCs) — Client makes calls to procedures running on remote systems.
Can be asynchronous or synchronous.
Message Oriented Middleware (MOM) — Messages sent to the client are
collected and stored until they are acted upon, while the client continues with
Object Request Broker (ORB) — This type of middleware makes it possible
for applications to send objects and request services in an object-oriented
SQL-oriented Data Access — middleware between applications and
Other sources include these additional classifications:
Transaction processing (TP) monitors — Provides tools and an environment for developing and deploying distributed applications.
Application servers — software installed on a computer to facilitate the serving (running) of other applications.
Enterprise Service Bus — An abstraction layer on top of an Enterprise Messaging System.