All Topics  
Middleware

 

   Email Print
   Bookmark   Link






 

Middleware



 
 
Middleware is computer software that connects software components or applications. The software consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. This technology evolved to provide for interoperability
Interoperability

Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to system performance....
 in support of the move to coherent distributed architectures, which are used most often to support and simplify complex, distributed application
Distributed application

An application made up of distinct components in separate runtime environments, usually on different platforms connected via a network. Typical distributed applications are two-tier , three-tier , and multitier ....
s.






Discussion
Ask a question about 'Middleware'
Start a new discussion about 'Middleware'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Middleware is computer software that connects software components or applications. The software consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. This technology evolved to provide for interoperability
Interoperability

Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to system performance....
 in support of the move to coherent distributed architectures, which are used most often to support and simplify complex, distributed application
Distributed application

An application made up of distinct components in separate runtime environments, usually on different platforms connected via a network. Typical distributed applications are two-tier , three-tier , and multitier ....
s. It includes web server
Web server

The term web server can mean one of two things:# A computer program that is responsible for accepting Hypertext Transfer Protocol requests from clients , and Server them HTTP responses along with optional data contents, which usually are web pages such as Hypertext Markup Language documents and linked objects ....
s, application server
Application server

An application server, in an Multitier architecture, is a server that hosts an Application programming interface to expose business logic and business processes for use by third-party Business software....
s, and similar tools that support application development and delivery. Middleware is especially integral to modern information technology based on XML, SOAP
SOAP

SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks....
, Web service
Web service

A Web service is defined by the W3C as "a software system designed to support interoperability Machine to Machine interaction over a computer network"....
s, and service-oriented architecture
Service-oriented architecture

In computing, service-oriented architecture provides methods for systems development and System integration where systems group functionality around business processes and package these as Interoperability Service ....
.

Middleware sits "in the middle" between application software
Application software

Application software is any tool that functions and is operated by means of a computer, with the purpose of supporting or improving the software user 's work....
 working on different operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
s. It is similar to the middle layer of a three-tier
Multitier architecture

In software engineering, multi-tier architecture is a client-server architecture in which, the presentation, the application processing and the data management are logically separate processes....
 single system architecture, except that it is stretched across multiple systems or applications. Examples include database systems, telecommunications software, transaction monitors
Transaction Processing System

A Transaction Processing System or Transaction Processing Monitor is a system that monitors transaction programs . The essence of a transaction program is that it manages data that must be left in a consistent state....
, 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 stack for telecommunications, nowadays included in virtually every operating system.

In simulation technology, middleware is 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. 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

Definitions


Middleware is software enterprise application integration
Enterprise application integration

Enterprise Application Integration is defined as the use of software and computer systems architectural principles to integrate a set of enterprise computer applications....
. It describes a piece of software that connects two or more software applications, allowing them to exchange data.

ObjectWeb defines middleware as: "The software layer that lies between the operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 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, the connection of multiple applications to create a larger application, usually over a network.

Organizations

IBM
IBM

International Business Machines Corporation, abbreviated IBM and nicknamed "Big Blue" , is a multinational corporation computer technology and consulting corporation headquartered in Armonk, New York, New York, United States....
, Red Hat
Red Hat

In computing, Red Hat, Inc. is a company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1995, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....
, and Oracle Corporation
Oracle Corporation

Oracle Corporation specializes in developing and marketing enterprise software products ? particularly database management systems. Through organic growth and a number of high-profile acquisitions, Oracle enlarged its share of the software market....
 are major vendors providing middleware software. Vendors such as SAP
SAP AG

SAP Aktiengesellschaft is the largest European software enterprise and the fourth largest in the world, with headquarters in Walldorf, Germany....
, TIBCO, Mercator Software, Crossflo, Vitria and webMethods
WebMethods

webMethods, which was founded in 1996, is a company which provides business process integration software. The company is headquartered in Fairfax, Virginia, and has offices throughout the United States, Europe, Middle East/North Africa, Asia and Japan....
 were specifically founded to provide Web
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
-oriented middleware tools. Groups such as the Apache Software Foundation
Apache Software Foundation

The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and Delaware corporation, USA, in June 1999....
 and the ObjectWeb Consortium
ObjectWeb

The OW2 Consortium is a not-for-profit, international consortium mainly devoted to producing open source middleware, Enterprise application integration, e-business, clustering, grid computing....
 encourage the development of open source
Open source

Open source is an approach to design, development, and distribution offering practical accessibility to a product's source . Some consider open source as one of various possible design approaches, while others consider it a critical Strategy element of their business operations....
 middleware.

Use of middleware

Middleware services provide a more functional set of application programming interface
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
s to allow an application to:
  • Locate transparently across the network, thus providing interaction with another service or application
  • Be independent from network services
  • Be reliable and available always
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, 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 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 (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 . Wireless networking developers can use middleware to meet the challenges associated with wireless sensor network, or WSN technologies. Implementing a middleware application allows WSN developers to integrate operating systems and hardware with the wide variety of various applications that are currently available . Middleware can help software developers avoid having to write to application programming interfaces (API) for every control program, by serving as an independent programming interface for their applications. 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.

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
    Remote procedure call

    Remote procedure call is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space without the programmer explicitly coding the details for this remote interaction....
     — Client makes calls to procedures running on remote systems. Can be asynchronous or synchronous.
  • Message Oriented Middleware — Messages sent to the client are collected and stored until they are acted upon, while the client continues with other processing.
  • Object Request Broker
    Object request broker

    In distributed computing, an object request broker is a piece of middleware software that allows programmers to make program calls from one computer to another via a network....
     — This type of middleware makes it possible for applications to send objects and request services in an object-oriented system.
  • SQL-oriented Data Access — middleware between applications and database servers.
  • Embedded Middleware — communication services and integration interface software/firmware that operates between embedded applications and the real time operating system.


Other sources include these additional classifications:
  • Transaction processing monitors
    Transaction Processing System

    A Transaction Processing System or Transaction Processing Monitor is a system that monitors transaction programs . The essence of a transaction program is that it manages data that must be left in a consistent state....
     — Provides tools and an environment to develop and deploy
    Software deployment

    Software deployment is all of the activities that make a software system available for use.The general deployment process consists of several interrelated activities with possible transitions between them....
     distributed application
    Distributed application

    An application made up of distinct components in separate runtime environments, usually on different platforms connected via a network. Typical distributed applications are two-tier , three-tier , and multitier ....
    s.
  • Application server
    Application server

    An application server, in an Multitier architecture, is a server that hosts an Application programming interface to expose business logic and business processes for use by third-party Business software....
    s — software installed on a computer to facilitate the serving (running) of other applications.
  • Enterprise Service Bus
    Enterprise service bus

    In computing, an enterprise service bus refers to a software architecture construct. This construct is typically implemented by technologies found in a category of middleware infrastructure products, usually based on recognized standards, which provide fundamental services for complex architectures via an event-driven and standards-based mes...
     — An abstraction layer on top of an Enterprise Messaging System.


See also



External links

  • European Broadcasting Union (EBU) Middleware report.
  • More detailed supplement to the European Broadcasting Union Middleware report.