Tuesday, February 17, 2009

R/3 System Architecture

R/3 System Architecture


R/3 is an integrated group of applications designed to handle the data processing for large corporations. The purpose of an R/3 system is to provide tightly integrated large scale business applications.
The below figure shows the structure of R/3 Architecture. The architecture contains four layers as Presentation Servers, Application Servers, Database Servers and Database.

PS: - Presentation Servers
AS: - Application Servers

DBS: - Database Server
DB: - Database


Presentation Servers - The Presentation server is actually a SAPGUI or the user interface. The interface accepts input from the user in the form of keystrokes, mouse clicks and function keys, sends these requests to the application server to be processed. The application server sends the results back to the SAPGUI which then formats the output display to the user.


Application ServerThe application server is a set of executables that collectively interpret the ABAP/4 programs and manage the input and output for them. When an application server is started, these executables all start at the same time. When an application server is stopped, they all shut down together. Each application server has a profile that specifies its characteristics when it starts up and while it is running. For example, an application severs profile specifies:


1. Number of processes and their types

2. Amount of memory each process may use
3. Length of time a user is inactive before being automatically logged off

The application server exists to interpret ABAP/4 programs, and they only run there-the programs do not run on the presentation server. If your ABAP/4 program requests information from the database, the application server will format the request and send it to the database server.
Database Server - The database server is a set of executables that accept database requests from the application server. These requests are passed on to the RDBMS (Relation Database Management System). The RDBMS sends the data back to the database server, which then passes the information back to the application server. The application server in turn passes that information to your ABAP/4 program and then you will get the required output on your presentation server.
DatabaseDatabase is nothing but a collection of data arranged for ease and speed of search and retrieval OR A database is a structured collection of records or data that is stored in a computer system.





All requests that come in from presentation servers are directed first to the dispatcher. The dispatcher writes them first to the dispatcher queue. The dispatcher pulls the requests from the queue on a first-in, first-out basis. Each request is then allocated to the first available work process. A work process handles one request at a time.

To perform any processing for a user's request, a work process needs to address two special memory areas: the user context and the program roll area. The user context is a memory area that contains information about the user, and the roll area is a memory area that contains information about the programs execution.


USER Context
A user context is contains information about the user like user name, login id and which program is running currently.

Programma Roll Area.
It’s a memory allocated by the work process for an instance of a program It contains information about the recent program which is executing currently
1. Value of variables
2. Dynamic Memory Allocation
3. Pointers to work Process.


Instance:- The term instance means application server
The term central instance means database server
In general the term instance means server.


Roll In: - When a job is assigned to a work process it creates pointers to the user context and roll area this process is called Roll In.


Roll Out: - After the execution of the job the pointers assigned to both user context and roll area are deleted this process is called Roll Out.
Dialog Steps: - This is the time taken by the systems to show the next screen from existing screen is called as dialog step.

Work process
This is the area in which actual work is done. There are seven types of work process each handles a specific type request.
1. Dialog or Online Process- for Dialog request.
2. Update Process- Request to update data in database.
3. Background Process- Background jobs.
4. Spool Process- print spool request.
5. Enque Process – Logical lock requests
6. Message Process- Routes messages between application server with in an R/3 system
7. Gateway Process- Funnels Messages into and out of the R/3 system.

Components of Work Process
Each Work Process is composed of the following
1. A task handler
2. An ABAP/4 Interpreter
3. A screen Interpreter.
4. A Database Interface
All requests pass through the task handler, which then funnels the request to the appropriate part of the work process and the Interpreters Interpret the ABAP/4 code.


Messages (6 types)
1. S (Success): Green color status bar.
2. E (Error): Red color status bar.
3. W (Warning): Yellow color status bar.
4. I (Information): In a pop-up box.
5. A (Abort): In a pop-up box.
6. X (Exit): Comes out of the program


Using SAP’s Open SQL

ABAP/4 code is portable between databases. To access the database in an ABAP/4 program you will code SAP’s open SQL. Open SQL is a subset and variation of ANSI SQL. The ABAP/4 Interpreter passes all open SQL statements to the database interface part of the work process. There they are converted to SQL i.e. native to the installed RDBMS. For example if you were running an Oracle database your ABAP/4 Open SQL would be converted by the database interface to Oracle SQL statements.


If you use Open SQL, your SQL statements will be passed to the database interface. Using Open SQL has three advantages. All of these advantages are implemented via database interface.

Advantages using Open SQL


1.Buffering Data on the Application Server.
The database interface buffers information from the database on the application server, when data is read from the database, it can be stored in buffers on the application server. If a request is then made to access the same records, they would already be on the application server and the request is satisfied from the buffer without having to go the database. This buffering technique reduces the load on the database server and on the network link between the database and application servers and can speed up database access time by a factor of 10 to 100 times.

2.Portability: - The SQL statements will be portable between databases. For example, if for some reason your company wanted to switch from an Oracle to an Informix database, it could change the database and your ABAP/4 code would continue to run without modification.

3.Automatic client handling:- With Open SQL the client field is automatically populated by the database interface. This gives your development and testing teams may advantages. Such as the ability to perform multiple simultaneous testing and training on a single database without interface from each other

6 comments:

  1. Nice... we can easy to understand

    ReplyDelete
  2. very good.
    krishna kishore pujari

    ReplyDelete
  3. really gud1...many of my doubts are cleared, and many arised... thanks a lot

    ReplyDelete
  4. Excellent and concise explanation. Great overview for beginners

    ReplyDelete
  5. thanks...it was helpfull...some lines were too technical sound so little difficult to understand...but yet good and helpfull.

    ReplyDelete
  6. Great effort .... appreciate the work done

    ReplyDelete