Application layer
The application layer is the heart of an SAP system, the tier where business logic actually executes. It sits between the presentation layer (what users see) and the database, running the ABAP programs that make SAP do what it does.
You scale by adding application-server instances, all connecting to the one database, with the message server balancing load across them.
- The application layer consists of one or more application-server instances.
- The dispatcher distributes incoming requests to available dialog work processes and manages queues.
- Dialog: handle interactive user steps.
- Watch out: Misconfiguring work-process ratios, e.g. too few background processes.
What runs here
The application layer consists of one or more application-server instances. Each runs a set of work processes, controlled by a dispatcher, that execute the ABAP (and, where relevant, Java) code implementing SAP’s business logic. When a user acts, their request is handled here, and any data needed is fetched from the database layer.
Work-process types
- Dialog: handle interactive user steps.
- Background: run scheduled/batch jobs.
- Update: perform asynchronous database updates.
- Enqueue: manage locks to protect data consistency.
- Spool: handle printing and output.
Scaling the application layer
You scale by adding application-server instances, all connecting to the one database, with the message server balancing load across them. This horizontal scaling is how SAP handles thousands of concurrent users.
Common pitfalls
- Misconfiguring work-process ratios, e.g. too few background processes.
- Ignoring buffering, poor buffering hammers the database.
- Assuming one instance in production sizing.