Middleware

Source: Wikipedia, the free encyclopedia.

Middleware is a type of

computer software program that provides services to software applications beyond those available from the operating system. It can be described as "software glue".[1][2]

Middleware makes it easier for

software developers to implement communication and input/output, so they can focus on the specific purpose of their application. 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.[3]

In distributed applications

Software architecture: Middleware

The term is most commonly used for software that enables communication and management of data in

client-server, or the -to- in peer-to-peer. Middleware includes web servers, application servers, content management systems, and similar tools that support application development and delivery.[5]

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

Distributed computing system middleware can loosely be divided into two categories—those that provide human-time services (such as web request servicing) and those that perform in machine-time. This latter middleware is somewhat standardized through the

embedded systems within telecom, defence and aerospace industries.[11]

Usage of middleware

Many definitions exist regarding the categorization of middleware specifying either on the field that it is used or the application module it serves. In recent bibliography, the main categories of middleware are the following:[12]

  • Transactional: Processing of multiple synchronous/ asynchronous transactions, serving as a cluster of associated requests from distributed systems such as bank transactions or credit card payments.
  • Message-oriented: Message queue and message passing architectures, which support synchronous/asynchronous communication.
  • Procedural: Remote and local architectures to connect, pass, and retrieve software responses of asynchronous systems communications such as a call operation.
  • Object-oriented: Similar to procedural middleware, however, this type of middleware incorporates object-oriented programming design principles. Analytically, its software component encompasses object references, exceptions, and inheritance of properties via distributed object request.

Other examples

The term middleware is used in other contexts as well. Middleware is sometimes used in a similar sense to a

software driver
, an abstraction layer that hides detail about hardware devices or other software from an application.

See also

References

  1. ^ "Middleware conference". middleware-conf.github.io. Retrieved 2023-12-16. Middleware is a distributed-system software that resides between applications and underlying platforms (operating systems; databases; hardware), and/or ties together distributed applications, databases or devices. Its primary role is to coordinate and enable communication between different layers or components while isolating much of the complexity of distribution into a single, well tested and well understood system abstraction.
  2. ^ "What is Middleware?". Middleware.org. Defining Technology. 2008. Archived from the original on June 29, 2012. Retrieved 2013-08-11.{{cite web}}: CS1 maint: unfit URL (link)
  3. ^ Gall, Nick (July 30, 2005). "Origin of the term middleware". Retrieved May 21, 2008.
  4. ^ "Home". IETF.
  5. .
  6. ^ Krakowiak, Sacha. "What's middleware?". ObjectWeb.org. Archived from the original on 2005-05-07. Retrieved 2005-05-06.
  7. .
  8. .
  9. .
  10. ^ "Service Availability Interface Specification" (PDF). Service Availability Forum. 30 September 2011. Retrieved 26 July 2018.
  11. .
  12. S2CID 247494415. {{cite journal}}: Cite journal requires |journal= (help
    )
  13. ^ Charlie Collins, Michael Galpin and Matthias Kaeppler, Android in Practice, Manning Publications, 2011
  14. .
  15. .
  16. ^ 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 Archived 2011-09-28 at the Wayback Machine
  17. ^ "QNX Software Joins Internet ITS Consortium of Japan". QNX News Releases. QNX. 6 May 2008. Retrieved 26 July 2018.
  18. .

External links

  • The dictionary definition of middleware at Wiktionary