from Wikipedia, the free encyclopedia

Middleware (from the English , lehnübersetzt middleware or transferred services layer ) referred to in the computer science generic programs , so between applications across is that the complexity of these applications and their infrastructure are hidden. Middleware can also be used as a distribution platform, i.e. H. as a protocol (or protocol bundle) on a higher layeras that of ordinary computer communication. In contrast to lower level network services, which handle simple communication between computers, middleware supports communication between processes .

Middleware is an additional layer between the operating system and applications.

In the field of computer game development , on the other hand, subsystems (or so-called subsystems ) for subareas such as game physics are referred to as middleware . This middleware is often produced and offered by third-party developers.

Functionality and use

Structure: middleware

Middleware represents a platform in a complex software system which, as a "service provider", enables other otherwise decoupled software components to exchange data. This communication usually takes place with the help of a network that is made transparent by the middleware for the software components using it. Middleware works at a high level within the layer model : Your task is therefore not the low-level communication for individual bytes (as is already provided by an operating system , for example ). Middleware organizes the transport of complex data (so-called messaging ), mediates function calls between the components (so-called remote procedure calls ), provides transaction security via otherwise independent subsystems (function as a transaction monitor ), etc.

Middleware software is available as standard software from several manufacturers. Technically, it provides software interfaces or services . A software component A that would like to use the middleware layer in order to communicate with a software component B can use these interfaces. The corresponding calls are passed on by the middleware software component via a network. As a rule, common network standard protocols are used - almost always IP and TCP , usually HTTP based on them, and then based on them. a. SOAP or Web Services - used. On the receiving end, the middleware converts the request into a function call to software B. If necessary, it forwards the “response” from component B to component A via the same route.

The disadvantage of middleware is its size and clumsiness. The programmer can only rarely optimize the performance of these programs.

Middleware categories

A rough subdivision for a better understanding:

Application-oriented middleware
In addition to communication, the main focus is on supporting distributed applications . Examples are general architectures such as CORBA , Java EE or .NET , as well as complete operating systems such as B.
  • MHP (Multimedia Home Platform), Java-based system for interactive television.
  • MIDP (Mobile Information Device Profile), Java-based system for mobile phones
Communication-oriented middleware
The focus here is on abstraction from network programming. Examples are RPC , RMI , Web Service
Message-oriented middleware
Message-oriented middleware is not working with method or function calls , but on the exchange of messages ( messages ) . The message format specifies the middleware used. Message-oriented middleware can work both synchronously and asynchronously . In an asynchronous variant, a queue is used in which the message producer places his messages. A consumer can then consume the messages. Advantages include a. the complete decoupling of the message sender and receiver and that applications can continue to work even if subcomponents have failed. An architecture for message-oriented middleware is z. B. JMS before.

Typical middleware products

See also

Web links

Individual evidence

  1. after: W. Ruh u. a .: Enterprise Application Integration . Wiley, 2001.
  2. https://orchestra.soffico.de
  3. xmlBlaster (English) - official homepage; As of December 5, 2011
  4. https://www.opc-router.de