Application Server

Overview

The purpose of an SAP NetWeaver Application Server is to provide programmers with an efficient means of expressing business logic and relieve them from the necessity of platform-related and purely technical coding.

An application server achieves this goal by defining a programming model based on a set of abstractions that represent the underlying platform and technical resources that a programmer has to manipulate.

Different application servers usually differ with respect to the set of abstractions which they expose as well as with respect to the programming language which they support.

Systems and Instances

An SAP NetWeaver Application Server comprises specific entities called
"system" and
"instance" . The two terms are often used incorrectly and this can cause confusion. Below is a definition of the most important entities contained in ABAP, Java, and dual stack systems. Their relationship to each other is also described.

SAP system installed software system that provides a defined set of functionalities that are part of an SAP solution. These functionalities are implemented in a set of software components. An SAP system is installed and configured as a unit. It consists of a logical database, one or more application server instances (ABAP and/or Java), central services (such as a message server and enqueue server), and optional components (such as TREX and liveCache). The system is identified by its SAP system ID, which consists of 3 letters or digits (e.g. PRD).

Application server instance administrative unit that puts together components of an SAP system running on one physical host. Application server instances provide the actual data processing functions of a system and offer the corresponding services. Instances are started, stopped, and monitored as one unit. There can be multiple instances (belonging to the same system or to different systems) on one host. An instance can be uniquely identified by the host name and a two-digit instance number.

There are three different types of systems: The ABAP system, the Java system, and the dual-stack system, which offers both technologies in one system. These system types consist of the corresponding instance types in a homogeneous way, meaning only one type is permitted in the system: ABAP instance, Java instance, or dual-stack instance.

The instance types in turn consist of different processes.

The main instance types are the following:

ABAP server instances are often called
"dialog instances" . This term is however incorrect because ABAP server instances and client requests also work as background jobs. They consist of common components such as ICM (Internet Communication Manager), IGS (Internet Graphics Server), and ABAP work processes of different types: dialog (for mostly interactive use), batch (for background processing), update (for update processing, which plays an important role in the ABAP transaction model), and spool (for printing) depending on the purpose of the instance and the work load characteristics.

Java server instances consist of common components such as ICM, IGS, and Java server processes, each running on one Java Virtual Machine (JVM).

Dual-stack instances are a combination of ABAP and Java parts in one instance.

Central services instance (SCS) each ABAP or Java system has one SCS consisting of a message server for communication between instances and an enqueue server for lock management. Dual-stack systems can have either one shared or two separate SCS instances.

In addition to the instance types described here there are others, such as TREX, Web Dispatcher, and enqueue replication server.

Documentation Structure

The documentation structure reflects the different types of application servers and the infrastructure componets used by both stacks.