Application platform

The software components in the infrastructure that provide the services that applications need to run on the given hardware and network. Includes user interface components, operating systems, database management systems and middleware of various kinds.

According to Gartner the application infrastructure and middleware (AIM) market subdivides into many segments, including:

·         Application integration and platform middleware.

·         General-purpose portal products,

·         BPM-enabling technologies,

·         B2B/Multi-enterprise products.

·         Integration as a service (IaaS) and

·         Integration appliances.

Some kinds of application integration and platform middleware are mentioned under Software architecture.

Middleware

An application platform technology that helps components to communicate and interoperate across a network.

“A confusing mess of messaging, gateways, interfaces, request brokers, queue managers and transaction monitors - often embedded in each other and in other things. “ (Loosely and Douglas).

It is impossible to draw clean lines between component interoperation technologies. Most middleware technologies can be used to implement most component interoperation styles - to support distributed objects, SOA, EDA etc..

Some kinds of middleware are mentioned under the heading of Software architecture.

Component distribution middleware

Technologies such a those described under the heading of Component Communication Styles.

Database and transaction middleware

Technologies that assist in the access to and integrity of persistent data.

Remote Database Access (RDA)

A standard API used by applications to access a remote DBMS. Defines e.g. how a program should send SQL queries to a DBMS and how recordsets will be returned.

E.g. ODBC: Open Database Connectivity, hundreds of drivers for many platforms. JDBC: Java Database Connectivity, for Java clients. ADO.NET: Part of the base class library in the Microsoft .NET Framework.

Transaction Processing (TP)

Processing that uses a transaction manager to commit or rollback each transaction. Often a service provided by a DBMS.

Distributed Transaction manager

A transaction manager that can commit or rollback a transaction that places data in several data resources, including databases and message queues.