Wednesday 20 March 2013

SAP Architecture



The SAP system is based on the three-tier client-server architecture. SAP called it as SAP R/3 architecture (R refers to “real-time data processing” and 3 represents the 3-tiers or layers of it).


SAP R/3 Architecture


Client/Server Environment
- Server – In SAP terminology, a service means a set of task performed by a software component.  This component can consist of process or a group of processes and is thus called a Server for that service. Also, in other words a Server is nothing but a hardware/software combination that can provide services to a group of clients.
- Client – A software component that uses services is called client. or a hardware/software environment that can make a request for services is client.


Three-tier structure

The SAP three-tier structure consists of Presentation server, Application server and Database server.

The Presentation Server comprises mainly of the graphical user interface or web interface. SAPgui is the presentation server in SAP.  It accepts the input from user in the form of mouse clicks , keystrokes, function keys etc and send these requests to the Application server for processing. The Application Server sends back the result of processing to Presentation server which is showed to user as Output by presentation server itself.
The Application Server interprets and executes the ABAP programs and manages the I/p and O/p. All the ABAP programs runs on the Application server only. The communication with the database server and the presentation server is carried here only. There can be more than one Application server depending on the workload.
The Database Server accepts the requests for data from application server and passes it further to the RDBMS. The RDBMS in turn queries the database and send the result to Database server which then passes the result to Application Server. The DB server consist of One Single database repository for the whole organization.

Based on one’s business requirement, we can configure the servers in different ways. For smaller applications we can place all the servers in the single system itself. Such a configuration is mainly useful for Single user purpose. Also we can have configurations like the presentation and application servers are combined and the database server is separate or the application and database servers are combined on one computer and the presentation servers run separately or all the three Database, application and presentation servers running separately on different systems. The last configuration is most common among the all.




Data Processing @ Application Server
 As by now we know that all the data processing and execution of ABAP programs occurs at its App-server end. Now we will take a look into what exactly happens inside app-server.

SAP Application server architecture

User input is received by the SAP presentation program SAP GUI, converted into SAP standard format and is then sent to the Application server. At application server the input is received by the Dispatcher.
SAP Dispatcher is a Control Agent of the R/3 applications and it along-with the operating system manages the resources of R/3 system. Its main task is to manage the I/p tasks forwarded by presentation server by allocating them the work processes. It also manages the R/3 application resources like buffer areas, work processes etc.
The Dispatcher here adds all the incoming requests to the queue first. It then retrieves the requests from the Queue on FIFO (First In First Out) basis and allots them to the work process(WP). There could be ‘N’ number of work processes in a App-server. Each WP handles a single request at a time. After a WP finishes its task dispatcher allocates another task to the WP. All the communication with DB server and processing and execution of data is carried out by WP itself. Once the data is processed by WP it is sent back to the presentation server through dispatcher. The SAP GUI interprets the data and converts it into user form and displays it as output. 
For processing of tasks work processes requires memory called as Roll Area Memory. Roll area memory is the memory required by WP to execute a particular request. This memory is allocated by WP for that particular request. The contents stored in it includes the variable values, pointers to memory location etc.

The R/3 Database Interface

To handle large chunks of data, usually RDBMS are used which stores the logically related in tables and index them using some primary key. To access the data stored in RDBMS SAP ABAP provides OPEN SQL statements. The R/3 database interface coverts these Open SQL statements into native SQL statements of underlying DB to fetch the records. When interpreting Open Sql statements the R/3 DB system checks the syntax and also optimally utilize the local SAP buffers to store the frequently accessed records.

2 comments:

  1. don know any about SAP,,, but feels like its almost like IIS, Work process in IIS stuff... good post:-)

    ReplyDelete