Middleware is computer A computer is a programmable machine that receives input, stores and manipulates data//information, and provides output in a useful format software Computer software, or just software, is the collection of computer programs and related data that provide the instructions telling a computer what to do. The term was coined to contrast to the old term hardware . In contrast to hardware, software is intangible, meaning it "cannot be touched". Software is also sometimes used in a more that connects software components Component-based software engineering (also known as component-based development (CBD)) is a branch of software engineering, the priority of which is the separation of concerns in respect of the wide-ranging functionality available throughout a given software system. This practice brings about an equally wide-ranging degree of benefits in both the or some people and their 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 Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to system performance in support of the move to coherent distributed architectures, which are most often used to support and simplify complex distributed applications Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal. A computer program that runs in a distributed system is called a distributed. It includes web servers A web server is a computer program that delivers content, such as web pages, using the Hypertext Transfer Protocol (HTTP), over the World Wide Web. The term web server can also refer to the computer or virtual machine running the program. In large commercial deployments, a server computer running a web server can be rack-mounted with other servers, application servers An application server is a software framework dedicated to the efficient execution of procedures for supporting the construction of applications. The term was originally used when discussing early client–server server systems and servers that ran SQL services and middleware servers to differentiate them from file servers, and similar tools that support application development and delivery. Middleware is especially integral to modern information technology based on XML XML is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards, SOAP SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks. It relies on eXtensible Markup Language as its message format, and usually relies on other Application Layer protocols (most notably Remote Procedure Call (RPC) and, Web services Web services are typically application programming interfaces or web APIs that are accessed via Hypertext Transfer Protocol (HTTP) and executed on a remote system hosting the requested services. Web services tend to fall into one of two camps: Big Web Services and RESTful Web Services, and service-oriented architecture In computing, a service-oriented architecture is a flexible set of design principles used during the phases of systems development and integration. A deployed SOA-based architecture will provide a loosely-integrated suite of services that can be used within multiple business domains.
Middleware sits "in the middle" between application software Application software, also known as applications or apps, is computer software designed to help the user to perform singular or multiple related specific tasks. Examples include Enterprise software, Accounting software, Office suites, Graphics software and media players that may be working on different operating systems An operating system is the software on a computer that manages the way different programs use its hardware, and regulates the ways that a user controls the computer. Operating systems are found on almost any device that contains a computer with multiple programs—from cellular phones and video game consoles to supercomputers and web servers. Some. It is similar to the middle layer of a three-tier In software engineering, multi-tier architecture is a client-server architecture in which the presentation, the application processing, and the data management are logically separate processes. For example, an application that uses middleware to service data requests between a user and a database employs multi-tier architecture. The most single system architecture, except that it is stretched across multiple systems or applications. Examples include EAI Enterprise Application Integration is an integration framework composed of a collection of technologies and services which form a middleware to enable integration of systems and applications across the enterprise software, telecommunications software, transaction monitors A Transaction Processing System or Transaction Processing Monitor is a set of information which process the data transaction in database system that monitors transaction programs . The essence of a transaction program is that it manages data that must be left in a consistent state. E.g. if an electronic payment is made, the amount must be either, 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 Enterprise Application Integration is an integration framework composed of a collection of technologies and services which form a middleware to enable integration of systems and applications across the enterprise and data integration Data integration involves combining data residing in different sources and providing users with a unified view of these data. This process becomes significant in a variety of situations both commercial and scientific (combining research results from different bioinformatics repositories, for example). Data integration appears with increasing software.
ObjectWeb defines middleware as: "The software layer that lies between the operating system An operating system is the software on a computer that manages the way different programs use its hardware, and regulates the ways that a user controls the computer. Operating systems are found on almost any device that contains a computer with multiple programs—from cellular phones and video game consoles to supercomputers and web servers. Some and applications on each side of a distributed computing system in a network."[1] 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 most often used 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.
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
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 International Business Machines (NYSE: IBM) is a multinational computer, technology and IT consulting corporation headquartered in Armonk, North Castle, New York, United States. IBM is the world's fourth largest technology company and the second most valuable by global brand (after Coca-Cola). IBM is one of the few information technology companies, Red Hat Red Hat, Inc. is an S&P 500 company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide, and Oracle Corporation Oracle Corporation is a multinational computer technology corporation that specializes in developing and marketing enterprise software products — particularly database management systems. Headquartered in Redwood City, California, United States, Oracle employs more than 115,000 people worldwide as of 2009[update]. It has enlarged its share of are major vendors providing middleware software. Vendors such as Axway, SAP SAP AG is a German software development and consulting corporation, which provides enterprise software applications and support to businesses of all sizes globally. Headquartered in Walldorf, Germany, with regional offices around the world, SAP is the largest software enterprise in Europe and the fourth largest software enterprise in the world as, TIBCO TIBCO Software Inc. is a global company that develops integration software for companies including those in the energy, manufacturing, retail, healthcare, and financial services industries. Its headquarters is in Palo Alto, California, with offices in North America, Europe, Asia, the Middle East, Africa and South America. The company's major, Informatica, Pervasive and webMethods were specifically founded to provide Web The World Wide Web, abbreviated as WWW and commonly known as the Web, is a system of interlinked hypertext documents accessed via the Internet. With a web browser, one can view web pages that may contain text, images, videos, and other multimedia and navigate between them by using hyperlinks. Using concepts from earlier hypertext systems, British-oriented middleware tools. Groups such as the Apache Software Foundation The Apache Software Foundation is a non-profit corporation (classified as 501(c)(3) in the United States) to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and incorporated in Delaware, USA, in June 1999,, OpenSAF and the ObjectWeb Consortium encourage the development of open source Open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology. Before the term open source became widely adopted, developers and producers used a variety of phrases to describe the concept; 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 APIs or RAND software licence.
Use of middleware
Middleware services provide a more functional set of application programming interfaces An Application Programming Interface is an interface implemented by a software program which enables it to interact with other software. It is similar to the way the user interface facilitates interaction between humans and computers. An API is implemented by applications, libraries, and operating systems to determine their vocabularies and to allow an application to:
- Locate transparently across the network, thus providing interaction with another service or application
- Filter data to make them friendly usable or public via anonymization process for privacy protection (for example)
- Be independent from network services
- Be reliable and always available
- Add complementary attributes like semantics Semantics is the study of meaning, usually in language. The word "semantics" itself denotes a range of ideas, from the popular to the highly technical. It is often used in ordinary language to denote a problem of understanding that comes down to word selection or connotation. This problem of understanding has been the subject of many
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 An intranet is a private computer network that uses Internet Protocol technologies to securely share any part of an organization's information or network operating system within that organization. The term is used in contrast to internet, a network between organizations, and instead refers to a network within an organization. Sometimes the term (e.g., an enterprise’s internal network). With the phenomenal growth of the World Wide Web The World Wide Web, abbreviated as WWW and commonly known as the Web, is a system of interlinked hypertext documents accessed via the Internet. With a web browser, one can view web pages that may contain text, images, videos, and other multimedia and navigate between them by using hyperlinks. Using concepts from earlier hypertext systems, British, 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 Interoperability is a property referring to the ability of diverse systems and organizations to work together . The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and organizational factors that impact system to system performance among different database structures. Middleware facilitates transparent access to legacy database management systems A Database Management System is a set of computer programs that controls the creation, maintenance, and the use of the database with computer as a platform or of an organization and its end users. It allows organizations to place control of organization-wide database development in the hands of database administrators (DBAs) and other specialists (DBMSs) or applications via a web server A web server is a computer program that delivers content, such as web pages, using the Hypertext Transfer Protocol (HTTP), over the World Wide Web. The term web server can also refer to the computer or virtual machine running the program. In large commercial deployments, a server computer running a web server can be rack-mounted with other servers 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 Data mining is the process of extracting patterns from data. Data mining is becoming an increasingly important tool to transform the data into information. It is commonly used in a wide range of profiling practices, such as marketing, surveillance, fraud detection and scientific discovery, laboratory information system A lab information system is a class of software that receives, processes, and stores information generated by medical laboratory processes. These systems often must interface with instruments and other information systems such as hospital information systems (HIS). A LIS is a highly configurable application which is customized to facilitate a wide (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 A wireless sensor network consists of spatially distributed autonomous sensors to cooperatively monitor physical or environmental conditions, such as temperature, sound, vibration, pressure, motion or pollutants. The development of wireless sensor networks was motivated by military applications such as battlefield surveillance. They are now used (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 application programming interfaces An Application Programming Interface is an interface implemented by a software program which enables it to interact with other software. It is similar to the way the user interface facilitates interaction between humans and computers. An API is implemented by applications, libraries, and operating systems to determine their vocabularies and (API) for every control program, by serving as an independent programming interface for their applications. For Future Internet network operation through traffic monitoring in multi-domain scenarios Network management refers to the activities, methods, procedures, and tools that pertain to the operation, administration, maintenance, and provisioning of networked systems, using mediator tools (middleware) is a powerful help since they allow operators A telecommunications service provider or TSP is a type of communications service provider that has traditionally provided telephone and similar services. This category includes ILECs, CLECs, and mobile wireless communication companies, searchers and service providers A service provider is an entity that provides services to other entities. Usually this refers to a business that provides subscription or web service to other businesses or individuals. Examples of these services include Internet access, Mobile phone operator, and web application hosting. The term is more often applied to communication services to supervise Quality of service In the field of computer networking and other packet-switched telecommunication networks, the traffic engineering term quality of service refers to resource reservation control mechanisms rather than the achieved service quality. Quality of service is the ability to provide different priority to different applications, users, or data flows, or to and analyse eventual failures in telecommunication services (see MOMENT[1] for example) 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 The European Broadcasting Union (EBU; French: Union européenne de radio-télévision ) is a confederation of 75 broadcasting organisations from 56 countries, and 43 associate broadcasters from a further 25. It is unrelated to the European Union. Members are radio and television companies, most of which are government-owned public service (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 Remote procedure call is an Inter-process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding the details for this remote interaction. That is, the programmer would write essentially — Client makes calls to procedures running on remote systems. Can be asynchronous In specific terms of digital logic and physical layer of communication, an asynchronous process does not require a clock signal. Contrast with plesiochronous systems or synchronous.
- Message Oriented Middleware Message-oriented middleware is infrastructure focused on sending and receiving messages that increases the interoperability, portability, and flexibility of an application by allowing the application to be distributed over heterogeneous platforms. It reduces the complexity of developing applications that span multiple operating systems and network — 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:
- Transaction processing monitors A Transaction Processing System or Transaction Processing Monitor is a set of information which process the data transaction in database system that monitors transaction programs . The essence of a transaction program is that it manages data that must be left in a consistent state. E.g. if an electronic payment is made, the amount must be either — Provides tools and an environment to develop and deploy The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur at the producer site or at the consumer site or both. Because every software system is unique, the precise processes or procedures within each activity can hardly be defined. Therefore, "deployment" distributed applications Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal. A computer program that runs in a distributed system is called a distributed.
- Application servers An application server is a software framework dedicated to the efficient execution of procedures for supporting the construction of applications. The term was originally used when discussing early client–server server systems and servers that ran SQL services and middleware servers to differentiate them from file servers — software installed on a computer to facilitate the serving (running) of other applications.
- Enterprise Service Bus — An abstraction layer on top of an Enterprise Messaging System.
See also
| Look up middleware in Wiktionary, the free dictionary. |
- 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. http://middleware.objectweb.org/. Retrieved 2005-05-06.
- ^ Gall, Nick (July 30, 2005). "Origin of the term middleware". http://ironick.typepad.com/ironick/2005/07/update_on_the_o.html.
- ^ 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. IVDT. Retrieved March 3, 2009 from http://www.devicelink.com/ivdt/archive/08/07/007.html.
- ^ 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
- ^ Charles, J. (1999). Middleware moves to the forefront. Technology News. Retrieved March 2, 2009 from http://ieeexplore.ieee.org/ielx5/2/16523/00762786.pdf
- ^ EBU middleware report Tech 3300 from http://tech.ebu.ch/docs/tech/tech3300.pdf
- ^ EBU middleware reports Tech 3300s from http://tech.ebu.ch/docs/tech/tech3300s.pdf
- ^ Hurwitz, Judith (January, 1998). "Sorting Out Middleware". DBMS 11.1. http://www.dbmsmag.com/9801d04.html. Retrieved 2009-01-20.
External links
- Internet2 Middleware Initiative
- Dynamically Self Configuring Automotive Systems
- Middleware Abstraction Layer
- SWAMI - Swedish Alliance for Middleware Infrastructure
- Element (commercial offering from Enea)
- dSPEED (commercial offering from Enea)
- Open Middleware Infrastructure Institute (OMII-UK)
- Common XML Vocabularies
- Specific XML Vocabularies
- [2] European Broadcasting Union (EBU) Middleware report.
- [3] More detailed supplement to the European Broadcasting Union Middleware report.
- ObjectWeb - international community developing open-source middleware
- C++ Middleware Writer - free on line code generation
Categories: Buzzwords | Middleware | Systems engineering
Personal tools
- New features
- Log in / create account
Namespaces
- Article
- Discussion
Variants
Views
- Read
- Edit
- View history
Actions
Navigation
- Main page
- Contents
- Featured content
- Current events
- Random article
Interaction
- About Wikipedia
- Community portal
- Recent changes
- Contact Wikipedia
- Donate to Wikipedia
- Help
Toolbox
- What links here
- Related changes
- Upload file
- Special pages
- Permanent link
- Cite this page
Print/export
- Create a book
- Download as PDF
- Printable version
Languages
- বাংলা
- Български
- Català
- Dansk
- Deutsch
- Español
- Français
- 한국어
- Italiano
- עברית
- Lumbaart
- Nederlands
- 日本語
- Polski
- Português
- Русский
- Svenska
- Tiếng Việt
- 中文