This is a quick Overview of SAP Application Server, for those who want to understand how SAP Applications actually run in a ABAP system. And also for others who wants to understand SAP BASIS and get a head start.
The first layer in SAP Netweaver is called the 'Web Application server'.
Have you ever wondered what goes behind the SAP screen when you click a button to see a report?
- It is very interesting, let's start with what you see on the screen, the GUI , it is called SAP GUI.
- SAP GUI installed on your local PC, displays the screen according to the ABAP program that you are running.
How dose SAP GUI come to know what is to be displayed and what data it needs to fetch and where it is to be stored?
- All this is taken care by the ABAP program that is executed on the Application Server.
What comprises of this SAP application server?
- Well there are many components but lets discuss the bare minimum to keep it simple. SAP GUI communicates with Application server that has a DISPATCHER and 5 different processes to execute the ABAP program. These 5 different processes are called WORK PROCESS in SAP, as they do all the hard work.
Lets look at the different work process and the work they do.
- Any program that needs a screen to be displayed to the user (i.e. requires data inputs from the users) is executed by* DIALOAG work process*. It will fetch thehttps://weblogs.sdn.sap.com/weblogs/images/251896613/WEBappserver.png needed ABAP program and execute it for you. There may be two or more of this kind depending on the load on the server.
- Any kind of printing job is taken care by SPOOL work process. When you press the print button, this process will to the needful to get the printout.
- Any kind of job that just need data to be processed and can be done without user intervention is executed my BACKGROUND work process. All batch processing jobs are background jobs.
Now lets see the work processes that are required to keep the DATA consistent.
- The ENQUEUE process ensures that data that one user is editing cannot be changed by other user. It is a kind of Lock mechanism.
- The UPDATE work process writes the data that you have entered in your screen to that Database once you have completed your full transaction. There are two of them.
So this sums up 5 different work process and the work they do.
Now lets see process that handles the communication part.
We need a coordinator among different work processes, a kind of team Lead to say who will do which work and when.
- For this we have a DISPATCHER, it organizes the communication between the work processes and also between the SAPGUI.
We need a process that keeps info about all processes and help the dispatcher to balance the load among them.
- Message server dose exactly that. It also helps to established initial connection between SAP GUI and application server when the user logs in for first time and used for communication with other Systems in the landscape.
- User interacts with the Application server using SAP GUI .
- SAP message server establishes the initial connection between user and Dispatcher.
- Dispatcher will decide which work process is to be called according to user interaction.
- Different work process (Dialog , spool, background, enqueue , update) do their job as define above.
Now you know about SAP GUI, Message Server, Dispatcher and 5 different work process. Next time when any basis guy comes and throws all this terms at you, you know what they exactly mean.
Note: The Architecture described above is an ABAP system. SAP JAVA Application sever has the message server and the dispatcher but dose not have work process . It has servers threads that will do the job of java program executions and stuff. I will cover that in other blog.