The SAP R/3 client/server architecture foundation is laid on a server which can be assessed by different clients. The clients use SAPGUI as a frontend to access the server.
In R/3:-
R is for realtime & 3 mean it is three-tier architecture.
(Realtime system is a system with some response time. Similarly a real time data processing means continues input, process & output of data. The process of data is time critical.)
(Three-tier architecture consists of three layers presentation, application and database. Client (presentation layer) requests the service from the database (database layer) through the application server.)
SAP R/3 Client Server architecture consists of three layers:-
1. Presentation: - Presentation layer is located on a user computer. A program named sapgui is installed on a user computer which accepts input from user and sends it to application server.
2. Application Layer: - Application Layer is a platform where all SAP programs run. It consists of group of components such as dispatcher, work processes, ABAP dialog processes, and screen interpreter e.t.c. With the start of application server all of these components start at the same time & shut down automatically when server is stopped. There can be more then one application server in application layer and they can be assigned to many computers. Every application server contain set of services require to run R/3 system. Message server work as a communicator between these application servers. Message server informs application servers about the existing of other servers and it contains the information about the load balancing.
3. Database Layer: - The database layer is mapped through RDBMS (Relational Database Management System). It handles request for changes & retrieval of R/3 data.
No doubt Application layer is the most important layer in SAP R/3 architecture as it works as a communicator between client & Database through message server. Now take a brief look at Application layer separately and try to understand it’s functioning in detail.
Every application server contains a dispatcher, work processes, context, shared memory and a gateway. Let start our discussion with Dispatcher. Dispatcher is a main link between the clients and different work processes. When user login to SAPGUI & start a transaction for creating order or retrieve any data, his request is received by dispatcher. Dispatcher than monitors all the work processes and send user request to free work process.
Remember that there is no predetermined assignment of users to work processes. One work process can be assigned to many users. Similarly if someone is working from long time, he can be assigned to different work processes. Before we go further take a look at different type of work processes.
1. Dialog work process/server: - Execute dialog step from client or user. Dialog work process handles one dialog step request from dispatcher, then becomes available to process another dialog step. A dialog work process is not assigned to a single user for longer time.
2. Background work process/server: - Execute ABAP programs and reports in background at predefine time. There should be two work processes in any application server.
3. Spool work process/server: - Passes data to output device. Each application server contains one spool work process.
4. Enque work process/server: - Responsible for administrating a lock table in a shared memory area. This prevents changing the same data by several employees at same time.
5. Update work process/server: - Execute database update request.
Now take a look at the interior functioning of work process after dispatcher assigns the user request to free work process.
When user starts the R/3 system each work process register itself with database and gets the dedicated connection from it. All the work such as tables & reports allotted by database to work process is saved in a main memory area called shared memory. With the help of memory management, work processes take the relevant data from the shared memory which is known as context. The context is rolled in as soon as your user request is processes and rolled out as soon as work process sends result back to dispatcher. This process reduces the database read needed.
Message Server:- Message server work as an communicator between the application servers. There can be only one message servers in the R/3 system
When an instance is started, dispatcher establishes a connection with message server. Message server informs application servers about the existing of other servers and it contains the information about the load balancing & application server groups. This information is used by message server to find the suitable application server at the time user login to system.
Gateway Server:- Gateway server support communication with other application servers, with outside R/3 systems, with R/2 systems and also with non-sap systems. For above communications Gateway server manage and uses RFC & CPI-C protocols.
No doubt Application layer is the most important layer in SAP R/3 architecture as it works as a communicator between client & Database through message server. Now take a brief look at Application layer separately and try to understand it’s functioning in detail.
Every application server contains a dispatcher, work processes, context, shared memory and a gateway. Let start our discussion with Dispatcher. Dispatcher is a main link between the clients and different work processes. When user login to SAPGUI & start a transaction for creating order or retrieve any data, his request is received by dispatcher. Dispatcher than monitors all the work processes and send user request to free work process.
Remember that there is no predetermined assignment of users to work processes. One work process can be assigned to many users. Similarly if someone is working from long time, he can be assigned to different work processes. Before we go further take a look at different type of work processes.
1. Dialog work process/server: - Execute dialog step from client or user. Dialog work process handles one dialog step request from dispatcher, then becomes available to process another dialog step. A dialog work process is not assigned to a single user for longer time.
2. Background work process/server: - Execute ABAP programs and reports in background at predefine time. There should be two work processes in any application server.
3. Spool work process/server: - Passes data to output device. Each application server contains one spool work process.
4. Enque work process/server: - Responsible for administrating a lock table in a shared memory area. This prevents changing the same data by several employees at same time.
5. Update work process/server: - Execute database update request.
Now take a look at the interior functioning of work process after dispatcher assigns the user request to free work process.
When user starts the R/3 system each work process register itself with database and gets the dedicated connection from it. All the work such as tables & reports allotted by database to work process is saved in a main memory area called shared memory. With the help of memory management, work processes take the relevant data from the shared memory which is known as context. The context is rolled in as soon as your user request is processes and rolled out as soon as work process sends result back to dispatcher. This process reduces the database read needed.
Message Server:- Message server work as an communicator between the application servers. There can be only one message servers in the R/3 system
When an instance is started, dispatcher establishes a connection with message server. Message server informs application servers about the existing of other servers and it contains the information about the load balancing & application server groups. This information is used by message server to find the suitable application server at the time user login to system.
Gateway Server:- Gateway server support communication with other application servers, with outside R/3 systems, with R/2 systems and also with non-sap systems. For above communications Gateway server manage and uses RFC & CPI-C protocols.