The Full Wiki

Middleware: Wikis

  
  
  

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

From Wikipedia, the free encyclopedia

Middleware is a computer software that connects software components or applications. The software consists of a set of services that allows multiple processes running on one or more machines to interact. 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, application servers, and similar tools that support application development and delivery. Middleware is especially integral to modern information technology based on XML, SOAP, Web services, and service-oriented architecture.

Middleware sits "in the middle" between application software that may be working on different operating systems. It is similar to the middle layer of a three-tier single system architecture, except that it is stretched across multiple systems or applications. Examples include EAI software, telecommunications software, 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

Contents

Definitions

Software that provides a link between separate software applications. Middleware is sometimes called plumbing because it connects two applications and passes data between them. Middleware allows data contained in one database to be accessed through another. This definition would fit enterprise application integration and data integration software.

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 Axway, SAP, TIBCO, Informatica, Pervasive and webMethods were specifically founded to provide Web-oriented middleware tools. Groups such as the Apache Software Foundation, OpenSAF and the ObjectWeb Consortium encourage the development of open source middleware. Microsoft .NET “Framework” architecture is essentially “Middleware” with typical middleware functions distributed between the various products, with most inter-computer interaction by industry standards, open API’s or RAND software licence.

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 always available

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 intranet (e.g., an enterprise’s internal network). With the phenomenal growth of the World Wide Web, users can access virtually any database for which they have proper access rights from anywhere in the world. Middleware addresses the problem of varying levels of interoperability among different database structures. Middleware facilitates transparent access to legacy database management systems (DBMSs) or applications via a web server without regard to database-specific characteristics [3]. Businesses frequently use middleware applications to link information from departmental databases, such as payroll, sales, and accounting, or databases housed in multiple geographic locations [4]. In the highly competitive healthcare community, laboratories make extensive use of middleware applications for data mining, laboratory information system (LIS) backup, and to combine systems during hospital mergers. Middleware helps bridge the gap between separate LISs in a newly formed healthcare network following a hospital buyout [5]. 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 [6]. Middleware can help software developers avoid having to write to application programming interfaces (API) for every control program, by serving as an independent programming interface for their applications. Finally, e-commerce uses middleware to assist in handling rapid and secure transactions over many different types of computer environments [7]. 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 were published and are freely available from the EBU web site here:- Tech 3300 [8] and Tech 3300s [9]

Types of middleware

Hurwitz's classification system organizes the many types of middleware that are currently available.[10]. These classifications are based on scalability and recoverability:

  • Remote Procedure Call — Client makes calls to procedures running on remote systems. Can be asynchronous or synchronous.
  • Message Oriented Middleware — Messages sent to the client are collected 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.
  • Embedded Middleware — communication services and integration interface software/firmware that operates between embedded applications and the real time operating system.

Other sources include these additional classifications:

See also

References

  1. ^ Krakowiak, Sacha. "What's middleware?". ObjectWeb.org. http://middleware.objectweb.org/. Retrieved 2005-05-06. 
  2. ^ Gall, Nick (July 30, 2005). "Origin of the term middleware". http://ironick.typepad.com/ironick/2005/07/update_on_the_o.html. 
  3. ^ 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)
  4. ^ 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).
  5. ^ Bagwell, H. (2008). Middleware: providing value beyond autoverification. IVDT. Retrieved March 3, 2009 from http://www.devicelink.com/ivdt/archive/08/07/007.html.
  6. ^ 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 at http://dsonline.computer.org/portal/site/dsonline/ menuitem.3a529f3832e8f1e13587e0606bcd45f3/index.jsp
  7. ^ Charles, J. (1999). Middleware moves to the forefront. Technology News. Retrieved March 2, 2009 from http://ieeexplore.ieee.org/ielx5/2/16523/00762786.pdf
  8. ^ EBU middleware report Tech 3300 from http://tech.ebu.ch/docs/tech/tech3300.pdf
  9. ^ EBU middleware reports Tech 3300s from http://tech.ebu.ch/docs/tech/tech3300s.pdf
  10. ^ Hurwitz, Judith (January, 1998). "Sorting Out Middleware". DBMS 11.1. http://www.dbmsmag.com/9801d04.html. Retrieved 2009-01-20. 

External links


Study guide

Up to date as of January 14, 2010

From Wikiversity

Middleware is the software componenet that acts as a interface between Operating Systems and Applications.This software consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network.This software actually hides the heterogeneity of the underlying architecture such as Operating Systems and Other Low level Applications as well as hardware of a computer system. 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. The Middleware technologyncludes web servers, application servers, and similar tools that support application development and delivery. Middleware is especially integral to modern information technology based on XML, SOAP, Web services, and service-oriented architecture.

Middleware software sits between an application software(s) and the underlying different operating systems. It is similar to the middle layer of a three-tier single system architecture, except that it is stretched across multiple systems or applications. Examples include database systems, telecommunications software, 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.

Contents

Different Types of Middleware

Remote Procedure Call

Client makes calls to procedures running on remote systems. Can be asynchronous or synchronous.

Message Oriented Middleware

Messages sent to the client are collected 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.

Embedded Middleware

communication services and integration interface software/firmware that operates between embedded applications and the real time operating system.


Gaming

Up to date as of February 01, 2010

From Wikia Gaming, your source for walkthroughs, games, guides, and more!

A middleware engine is a separate engine that game developers often license from other companies to speed up the development process on their game. This middleware engine handles a specific part of the game, such as sound, graphical effects or physics.

Middleware engines

Stub
This article is a stub. You can help by adding to it.

Stubs are articles that writers have begun work on, but are not yet complete enough to be considered finished articles.


This article uses material from the "Middleware" article on the Gaming wiki at Wikia and is licensed under the Creative Commons Attribution-Share Alike License.







Got something to say? Make a comment.
Your name
Your email address
Message