Middleware
| The title of this page was previously used for another page, which was recently moved to allow it to be used for this page. Other pages that should link to that new title may still link here. You can help fix this by clicking on the What links here tab on the left, and making these changes accordingly. Please see the talk page for more information. (February 2012) |
In its most general sense, middleware is computer software that provides services to software applications beyond those available from the operating system. Thus middleware is not obviously part of an operating system, and neither is it part of one software application. Middleware is intended to solve general “plumbing” issues faced by developers, so they can focus on the specific purpose of their application.
Contents |
[edit] Middleware in distributed applications
The term is most commonly used for software that enables communication and management of data in distributed applications. In this more specific sense middleware can be described as “the dash in client-server”.
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]. Services that can be regarded as middleware include enterprise application integration, data integration and message oriented middleware(MOM).
[edit] Other examples of middleware
The term middleware is used in other contexts as well.
- The Android environment uses the Linux operating system at its core. In addition, Android provides a middleware layer including libraries and services to facilitate the development of performance-sensitive or device-specific functionality, such as data storage, screen display, multimedia, and web browsing. The Android middleware layer also contains the Dalvik virtual machine and its core Java application libraries[2].
- Game engine software such as Gamebryo and Renderware are sometimes described as middleware, because they provide many services to simplify game development.
- 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.
- Wireless networking developers can use middleware to meet the challenges associated with wireless sensor network (WSN), 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.[3]
- The Miles Sound System provided a middleware software driver allowing developers to build software that worked with a range of different sound cards, without concerning themselves with the details of each card.
- Universal Home API, or UHAPI, is an application programming interface (API) for consumer electronics appliances, created by the UHAPI Forum. The objective of UHAPI is to enable standard middleware to run on audio/video streaming platforms via a hardware-independent industry standard API.
[edit] Boundaries
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.
[edit] 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.[4] It also facilitated distributed processing, the connection of multiple applications to create a larger application, usually over a network.
[edit] References
- ^ Krakowiak, Sacha. "What's middleware?". ObjectWeb.org. http://middleware.objectweb.org/. Retrieved 2005-05-06.
- ^ Charlie Collins, Michael Galpin and Matthias Kaeppler, Android in Practice, Manning Publications, 2011
- ^ Hadim, S. and Mohamed, N. (2006). Middleware challenges and approaches for wireless sensor networks. IEEE Distributed Systems Online vol 7. Issue 3. Retrieved March 4, 2009 from iEEE Distributed Systems Online
- ^ Gall, Nick (July 30, 2005). "Origin of the term middleware". http://ironick.typepad.com/ironick/2005/07/update_on_the_o.html.
[edit] External links
| Look up middleware in Wiktionary, the free dictionary. |