Middleware (distributed applications)
Middleware in the context of
Middleware often enables
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
Definitions
Middleware is defined as software that provides a link between separate software applications. It is sometimes referred to as plumbing because it connects two applications and passes data between them. Middleware allows data contained in one database to be accessed through another. This makes it particularly useful for enterprise application integration and data integration tasks.
In more abstract terms, middleware is "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.
Use
Middleware services provide a more functional set of
- Locate transparently across the network, thus providing interaction with another service or application
- Filter data to make them friendly usable or public via anonymization processfor privacy protection (for example)
- Be independent from network services
- Be reliable and always available
- Add complementary attributes like semantics
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
Businesses frequently use middleware applications to link information from departmental databases, such as payroll, sales, and accounting, or databases housed in multiple geographic locations.
Middleware can help software developers avoid having to write
Finally, e-commerce uses middleware to assist in handling rapid and secure transactions over many different types of computer environments.[8] 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.
In 2004 members of the European Broadcasting Union (EBU) carried out a study of Middleware with respect to system integration in broadcast environments. This involved system design engineering experts from 10 major European broadcasters working over a 12-month period to understand the effect of predominantly software-based products to media production and broadcasting system design techniques. The resulting reports Tech 3300 and Tech 3300s were published and are freely available from the EBU web site.[9][10]
Types
Message-oriented middleware
Message-oriented middleware (MOM) [11] is middleware where transactions or event notifications are delivered between disparate systems or components by way of messages, often via an enterprise messaging system. With MOM, messages sent to the client are collected and stored until they are acted upon, while the client continues with other processing.
- Enterprise messaging
- An web services. As part of an enterprise messaging system, message brokersoftware may queue, duplicate, translate and deliver messages to disparate systems or components in a messaging system.
- Enterprise service bus
- Web services".
Intelligent middleware
[13] Intelligent
Content-centric middleware
Content-centric middleware offers a simple provider-consumer abstraction through which applications can issue requests for uniquely identified content, without worrying about where or how it is obtained. Juno is one example, which allows applications to generate content requests associated with high-level delivery requirements.
- Remote procedure call
- Remote procedure call middleware enables a client to use services running on remote systems. The process can be synchronous or asynchronous.
- Object request broker
- With object request broker middleware, it is possible for applications to send objects and request services in an object-oriented system.
- SQL-oriented data access
- SQL-oriented Data Access is middleware between applications and database servers.
- Embedded middleware
- Embedded middleware provides communication services and software/firmware integration interface that operates between embedded applications, the embedded operating system, and external applications.
Other
Other sources[citation needed] include these additional classifications:
- distributed applications.[15][citation needed]
- Application servers – software installed on a computer to facilitate the serving (running) of other applications.[16][citation needed]
Integration Levels
Data Integration
- Integration of data resources like files and databases
Cloud Integration
- Integration between various cloud services
B2B Integration
- Integration of data resources and partner interfaces
Application Integration
- Integration of applications managed by a company
Vendors
See also
- Comparison of business integration software
- Middleware Analysts
- Service-oriented architecture
- Enterprise Service Bus
- Event-driven SOA
- ObjectWeb
References
- ^ Krakowiak, Sacha. "What's middleware?". ObjectWeb.org. Archived from the original on 2005-05-07. Retrieved 2005-05-06.
- ^ Gall, Nick (July 30, 2005). "Origin of the term '".
- ^ Peng, C, Chen, S, Chung, J, Roy-Chowdhury, A, and Srinivasan, V. (1998). Accessing existing business data from the World Wide Web. IBM Systems Journal, 37(1), 115-132. Retrieved March 7, 2009, from ABI/INFORM Global database. (Document ID: 26217517)
- ^ Bougettaya, A, Malik, Z, Rezgui, A, and Korff, L. (2006). A Scalable Middleware for Web Databases. Journal of Database Management, 17(4), 20-39,41-46. Retrieved March 7, 2009, from ABI/INFORM Global database. (Document ID: 1155773301).
- ^ Bagwell, H. (2008). Middleware: providing value beyond autoverification Archived 2009-10-12 at the Wayback Machine. IVDT. Retrieved March 3, 2009. .
- ^ Kai Oswald Seidler. "MOMENT". Fp7-moment.eu. Retrieved 2010-08-19.
- ^ Pirtovsek, Nino (September 16, 2021). "Guide to OTT Technology For Network Operators". Uniqcast. Archived from the original on December 8, 2022. Retrieved May 10, 2023.
- ^ Charles, J. (1999). Middleware moves to the forefront (subscription required). Technology News. Retrieved March 2, 2009.
- ^ "EBU middleware report Tech 3300" (PDF). Retrieved 2010-08-19.
- ^ "EBU middleware reports Tech 3300s" (PDF). Retrieved 2010-08-19.
- ISBN 978-0-470-86206-3
- ^ "Microsoft on the Enterprise Service Bus (ESB)". August 2005.
The ESB label simply implies that a product is some type of integration middleware product that supports both MOM and Web services protocols.
- ^ Choosing the Right Middleware Archived 2012-04-02 at the Wayback Machine
- ^ Juno Archived 2011-04-26 at the Wayback Machine , Gareth Tyson, A Middleware Approach to Building Content-Centric Applications. PhD Thesis, Lancaster University (2010).
- ISBN 978-1586032678.
- ISBN 978-1602670006.
External links
- Internet2 Middleware Initiative Archived 2005-07-23 at the Wayback Machine
- SWAMI - Swedish Alliance for Middleware Infrastructure
- Open Middleware Infrastructure Institute (OMII-UK)
- Middleware Integration Levels
- European Broadcasting Union Middleware report.
- More detailed supplement to the European Broadcasting Union Middleware report.
- ObjectWeb - international community developing open-source middleware