Embedded middleware
   HOME

TheInfoList



OR:

Middleware in the context of
distributed application A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
s is
software Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work. ...
that provides services beyond those provided by the
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
to enable the various components of a distributed system to communicate and manage data. Middleware supports and simplifies complex
distributed application A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
s. It includes web servers, 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 arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
,
SOAP Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
, Web services, and
service-oriented architecture In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provide ...
. Middleware often enables
interoperability Interoperability is a characteristic of a product or system to work with other products or systems. While the term was initially defined for information technology or systems engineering services to allow for information exchange, a broader defi ...
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 may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a ...
that may be working on different
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
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 set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
stack for telecommunications, nowadays included virtually in every operating system.


Definitions

Software that provides a link between separate software applications. Middleware is sometimes called plumbing because it connects two applications and passes data between them. Middleware allows data contained in one database to be accessed through another. This definition would fit
enterprise application integration Enterprise application integration (EAI) is the use of software and computer systems' architectural principles to integrate a set of enterprise computer applications. Overview Enterprise application integration is an integration framework comp ...
and
data integration Data integration involves combining data residing in different sources and providing users with a unified view of them. This process becomes significant in a variety of situations, which include both commercial (such as when two similar companies ...
software. ObjectWeb defines middleware as: "The software layer that lies between the
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
and applications on each side of a distributed computing system in a network."


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 newer applications to older legacy systems, although the term had been in use since 1968. It also facilitated
distributed processing A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
, 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 interfaces 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 (from grc, σημαντικός ''sēmantikós'', "significant") is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy, linguistics and comp ...
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 (e.g., an enterprise’s internal network). With the phenomenal growth of the
World Wide Web The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet. Documents and downloadable media are made available to the network through web ...
, 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 Interoperability is a characteristic of a product or system to work with other products or systems. While the term was initially defined for information technology or systems engineering services to allow for information exchange, a broader defi ...
among different database structures. Middleware facilitates transparent access to legacy database management systems (DBMSs) or applications via a web server 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 A laboratory information management system (LIMS), sometimes referred to as a laboratory information system (LIS) or laboratory management system (LMS), is a software-based solution with features that support a modern laboratory's operations. K ...
(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 interfaces (API) for every control program, by serving as an independent programming interface for their applications. For
Future Internet Future Internet is a general term for research activities on new architectures for the Internet. History While the technical development of the Internet was an extensive research topic from the beginning, an increased public awareness of several ...
network operation through traffic monitoring in multi-domain scenarios, using mediator tools (middleware) is a powerful help since they allow
operators Operator may refer to: Mathematics * A symbol indicating a mathematical operation * Logical operator or logical connective in mathematical logic * Operator (mathematics), mapping that acts on elements of a space to produce elements of another sp ...
, searchers and
service providers A service provider (SP) is an organization that provides services, such as consulting, legal, real estate, communications, storage, and processing services, to other organizations. Although a service provider can be a sub-unit of the organization t ...
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 service In telecommunication, a telecommunications service is a service provided by a telecommunications provider, or a specified set of user-information transfer capabilities provided to a group of users by a telecommunications system. The telecommunicati ...
s. 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 (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. MOM allows application modules to be distributed over heterogeneous platforms and reduces the comple ...
(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 An enterprise messaging system (EMS) or messaging system in brief is a set of published enterprise-wide standards that allows organizations to send semantically precise messages between computer systems. EMS systems promote loosely coupled arch ...
. 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 An enterprise messaging system (EMS) or messaging system in brief is a set of published enterprise-wide standards that allows organizations to send semantically precise messages between computer systems. EMS systems promote loosely coupled arch ...
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 arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable ...
,
SOAP Soap is a salt of a fatty acid used in a variety of cleansing and lubricating products. In a domestic setting, soaps are surfactants usually used for washing, bathing, and other types of housekeeping. In industrial settings, soaps are use ...
or web services. As part of an enterprise messaging system,
message broker A message broker (also known as an integration broker or interface engine) is an intermediary computer program module that translates a message from the formal messaging protocol of the sender to the formal messaging protocol of the receiver. Mess ...
software may queue, duplicate, translate and deliver messages to disparate systems or components in a messaging system. ; Enterprise service bus :
Enterprise service bus An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service-oriented architecture (SOA). It represents a software architecture for distributed computing, and is a special varia ...
(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. MOM allows application modules to be distributed over heterogeneous platforms and reduces the comple ...
and Web services".


Intelligent middleware

Intelligent
Middleware Middleware is a type of computer software that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to implement c ...
(IMW) provides real-time intelligence and event management through
intelligent agents In artificial intelligence, an intelligent agent (IA) is anything which perceives its environment, takes actions autonomously in order to achieve goals, and may improve its performance with learning or may use knowledge. They may be simple or co ...
. 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 A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
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 network), which is coded as if it were a normal ( ...
middleware enables a client to use services running on remote systems. The process can be
synchronous Synchronization is the coordination of events to operate a system in unison. For example, the conductor of an orchestra keeps the orchestra synchronized or ''in time''. Systems that operate with all parts in synchrony are said to be synchronou ...
or asynchronous. ; Object request broker : With
object request broker In distributed computing, an object request broker (ORB) is a middleware which allows program calls to be made from one computer to another via a computer network, providing location transparency through remote procedure calls. ORBs promote interop ...
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 integration interface that operates between embedded applications, the embedded operating system, and external applications.


Other

Other sources include these additional classifications: * Transaction processing monitors provides tools and an environment to develop and deploy
distributed application A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer sci ...
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, Red Hat, Oracle Corporation and
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washin ...
are some of the vendors that provide middleware software. Vendors such as Axway,
SAP Sap is a fluid transported in xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant. Sap is distinct from latex, resin, or cell sap; it is a separ ...
,
TIBCO TIBCO Software Inc. is an American business intelligence software company founded in 1997 in Palo Alto, California. It has headquarters in Palo Alto, California, and offices in North America, Europe, Asia, the Middle East, Africa and South A ...
,
Informatica Informatica is an American software development company founded in 1993. It is headquartered in Redwood City, California. Its core products include Enterprise Cloud Data Management and Data Integration. It was co-founded by Gaurav Dhillon and Di ...
,
Objective Interface Systems Objective Interface Systems, Inc. is a computer communications software and hardware company. The company's headquarters are in Herndon, Virginia, USA. OIS develops, manufactures, licenses, and supports software and hardware products that gene ...
, Pervasive, ScaleOut Software and
webMethods webMethods was an enterprise software company focused on application integration, business process integration and B2B partner integration. Founded in 1996, the company sold systems for organizations to use web services to connect software app ...
were specifically founded to provide more niche middleware solutions. Groups such as the Apache Software Foundation,
OpenSAF OpenSAF (commonly styled SAF, the Service Availability Framework) is an open-source service-orchestration system for automating computer application deployment, scaling, and management. OpenSAF is consistent with, and expands upon, Service Avai ...
, the ObjectWeb Consortium (now OW2) and OASIS'
AMQP The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-su ...
encourage the development of open source 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 Consolation, consolement, and solace are terms referring to psychological comfort given to someone who has suffered severe, upsetting loss, such as the death of a loved one. It is typically provided by expressing shared regret for that loss and ...
provides middleware in purpose-built hardware for implementations that may experience scale. StormMQ provides
Message Oriented Middleware Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems. MOM allows application modules to be distributed over heterogeneous platforms and reduces the comple ...
as a service.


See also

*
Comparison of business integration software This article is a comparison of notable business integration and business process automation software. General Scope Scope of this comparison: * Service-oriented architecture implementations; * Message-oriented middleware and message brokers ...
* Middleware Analysts *
Service-oriented architecture In software engineering, service-oriented architecture (SOA) is an architectural style that focuses on discrete services instead of a monolithic design. By consequence, it is also applied in the field of software design where services are provide ...
*
Enterprise Service Bus An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service-oriented architecture (SOA). It represents a software architecture for distributed computing, and is a special varia ...
*
Event-driven SOA Event-driven SOA is a form of service-oriented architecture (SOA), combining the intelligence and proactiveness of event-driven architecture with the organizational capabilities found in service offerings. Before event-driven SOA, the typical SOA ...
*
ObjectWeb OW2 is an independent non-profit international consortium dedicated to developing open-source software code infrastructure for middleware information systems. OW2 federates IT vendors and users, universities, and research centers from Europe, As ...


References


External links


Internet2 Middleware Initiative

SWAMI - Swedish Alliance for Middleware InfrastructureOpen Middleware Infrastructure Institute (OMII-UK)

European_Broadcasting_Union_( European_Broadcasting_Union_(EBU
)_Middleware_report">EBU">European_Broadcasting_Union_(EBU
)_Middleware_report
More_detailed_supplement_to_the_European_Broadcasting_Union_Middleware_report

ObjectWeb_-_international_community_developing_open-source_middleware
{{Authority_control Middleware.html" ;"title="EBU
)_Middleware_report.html" ;"title="EBU">European Broadcasting Union (EBU
) Middleware report">EBU">European Broadcasting Union (EBU
) Middleware report
More detailed supplement to the European Broadcasting Union Middleware report

ObjectWeb - international community developing open-source middleware
{{Authority control Middleware"> Systems engineering