Share on Facebook Share on Twitter Email
Answers.com

middleware

 
Dictionary: mid·dle·ware   (mĭd'l-wâr') pronunciation
 
n.

Software that serves as an intermediary between systems software and an application.


Search unanswered questions...
Enter a word or phrase...
All Community Q&A Reference topics
 

Software that functions as a conversion or translation layer. It is also a consolidator and integrator. Custom-programmed middleware solutions have been developed for decades to enable one application to communicate with another that either runs on a different platform or comes from a different vendor or both. Today, there is a diverse group of products that offer packaged middleware solutions as outlined in the following examples. See application integration.

TP Monitors
The TP monitor (transaction processing monitor) was perhaps the first product to be called middleware. Sitting between the requesting client program and the databases, it ensures that all databases are updated properly (see TP monitor).

Messaging Middleware
Messaging middleware provides a common interface and transport between applications. If the target machine is down or overloaded, it stores the data in a message queue until it becomes available. The messaging system may contain business logic that routes messages to the appropriate destinations and reformats the data as well. Messaging middleware is similar to an e-mail messaging system, except that it is used to send data between applications. (see messaging middleware).

Distributed Processing
Distributed object systems such as CORBA, DCOM and EJB enable processes to be run anywhere in the network. They differ from messaging middleware in that they cause processes (components/objects) to be executed in real time rather than sending data.

Database Middleware
Middleware provides a common interface between a query and multiple, distributed databases. Using either a hub and spoke architecture (top) or a distributed architecture (bottom), it enables data to be consolidated from a variety of disparate data sources (see EDA and DQbroker).

Common Interfaces
Common programming interfaces between applications are considered middleware. For example, Open Database Connectivity (ODBC) enables applications to make a standard call to all the databases that support the ODBC interface.

Application Server Middleware
A Web-based application server that provides interfaces to a wide variety of applications is used as middleware between the browser and legacy systems. The browser can be used at desktops or on laptops when traveling. A wide range of server-side processing has been supported by appservers (see J2EE).

Universal Computing
These two examples link an application to an operating environment and are the Holy Grail of computing. They enable the same program to run on any hardware platform without modification. HTML pages written in JavaScript can execute on any JavaScript-enabled Web browser running under any operating system. Java applications and applets are executed by a Java Virtual Machine, which can be created for any operating system. Thus, the browser and Java negate the requirement for a single operating system and hardware environment.

Network Logon
Middleware for networks includes a common approach for identifying users and network resources, authorizing and authenticating users and setting up standardized directory schemas. Using middleware in this fashion avoids the problems that occur when applications are responsible for these tasks and incompatible versions arise. The Internet2 project is expected to make advancements in this area. For more information, visit http://middleware.internet2.edu.

Enterprise Integration
ActiveWorks software was designed solely as an integration solution. Brokering messages between a wide range of enterprise applications, it added processing where required. ActiveWorks was later acquired by webMethods and folded into its BPM suite. (Image courtesy of Active Software, Inc.)

Download Computer Desktop Encyclopedia to your iPhone/iTouch

 
Wikipedia: Middleware
Top

Middleware is 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 across a network. 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 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 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

Definitions

Middleware is software enterprise application integration. It describes a piece of software that connects two or more software applications, allowing them to exchange data....

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, Mercator Software, Crossflo, Vitria and webMethods were specifically founded to provide Web-oriented middleware tools. Groups such as the Apache Software Foundation and the ObjectWeb Consortium encourage the development of open source middleware.


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 on 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 on 2009-01-20. 
  11. ^ "Definition of middleware". Carnegie Mellon: Software Engineering Institute. http://www.sei.cmu.edu/str/descriptions/middleware.html. 

External links


 
Translations: Middleware
Top

Dansk (Danish)
n. - middleware (edb)

Français (French)
n. - (Comput) logiciel médian, (Comput) logiciel qui fournit une interface commune de programme d'applications

Deutsch (German)
n. - (Comp) Middleware

Ελληνική (Greek)
n. - (Η/Υ) διαβαθμιστικό πρόγραμμα (μεταξύ προγραμμάτων ελέγχου και εφαρμογών)

Español (Spanish)
n. - software intermedio

Svenska (Swedish)
n. - övergångsprogram

中文(简体)(Chinese (Simplified))
中间设备, 中间件

中文(繁體)(Chinese (Traditional))
n. - 中間設備, 中間件

한국어 (Korean)
n. - 매개 소프트웨어

العربيه (Arabic)
‏(الاسم) برامج وسيطه‏

עברית (Hebrew)
n. - ‮תוכנת מחשב שנכתבה במיוחד לצורכי לקוח מסוים‬


 
 

 

Copyrights:

Dictionary. The American Heritage® Dictionary of the English Language, Fourth Edition Copyright © 2007, 2000 by Houghton Mifflin Company. Updated in 2007. Published by Houghton Mifflin Company. All rights reserved.  Read more
Computer Desktop Encyclopedia. THIS COPYRIGHTED DEFINITION IS FOR PERSONAL USE ONLY.
All other reproduction is strictly prohibited without permission from the publisher.
© 1981-2009 Computer Language Company Inc.  All rights reserved.  Read more
Wikipedia. This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Middleware" Read more
Translations. Copyright © 2007, WizCom Technologies Ltd. All rights reserved.  Read more

 

Mentioned in