z/OS concepts
Previous topic | Next topic | Contents | Glossary | Contact z/OS | PDF


Middleware for z/OS

z/OS concepts

Middleware is typically something between the operating system and an end user or end-user applications. It supplies major functions not provided by the operating system.

As commonly used, the term usually applies to major software products such as database managers, transaction monitors, Web servers, and so forth. Subsystem is another term often used for this type of software. These software products are usually licensed programs, although there are notable exceptions, such as the HTTP Server.

z/OS® is a base for using many middleware products and functions. It is commonplace to run a variety of diverse middleware functions, with multiple instances of some. The routine use of wide-ranging workloads (mixtures of batch, transactions, Web serving, database queries and updates, and so on) is characteristic of z/OS.

Typical z/OS middleware includes:

  • Database systems
  • Web servers
  • Message queueing and routing functions
  • Transaction managers
  • Java™ virtual machines
  • Extensible Markup Language (XML) processing functions

A middleware product often includes an application programming interface (API). In some cases, applications are written to run completely under the control of this middleware API, while in other cases it is used only for unique purposes. Some examples of mainframe middleware APIs include:

  • The WebSphere® suite of products, which provides a complete API that is portable across multiple operating systems. Among these products, WebSphere MQ provides cross-platform APIs and inter-platform messaging.
  • The DB2® database management product, which provides an API (expressed in the SQL language) that is used with many different languages and applications.

A Web server is considered to be middleware and Web programming (Web pages, CGIs, and so forth) is largely coded to the interfaces and standards presented by the Web server instead of the interfaces presented by the operating system. Java is another example in which applications are written to run under a Java Virtual Machine (JVM) and are largely independent of the operating system being used.





Copyright IBM Corporation 1990, 2010