Jump to content

Middleware (distributed applications)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 87.69.130.11 (talk) at 05:50, 11 December 2008 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 in support of the move to coherent distributed architectures, which are used most often to support and simplify complex, distributed applications. It includes web servers, 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 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 the enabling technology of enterprise application integration. 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 and 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 newer 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

IBM, Red Hat, and Oracle Corporation are major vendors providing middleware software. Vendors such as SAP, TIBCO, Mercator Software, 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.

Use of middleware

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
  • Be independent from network services
  • Be reliable and available always

when compared to the operating system and network services.

Types of middleware

Hurwitz's classification system organizes the many types of middleware that are currently available.[3] These classifications are baseected and stored until they are acted upon, while the client continues with other processing.

  • Object Request Broker — 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.

Other sources include these additional classifications:

See also

(Spanish)

References

  1. ^ Krakowiak, Sacha. "What's middleware?". ObjectWeb.org. Retrieved 2005-05-06.
  2. ^ Gall, Nick (July 30, 2005). "Origin of the term middleware". {{cite web}}: Check date values in: |date= (help)
  3. ^ Hurwitz, J. 1998 "Sorting Out Middleware." DMBS 11.1 (January): 10-12.
  4. ^ "Definition of middleware". Carnegie Mellon: Software Engineering Institute.