Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Middleware

From Wikipedia, the free encyclopedia
Computer software that provides services to software applications

Middleware is a type ofcomputer software program that provides services to software applications beyond those available from theoperating system. It can be described as "software glue".[1][2]

Middleware makes it easier forsoftware 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

[edit]
Main article:Middleware (distributed applications)
Software architecture: Middleware

The term is most commonly used for software that enables communication and management of data indistributed applications. AnIETF workshop in 2000 defined middleware as "those services found above thetransport (i.e. over TCP/IP) layer set of services but below the application environment" (i.e. below application-levelAPIs).[citation needed] In this more specific sensemiddleware can be described as the hyphen ("-") inclient-server, or the-to- inpeer-to-peer. Middleware includesweb servers,application servers,content management systems, and similar tools that support application development and delivery.[4]

ObjectWeb defines middleware as: "The software layer that lies between theoperating system and applications on each side of a distributed computing system in a network."[5] Services that can be regarded as middleware includeenterprise application integration,data integration,message oriented middleware (MOM),object request brokers (ORBs), and theenterprise service bus (ESB).[6]

Database access services are often characterised as middleware. Some of them are language specific implementations and support heterogeneous features and other related communication features.[7] Examples of database-oriented middleware includeODBC,JDBC, andtransaction processing monitors.[8]

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 theService Availability Forum[9] and is commonly used in complex,embedded systems within the telecom, defence, andaerospace industries.[10]

Usage of middleware

[edit]

Many categories of middleware have been defined, based on the field in which it is used or the application module it serves. A recent bibliography identified the main categories of middleware as follows:[11]

  • 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 that 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, but incorporates object-oriented programming design principles. Analytically, its software component encompasses object references, exceptions, and inheritance of properties via distributed object requests.

Other examples

[edit]

The termmiddleware is used in other contexts as well.Middleware is sometimes used in a similar sense to asoftware driver, an abstraction layer that hides detail about hardware devices or other software from an application.

  • TheAndroid operating system uses theLinux kernel at its core, and provides anapplication framework that developers incorporate into their applications. In addition,Android provides a middleware layer includinglibraries that provide services such as data storage, screen display,multimedia, and web browsing. Because the middleware libraries arecompiled tomachine language, services execute quickly. Middleware libraries also implement device-specific functions, so applications and the application framework need not concern themselves with variations between Android devices. Android's middleware layer also contains theARTvirtual machine and its coreJava application libraries.[12]
  • Middleware also refers to the software that separates two or more APIs and provides services such as rate-limiting, authentication, and logging.
  • Game engine software such asGamebryo andRenderWare are sometimes described as middleware because they provide services to simplify game development.[13]
  • In simulation technology,middleware is generally used in the context of thehigh level architecture (HLA) that applies to many distributed simulations. It is a layer of software that lies between theapplication code and therun-time infrastructure. Middleware generally consists of a library of functions, and enables a number of applications—simulations or federates in HLA terminology—topage these functions from the common library rather than recreate them for each application.[14]
  • In x86 computers,UEFI/BIOS is a middleware betweenoperation system andhardware.
  • Wireless networking developers can use middleware to meet the challenges associated with awireless sensor network (WSN). Implementing a middleware application allows WSN developers to integrate operating systems and hardware with the wide variety of currently available applications.[15]
  • TheQNX operating system offers middleware for providing multimedia services for use inautomobiles,aircraft, and other environments.[16]
  • Radio-frequency identification (RFID) software toolkits provide middleware to filter noisy and redundant raw data.[17]

See also

[edit]

References

[edit]
  1. ^"Middleware conference".middleware-conf.github.io. Retrieved2023-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. Retrieved2013-08-11.
  3. ^Gall, Nick (July 30, 2005)."Origin of the termmiddleware". RetrievedMay 21, 2008.
  4. ^Etzkorn, L. H. (2017).Introduction to Middleware: Web Services, Object Components, and Cloud Computing. CRC Press. pp. 4–5.ISBN 9781498754101.
  5. ^Krakowiak, Sacha."What's middleware?". ObjectWeb.org. Archived fromthe original on 2005-05-07. Retrieved2005-05-06.
  6. ^Luckham, D. C. (2011).Event Processing for Business: Organizing the Real-Time Enterprise. John Wiley & Sons. pp. 27–28.ISBN 9781118171851.
  7. ^Simon, A. R.; Wheeler, T. (2014).Open Client/Server Computing and Middleware. Academic Press. pp. 43–49.ISBN 9781483214276.
  8. ^Arregoces, M.; Portolani, M. (2003).Data Center Fundamentals. Cisco Press. pp. 92–93.ISBN 9781587140747.
  9. ^"Service Availability Interface Specification"(PDF). Service Availability Forum. 30 September 2011. Archived fromthe original(PDF) on 4 August 2016. Retrieved26 July 2018.
  10. ^Jokiaho, T.; Fryer, J. (2012)."Foreword".Service Availability: Principles and Practice. John Wiley & Sons. p. xv.ISBN 9781119941675.
  11. ^Gazis, Alexandros; Katsiri, Eleftheria (15 March 2022)."Middleware 101: What to know now and for the future".ACM Queue.20:10–23.doi:10.1145/3526211.S2CID 247494415.
  12. ^Charlie Collins, Michael Galpin and Matthias Kaeppler, Android in Practice, Manning Publications, 2011
  13. ^Moore, M. E. (2006).Introduction to the Game Industry. Pearson Prentice Hall. p. 169.ISBN 9780131687431.
  14. ^Becchini, R.; Chilaev, P.; Krivtsov, V.; et al. (2003)."Chapter 4: Middleware". In Drira, K.; Martelli, A.; Villemur, T. (eds.).Cooperative Environments for Distributed Systems Engineering: The Distributed Systems Environment Report. Springer. pp. 41–4.ISBN 9783540455820.
  15. ^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 fromiEEE Distributed Systems OnlineArchived 2011-09-28 at theWayback Machine
  16. ^"QNX Software Joins Internet ITS Consortium of Japan".QNX News Releases. QNX. 6 May 2008. Retrieved26 July 2018.
  17. ^Glover, B.; Bhatt, H. (2006).RFID Essentials. O'Reilly Media. pp. 38–44.ISBN 9780596009441.

External links

[edit]
  • The dictionary definition ofmiddleware at Wiktionary
Note: This template roughly follows the 2012ACM Computing Classification System.
Hardware
Computer systems organization
Networks
Software organization
Software notations andtools
Software development
Theory of computation
Algorithms
Mathematics ofcomputing
Information systems
Security
Human-centered computing
Concurrency
Artificial intelligence
Machine learning
Graphics
Applied computing
Specialized PlatformDevelopment
International
Other
Retrieved from "https://en.wikipedia.org/w/index.php?title=Middleware&oldid=1321197208"
Category:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp