Middleware in the context of
distributed application
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different computer network, networked computers.
The components of a distribu ...
s is
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
that provides services beyond those provided by the
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
to enable the various components of a distributed system to communicate and manage data. Middleware supports and simplifies complex
distributed application
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different computer network, networked computers.
The components of a distribu ...
s. It includes
web server
A web server is computer software and underlying Computer hardware, hardware that accepts requests via Hypertext Transfer Protocol, HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, co ...
s,
application servers, messaging and similar tools that support application development and delivery. Middleware is especially integral to modern information technology based on
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
,
SOAP
Soap is a salt (chemistry), salt of a fatty acid (sometimes other carboxylic acids) used for cleaning and lubricating products as well as other applications. In a domestic setting, soaps, specifically "toilet soaps", are surfactants usually u ...
,
Web service
A web service (WS) is either:
* a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or
* a server running on a computer device, listening for requests at a particular port over a n ...
s, and
service-oriented architecture.
Middleware often enables
interoperability between applications that run on different operating systems, by supplying services so the application can exchange data in a standards-based way. Middleware sits "in the middle" between
application software
Application software is any computer program that is intended for end-user use not operating, administering or programming the computer. An application (app, application program, software application) is any program that can be categorized as ...
that may be working on different
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s. It is similar to the middle layer of a
three-tier single system architecture, except that it is stretched across multiple systems or applications. Examples include
EAI software, telecommunications software,
transaction monitors, and messaging-and-queueing software.
The distinction between operating system and middleware functionality is, to some extent, arbitrary. While core kernel functionality can only be provided by the operating system itself, some functionality previously provided by separately sold middleware is now integrated in operating systems. A typical example is the
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
stack for telecommunications, nowadays included virtually in every operating system.
Definitions
Middleware is defined as software that provides a link between separate software applications. It is sometimes referred to as plumbing because it connects two applications and passes data between them. Middleware allows data contained in one database to be accessed through another. This makes it particularly useful for
enterprise application integration and
data integration tasks.
In more abstract terms, middleware is "The software layer that lies between the
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
and applications on each side of a distributed computing system in a network."
Origins
Middleware gained popularity in the 1980s as a solution to the problem of how to link newer 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.
Use
Middleware services provide a more functional set of
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
s to allow an application to:
*Locate transparently across the network, thus providing interaction with another service or application
*Filter data to make them friendly usable or public via
anonymization process for privacy protection (for example)
*Be independent from network services
*Be reliable and always available
*Add complementary attributes like
semantics
Semantics is the study of linguistic Meaning (philosophy), meaning. It examines what meaning is, how words get their meaning, and how the meaning of a complex expression depends on its parts. Part of this process involves the distinction betwee ...
when compared to the operating system and network services.
Middleware offers some unique technological advantages for business and industry. For example, traditional database systems are usually deployed in closed environments where users access the system only via a restricted network or
intranet
An intranet is a computer network for sharing information, easier communication, collaboration tools, operational systems, and other computing services within an organization, usually to the exclusion of access by outsiders. The term is used in ...
(e.g., an enterprise’s internal network). With the phenomenal growth of the
World Wide Web
The World Wide Web (WWW or simply the Web) is an information system that enables Content (media), content sharing over the Internet through user-friendly ways meant to appeal to users beyond Information technology, IT specialists and hobbyis ...
, users can access virtually any database for which they have proper access rights from anywhere in the world. Middleware addresses the problem of varying levels of
interoperability among different database structures. Middleware facilitates transparent access to legacy
database management system
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and an ...
s (DBMSs) or applications via a
web server
A web server is computer software and underlying Computer hardware, hardware that accepts requests via Hypertext Transfer Protocol, HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, co ...
without regard to database-specific characteristics.
Businesses frequently use middleware applications to link information from departmental databases, such as payroll, sales, and accounting, or databases housed in multiple geographic locations. In the highly competitive healthcare community, laboratories make extensive use of middleware applications for
data mining,
laboratory information system (LIS) backup, and to combine systems during hospital mergers. Middleware helps bridge the gap between separate LISs in a newly formed healthcare network following a hospital buyout.
Middleware can help software developers avoid having to write
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
s (API) for every control program, by serving as an independent programming interface for their applications.
For
Future Internet network operation through traffic monitoring in
multi-domain scenarios, using mediator tools (middleware) is a powerful help since they allow
operators, searchers and
service providers to supervise
Quality of service
Quality of service (QoS) is the description or measurement of the overall performance of a service, such as a telephony or computer network, or a cloud computing service, particularly the performance seen by the users of the network. To quantitat ...
and analyse eventual failures in
telecommunication services. The Middleware stack is devised of several components (CSMS, TV Statistics & Client applications). It is known as the software brains of OTT platforms as it controls and interconnects all the components of the solution. The Content and Subscriber Management System (CSMS) is the central part of the solution commonly referred to as an administration portal. Apart from being the main interface for operator personnel to administer the TV service (Subscribers, Content, Packages, etc.) it also controls the majority of TV services and interacts with streaming & CDN and DRM serves to deliver Live, VOD and recorded content to the end users. It also integrates with external systems for billing, provisioning and with EPG and VOD content providers. Client applications authorize the CSMS and communicate with it, to provide required TV services to the end users on different devices.
Finally, e-commerce uses middleware to assist in handling rapid and secure transactions over many different types of computer environments. In short, middleware has become a critical element across a broad range of industries, thanks to its ability to bring together resources across dissimilar networks or computing platforms.
In 2004 members of the
European Broadcasting Union
The European Broadcasting Union (EBU; , UER) is an alliance of Public broadcasting, public service media organisations in countries within the European Broadcasting Area (EBA) or who are member states of the Council of Europe, members of the ...
(EBU) carried out a study of Middleware with respect to system integration in broadcast environments. This involved system design engineering experts from 10 major European broadcasters working over a 12-month period to understand the effect of predominantly software-based products to media production and broadcasting system design techniques. The resulting reports Tech 3300 and Tech 3300s were published and are freely available from the EBU web site.
Types
Message-oriented middleware
Message-oriented middleware
Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. Message-oriented middleware is in contrast to streaming-oriented middleware where data is communicate ...
(MOM) is middleware where transactions or event notifications are delivered between disparate systems or components by way of messages, often via an
enterprise messaging system. With MOM, messages sent to the client are collected and stored until they are acted upon, while the client continues with other processing.
; Enterprise messaging
: An
enterprise messaging system is a type of middleware that facilitates message passing between disparate systems or components in standard formats, often using
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
,
SOAP
Soap is a salt (chemistry), salt of a fatty acid (sometimes other carboxylic acids) used for cleaning and lubricating products as well as other applications. In a domestic setting, soaps, specifically "toilet soaps", are surfactants usually u ...
or
web services
A web service (WS) is either:
* a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or
* a server running on a computer device, listening for requests at a particular port over a n ...
. As part of an enterprise messaging system,
message broker software may queue, duplicate, translate and deliver messages to disparate systems or components in a messaging system.
; Enterprise service bus
:
Enterprise service bus (ESB) is defined by the
Burton Group as "some type of integration middleware product that supports both
message-oriented middleware
Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. Message-oriented middleware is in contrast to streaming-oriented middleware where data is communicate ...
and
Web services
A web service (WS) is either:
* a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or
* a server running on a computer device, listening for requests at a particular port over a n ...
".
Intelligent middleware
Intelligent
Middleware (IMW) provides real-time intelligence and event management through
intelligent agents. The IMW manages the real-time processing of high volume sensor signals and turns these signals into intelligent and actionable business information. The actionable information is then delivered in end-user power dashboards to individual users or is pushed to systems within or outside the enterprise. It is able to support various heterogeneous types of hardware and software and provides an API for interfacing with external systems. It should have a highly scalable,
distributed architecture which embeds intelligence throughout the network to transform raw data systematically into actionable and relevant knowledge. It can also be packaged with tools to view and manage operations and build advanced network applications most effectively.
Content-centric middleware
Content-centric middleware offers a simple ''provider-consumer'' abstraction through which applications can issue requests for uniquely identified content, without worrying about where or how it is obtained. Juno is one example, which allows applications to generate content requests associated with high-level delivery requirements. The middleware then adapts the underlying delivery to access the content from sources that are best suited to matching the requirements. This is therefore similar to
Publish/subscribe middleware, as well as the
Content-centric networking paradigm.
; Remote procedure call
:
Remote procedure call
In distributed computing, a remote procedure call (RPC) is when a computer program causes a procedure (subroutine) to execute in a different address space (commonly on another computer on a shared computer network), which is written as if it were a ...
middleware enables a client to use services running on remote systems. The process can be
synchronous or
asynchronous.
; Object request broker
: With
object request broker middleware, it is possible for applications to send objects and request services in an object-oriented system.
; SQL-oriented data access
:
SQL-oriented Data Access is middleware between applications and database servers.
; Embedded middleware
: Embedded middleware provides communication services and software/
firmware
In computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, h ...
integration interface that operates between embedded applications, the embedded operating system, and external applications.
Policy Appliances
Policy appliance is a generic term referring to any form of middleware that manages policy rules. They can mediate between data owners or producers, data aggregators, and data users. Among heterogeneous institutional systems or networks they may be used to enforce, reconcile, and monitor agreed information management policies and laws across systems (or between jurisdictions) with divergent information policies or needs. Policy appliances can interact with smart data (data that carries with it contextual relevant terms for its own use),
intelligent agent
In artificial intelligence, an intelligent agent is an entity that Machine perception, perceives its environment, takes actions autonomously to achieve goals, and may improve its performance through machine learning or by acquiring knowledge r ...
s (queries that are self-credentialed, authenticating, or contextually adaptive), or
context-aware applications to control information flows, protect security and confidentiality, and maintain privacy. Policy appliances support policy-based information management processes by enabling rules-based processing, selective disclosure, and accountability and oversight.
Examples of policy appliance technologies for rules-based processing include analytic filters,
contextual search, semantic programs, labeling and wrapper tools, and
DRM, among others; policy appliance technologies for selective disclosure include anonymization, content personalization, subscription and publishing tools, among others; and, policy appliance technologies for accountability and oversight include
authentication
Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an Logical assertion, assertion, such as the Digital identity, identity of a computer system user. In contrast with iden ...
, authorization, immutable and non-repudiable logging, and audit tools, among others.
Other
Other sources include these additional classifications:
*
Transaction processing monitors provides tools and an environment to develop and
deploy distributed application
Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different computer network, networked computers.
The components of a distribu ...
s.
*
Application servers software installed on a computer to facilitate the serving (running) of other applications.
Integration Levels
Data Integration
*Integration of data resources like files and databases
Cloud Integration
*Integration between various cloud services
B2B Integration
*Integration of data resources and partner interfaces
Application Integration
*Integration of applications managed by a company
Vendors
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
,
Red Hat,
Oracle Corporation
Oracle Corporation is an American Multinational corporation, multinational computer technology company headquartered in Austin, Texas. Co-founded in 1977 in Santa Clara, California, by Larry Ellison, who remains executive chairman, Oracle was ...
and
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
are some of the vendors that provide middleware software. Vendors such as
Axway,
SAP,
TIBCO,
Informatica,
Objective Interface Systems,
Pervasive, ScaleOut Software and
webMethods were specifically founded to provide more niche middleware solutions. Groups such as the
Apache Software Foundation,
OpenSAF, the
ObjectWeb Consortium (now OW2) and OASIS'
AMQP encourage the development of
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
middleware. Microsoft .NET "Framework" architecture is essentially "Middleware" with typical middleware functions distributed between the various products, with most inter-computer interaction by industry standards, open APIs or RAND software licence.
Solace provides middleware in purpose-built hardware for implementations that may experience scale. StormMQ provides
Message Oriented Middleware as a service.
See also
*
Comparison of business integration software
*
Middleware Analysts
*
Service-oriented architecture
*
Enterprise Service Bus
*
Event-driven SOA
*
ObjectWeb
References
External links
Internet2 Middleware InitiativeSWAMI - Swedish Alliance for Middleware InfrastructureOpen Middleware Infrastructure Institute (OMII-UK)European Broadcasting Union Middleware reportMore detailed supplement to the European Broadcasting Union Middleware reportObjectWeb - international community developing open-source middleware
{{Authority control
Systems engineering