'Middleware' is 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.
The term ''middleware'' is sometimes considered a
buzzword.
'Middleware in Simulation Technology'. In Simulation, "middleware" is a term generally used in the context of the High Level Architecture (HLA) that applies to many distributed simulations. It is a layer of software that lies between the application code and the Run-Time Infrastructure (RTI), hence `middle' in its title. Middleware generally consists of a library of functions, and enables a number of applications (simulations, or Federates in HLA terminology) to page these functions from the common library rather than re-create them for each application
Definition
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.
ObjectWeb defines middleware as: "The software layer that lies between the
operating system and the applications on each side of a distributed computing system in a network."
[1]
Origins
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.
[2] It also facilitated distributed processing – the connection of multiple applications to create a larger application, usually over a network.
Organizations
In addition to the existing vendors updating their wares to address the newly expanded vision, vendors such as TIBCO, Mercator, Crossflo, Vitria and
webMethods were specifically founded to provide
Web-oriented middleware tools. Groups such as the
Apache Software Foundation and the
ObjectWeb Consortium encourage 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 recoverability:
★
Remote Procedure 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 other processing.
★
Object Request Broker (ORB) — This type of middleware makes it possible for applications to send objects and request services in an object-oriented system.
★ — middleware between applications and database servers.
Other sources include these additional classifications:
★
Transaction processing (TP) monitors — Provides tools and an environment for developing and deploying distributed applications.
[3]
★
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.
See also
★
Comparison of business integration software
References
1. What's middleware?
2. Origin of the term ''middleware''
3. Definition of middleware
External links
★
Internet2 Middleware Initiative
★
Middleware Abstraction Layer
★
SWAMI - Swedish Alliance for Middleware Infrastructure
★
Element (commercial offering from Enea)
★
Open Middleware Infrastructure Institute (OMII-UK)