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.
don know any about SAP,,, but feels like its almost like IIS, Work process in IIS stuff... good post:-)
ReplyDeleteGreat job!
ReplyDelete