Presentation layer/tier/server:
It is the interface to a user. This is the only layer from where users connect to the SAP system. DIAG (Dynamic Information Action Gateway) is the protocol which is used to communicate b/w user and SAP system. Using this we can have, Our own font settings, Our own languages settings. It is user friendly. With the help of message server which identifies favorite server and logs onto it. It is intelligent server. It is operating system & db independent.
Presentation layer is nothing but SAP GUI: SAP GUI is to facilitate users to log into R/3 system. This logon can be used to all the components of SAP (CRM, APO, BW, XI etc.)
Types of SAP GUI:
1. SAP GUI for Windows.
2. SAP GUI for HTML.
3. SAP GUI for JAVA.
SAP GUI for Windows: It is for the windows environment. Support platforms
Includes windows 98, windws NT4, Windows 2000 and Windows XP.
SAP GUI for HTML: Front end requires only a web browser, an ITS is necessary
to convert the presentation into HTML.
SAP GUI for JAVA: It is used only where java is supporting. It supports Windows 98, windws NT4, Windows 2000 and Windows XP,MacOS 9,MacOS x Linux, HP UX, Solaris, AIXOS/2.
Application layer/tier/server:
It is used to Provides business areas and Configure work process and Reduce traffic on DB.It is used Configure memory areas. and Business logic & presentation logic handled.
It consists of dispatcher, work processes, memory areas, buffer areas and interpreters,
Dispatcher: There will be only one dispatcher per instance. This is used to handle the user requests. Dispatcher receives the users request and keeps them in the queue (dispatcher queue) based on the available free resources, user request will be assigned with work process on FIFO basis. Dispatcher runs by an executable disp+work.exe. This can be monitor by using a command line tool DPMON(It listens on the port 32<sysnr>).
Dispatcher assigns the user request to a dialog work process, so it will distribute request to respected work process.
Dialog process: It is used for handling generation of reports, updating the temporary tables, updating the spool tables, updating the background tables so that update, spool background processes reads those tables for execution. If the request is long running job then it will assigns to its relevant work process.
Dialog work process run time is restricted to 600 sec to 1800 sec based on the
parameter( rdisp/max_wprun_time).
Update work process: This process is used to update the database initially update requests are handled by dialog work process as they couldn't execute within the specified time, it is called asynchronous update process. If the task has been moved to update work process then first dialog process updates the temporary tables (VBHDR, VBDATA, VBERR, VBMOD) update process reads the temporary tables and update the database.
Enque process: Enqueue process is used to lock and unlock SAP objects. It will update the database and takes the users request. In order to handle this mechanism SAP has defined enqueue and dequeue (unlock) modules. Enqueue process will issue locks tomessage server to all the dialog instances. That is dialog communicates with message server & message server in term talks to enqueue to get the lock. Dialog process communicates with the message server and message server communicates to enqueue. Dialog processes on central instance can communicate with enqueue directly to obtain locks.
Background Process: The long running, time consuming and expensive reports or updates will be used to schedule in the non-dialog mode using the background process. Dialog work process receives the background request & updates background request & updates background job tables. Background work process reads the job tables for every 60 sec & executes them
Message Server: Message server is used to communicate with all the available dispatchers under the port number 3600+sys no. If logon load balance is configured, message server identifies the least loaded server in the logon group. It is run by an executable msg_server.exe. This is also used to communicate with enqueue to issue locks to the work process coming from dialog instance.
Gateway: There will be one gateway work process for each instance. Gateway is used to communicate with external system. It listens on the port 3300+sys no
Spool Process: Spool process is used to output the documents to the printer, fax, email, pager and sms. Dialog process receives the spool request and updates spool tables or stores spool data at OS level. Spool process reads the spool tables or spool data and output to specific device.
Note: All the work process runs with executable disp+work.exe
Memory Areas: In order to define a work process we should have enough resources at the rate of 75mb to 150mb for each work process. When the user request is assigned to a work process, work process requires certain amount of memory to execute the user request.
Eg: Roll memory, extended memory and heap memory
Buffer Areas:
There are two types of buffer areas
1. User related buffer (user specific)
2. R/3 buffer (non-user specific)
User buffers are nothing but user context.
User Context: User context is the area where user logon attributes, parameters, authorizations and earlier accessed content are stored. These are valid until the user session. User logout, buffers are lost.
R/3 buffers: Frequently accessed contexts like programs, tables, fields, currencies, calendar, and measurements are stored in R/3 buffers.
The data which is frequently accessed and rarely changed is eligible for buffering. These buffers are accessed by all the users. These will remain until the restart of the instance. If the instance is restarted, buffers are lost.
Interpreters:
1. ABAP Interpreter: This is used to interpret the ABAP code embedded in the user request
2. Screen Interpreter: This is used to interpret the screens.
3. SQL Interpreter: This is used to interpret SQL Statements in the ABAP program.
Note: Task handler which is a part of work process handles the interpreters.
Dispatcher: It receives user request and assigns work process or keep user request in dispatcher queue.
Task Handler: It is the agent which processes the user request by segregating into screen, ABAP, SQL interpreters.
User Context: The user context is the buffer area where it stores user logon attributes, authorization parameters.
Dispatcher Queue: It is the queue where user exists when work processor is busy. It follows FIFO.
Database Layer/tier:
It is the layer where database is hosted. It has its own memory areas, buffer areas, work processes etc. A central RDBMS realizes the database layer of SAP R/3 systems. Initially SAP database will use open SQL but database client will convert open SQL into native SQL. That is the reason SAP supports different databases.
very useful
ReplyDelete