Information about Middleware
This article is about integration software. For video game engine software, see Game engine#Middleware.
'Middleware is computer software that sits 'in the middle' between application software (e.g. a word processing program) and the operating system (Unix, Windows, z/OS etc.) It is similar to operating system software in that it provides functions to multiple applications, and it is similar to application software in that it is not used for all applications, and that it eventually depends on operating system functions. 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 of course can only be provided by the operating system itself, some functionality previously provided by separately sold middleware is now integrated in operating systems. The typical example is the TCP/IP stack for telecommunications, nowadays included in virtually every operating system.
Middleware is computer software that connects software components or applications. The software consists of a set of enabling services that allow 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 client/server architecture. It is used most often to support complex, distributed applications. It includes web servers, application servers, content management systems, 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.
The term middleware is sometimes considered a buzzword.
Middleware in Simulation Technology. In Simulation, "middleware" is a term 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 (RTI), hence `middle' in its title. 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
Definition
Middleware is the enabling technology of Enterprise application integration. It describes a piece of software that connects two or more software applications so that they can exchange data.ObjectWeb defines middleware as: "The software layer that lies between the operating system and the 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 new 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 is the most important vendor in the middleware software. In addition to the existing vendors updating their wares to address the newly expanded vision, vendors such as 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 Interface(API) to allow an application to i. locate transparently across the network thus providing interaction with another service or application ii. be independent from network services iii. be reliable and available always when compared to the operating system and network services.Types of middleware
Hurwitz's classification system organizes the many types of middleware that are currently available. These classifications are based on scalability and recoverability:- Remote Procedure Call (RPCs) — Client makes calls to procedures running on remote systems. Can be asynchronous or synchronous.
- Message Oriented Middleware (MOM) — Messages sent to the client are collected and stored until they are acted upon, while the client continues with other processing.
- Object Request Broker (ORB) — This type of middleware makes it possible for applications to send objects and request services in an object-oriented system.
- — middleware between applications and database servers.
- Transaction processing (TP) monitors — Provides tools and an environment to develop and deploy distributed applications.[3]
- Application 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
References
1. ^ Krakowiak, Sacha. What's middleware?. ObjectWeb.org. Retrieved on 2005-05-06.
2. ^ Gall, Nick (July 30, 2005). Origin of the term middleware.
3. ^ Definition of middleware. Carnegie Mellon: Software Engineering Institute.
2. ^ Gall, Nick (July 30, 2005). Origin of the term middleware.
3. ^ Definition of middleware. Carnegie Mellon: Software Engineering Institute.
External links
- Internet2 Middleware Initiative
- Middleware Abstraction Layer
- SWAMI - Swedish Alliance for Middleware Infrastructure
- Element (commercial offering from Enea)
- Open Middleware Infrastructure Institute (OMII-UK)
Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some task on a computer system. [1]
..... Click the link for more information.
..... Click the link for more information.
A database management system (DBMS) is computer software designed for the purpose of managing databases. Typical examples of DBMSs include Oracle, DB2, Microsoft Access, Microsoft SQL Server, PostgreSQL, MySQL, FileMaker and Sybase Adaptive Server Enterprise.
..... Click the link for more information.
..... Click the link for more information.
Computer software is a general term used to describe a collection of computer programs, procedures and documentation that perform some task on a computer system. [1]
..... Click the link for more information.
..... Click the link for more information.
Component-based software engineering (CBSE) (also known as Component-Based Development (CBD) or Software Componentry) is a branch of the software engineering discipline, with emphasis on decomposition of the engineered systems into functional or logical components
..... Click the link for more information.
..... Click the link for more information.
Interoperability is a property referring to the ability of diverse systems and organizations to work together (inter-operate). The term is often used in a technical systems engineering sense, or alternatively in a broad sense, taking into account social, political, and
..... Click the link for more information.
..... Click the link for more information.
distributed applications are two-tier (client-server), three-tier (client-middleware-server), and multitier (Source: [1]
See also distributed computing.
..... Click the link for more information.
See also distributed computing.
..... Click the link for more information.
web server can mean one of two things:
..... Click the link for more information.
- A computer program that is responsible for accepting HTTP requests from clients, which are known as web browsers, and serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents and
..... Click the link for more information.
An application server is a software engine that delivers applications to client computers or devices. Moreover, an application server handles most, if not all, of the business logic and data access of the application (a.k.a. centralization).
..... Click the link for more information.
..... Click the link for more information.
A Content Management System (CMS) is a software system used for content management. Content management systems are deployed primarily for interactive use by a potentially large number of contributors.
..... Click the link for more information.
..... Click the link for more information.
Extensible Markup Language
File extension:
MIME type:
Uniform Type Identifier: public.xml
Developed by: World Wide Web Consortium
Type of format: Markup language
Extended from: SGML
..... Click the link for more information.
File extension:
.xmlMIME type:
application/xml, text/xml (deprecated)Uniform Type Identifier: public.xml
Developed by: World Wide Web Consortium
Type of format: Markup language
Extended from: SGML
..... Click the link for more information.
Simple Object Access Protocol, and lately also Service Oriented Architecture Protocol, but is now simply SOAP. The original acronym was dropped with Version 1.2 of the standard, which became a W3C Recommendation on June 24 2003, as it was considered to be misleading.
..... Click the link for more information.
..... Click the link for more information.
The W3C defines a Web service (many sources also capitalize the second word, as in Web Services) as "a software system designed to support interoperable Machine to Machine interaction over a network.
..... Click the link for more information.
..... Click the link for more information.
Service-oriented Architecture (SOA) is an architectural design pattern that concerns itself with defining loosely-coupled relationships between producers and consumers. While it has no direct relationship with software, programming, or technology, it's often confused with an
..... Click the link for more information.
..... Click the link for more information.
The High Level Architecture (HLA) is a general purpose architecture for distributed computer simulation systems. Using HLA, computer simulations can communicate to other computer simulations regardless of the computing platforms.
..... Click the link for more information.
..... Click the link for more information.
In computing, run-time infrastructure (RTI) is a middleware that is required when implementing the High Level Architecture. RTI is the fundamental component of HLA. It provides a set of software services that are necessary to support federates to coordinate their operations and
..... Click the link for more information.
..... Click the link for more information.
Enterprise Application Integration (EAI) is defined as the uses of software and computer systems architectural principles to integrate a set of enterprise computer applications.
..... Click the link for more information.
..... Click the link for more information.
An operating system (OS) is the software that manages the sharing of the resources of a computer. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the
..... Click the link for more information.
..... Click the link for more information.
TIBCO Software Inc.
Public (NASDAQ: TIBX )
Founded 1988
Headquarters Palo Alto, CA
Key people Vivek Ranadive, founder, CEO, chairman
Industry Computer Software
Products Business software
Revenue US $517.
..... Click the link for more information.
Public (NASDAQ: TIBX )
Founded 1988
Headquarters Palo Alto, CA
Key people Vivek Ranadive, founder, CEO, chairman
Industry Computer Software
Products Business software
Revenue US $517.
..... Click the link for more information.
webMethods Inc.
Subsidiary of Software AG
Founded 1996
Headquarters Fairfax, VA
Key people David Mitchell, President & CEO
Industry Computer software
Products webMethods Fabric
webMethods Integration Server
webMethods Servicenet
..... Click the link for more information.
Subsidiary of Software AG
Founded 1996
Headquarters Fairfax, VA
Key people David Mitchell, President & CEO
Industry Computer software
Products webMethods Fabric
webMethods Integration Server
webMethods Servicenet
..... Click the link for more information.
World Wide Web (commonly shortened to the Web) is a system of interlinked, hypertext documents accessed via the Internet. With a web browser, a user views web pages that may contain text, images, videos, and other multimedia and navigates between them using hyperlinks.
..... Click the link for more information.
..... Click the link for more information.
Apache Software Foundation
Type 501(c)(3)
Founded June 1999
Headquarters Forest Hill, Maryland
Website www.apache.org The Apache Software Foundation (ASF) is a non-profit corporation (classified as 501(c)(3) in the United States) to support Apache software
..... Click the link for more information.
Type 501(c)(3)
Founded June 1999
Headquarters Forest Hill, Maryland
Website www.apache.org The Apache Software Foundation (ASF) is a non-profit corporation (classified as 501(c)(3) in the United States) to support Apache software
..... Click the link for more information.
The OW2 Consortium (formed in January 2007 from the merger of the ObjectWeb Consortium and Orientware) is a not-for-profit, international consortium mainly devoted to producing open source middleware, EAI, e-business, clustering, grid computing.
..... Click the link for more information.
..... Click the link for more information.
Open source is a set of principles and practices that promote access to the design and production of goods and knowledge. The term is most commonly applied to the source code of software that is available to the general public with relaxed or non-existent intellectual property
..... Click the link for more information.
..... Click the link for more information.
An application programming interface (API) is a source code interface that an operating system or library provides to support requests for services to be made of it by computer programs.
..... Click the link for more information.
..... Click the link for more information.
Hurwitz is a surname and may refer to:
..... Click the link for more information.
- Aaron Hurwitz, musician, see Live on Breeze Hill
- Adolf Hurwitz (1859-1919), German mathematician
- Hurwitz polynomial
..... Click the link for more information.
Remote procedure call (RPC) is a 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
..... Click the link for more information.
..... Click the link for more information.
Asynchrony, in the general meaning, is the state of not being synchronized.
..... Click the link for more information.
- Asynchronous learning
- Collaborative editing systems
..... Click the link for more information.
Synchronicity or synchronous can refer to the following meanings:
..... Click the link for more information.
- synchronization, the coordination of events to operate a system in unison.
- Synchronization (computer science)
- Synchronization (alternating current)
..... Click the link for more information.
Message-oriented middleware comprises a category of inter-application communication software that generally relies on asynchronous message-passing as opposed to a request/response metaphor.
..... Click the link for more information.
..... Click the link for more information.
In distributed computing, an object request broker (ORB) is a piece of middleware software that allows programmers to make program calls from one computer to another via a network.
..... Click the link for more information.
..... Click the link for more information.
This article is copied from an article on Wikipedia.org - the free encyclopedia created and edited by online user community. The text was not checked or edited by anyone on our staff. Although the vast majority of the wikipedia encyclopedia articles provide accurate and timely information please do not assume the accuracy of any particular article. This article is distributed under the terms of GNU Free Documentation License.
Herod_Archelaus