SAP R/3 System Architecture Published:
27 Feb 2007 http://aspalliance.com/1128_SAP_R3_System_Architecture
Abstract
This article examines the architecture behind the working of SAP R/3 System. by Arindam Ghosh Article Contents:
Introduction Component Service – Kernel and Basis Component Service – ABAP Workbench Component Service – Presentation Application Server Architecture
Summary
Introduction
The SAP system is software which is composed of different software and a server as a whole and has the ability to perform standard business functions for corporations. The system has become so popular because it can serve a wide range of functionality from manufacturing to finishing products. There is one simple reason behind the popularity of this system; it can be tuned to any level for any industry. It has the concepts of enterprise resource planning (ERP) and business process reengineering (BPR) which is integrated in the system. “Sap stands for System, Andwendungen, and Produkte in Der Datanverarbeitung, which when translated to English means System, Application, Products in Data Processing.” The name of the parent Company is SAP AG. The company SAP is based on Walldorf in Germany and is the world’s largest enterprise software company. Its foundation is built upon the concept of integration. Originally, dating back to the 1970s, it took the then controversial approach of combining various business functions into one application and database. Dietmar Hopp, Hans-Werner Hector, Hasso Planttner, Klaus Tschira, and Claus Wellenreuther, former IBM employees, launched SAP in order to turn the real business processing vision into reality. After a year, the first financial accounting software formed the basis for the continuous development of other software components which later came to be known as the "R/1 system;" "R" stands for real time data processing. By the end of the decade, intensive examination of SAP’s IBM database and dialog control system led to the birth of SAP R/2, designed to handle different languages and currencies. The SAP R/2 system attained high level of stability of the previous generation of programs. With this and other innovations in SAP R/2, SAP saw a very rapid growth. By the 1990's, when SAP R/3 was unleashed into the market, the client-server concept, uniform appearance of graphical interfaces, consistent use of relational databases and the ability to run on computers from different vendors met with an overwhelming approval.
The client-server architecture moved to a more flexible and scalable architecture. Going by this technology, the processing of an application could be split between the server and workstations – the server handling the centralized functionality, while the client workstation maximized for users. The data management was separate from the server. SAP ushered in a new generation of enterprise software – from mainframe computing to the three-tier architecture consisting of the Database layer, Application (business logic) layer, and user interface layer. Today is the day for client-server architecture, where one can make changes or scale on layer without having to retool the whole system. The term SAP R/3 stands for runtime system three and the client-server environment provides a set of business application for the system. The R/3 architecture allows distribution of the workload to multiple PC's connecting in a network. The SAP runtime system is designed in such a way that it distributes the presentation, application logic and the data management to different computers. Component Service – Kernel and Basis
For all R/3 applications, kernel and basis are there to provide the runtime environment, such as hardware, operating system and database-specific. The run time environment is written principally in C and C++. However, some portions are also written in ABAP. The tasks of the kernel and basis services component are as follows. Running Application: All R/3 application run on software processors (virtual machine) within this component. User and Process Administrator: An R/3 system is a multi-user environment and each user can run several independent applications. This component is responsible for the tasks that usually belong to an operating system. Users simply log onto the R/3 System and run the application within the system that is the only user of the host operating system. Database Access: Each R/3 system is linked to a database system, consisting of a database management system (DBMS) and the database itself. The application use basis services to communicate with the database. They do not communicate directly. Communication: R/3 system can communicate with other R/3 systems and with nonSAP Systems. It is also possible to access R/3 applications from external system using a BAPI interface. The service required for communication are all part of the kernel and basis services component. System Monitoring and Administration: The component contains programs that allow you to monitor and control the R/3 system while it is running and change its runtime parameters. Component Service – ABAP Workbench
The Advance Business Application Programming (ABAP) Workbench component, a fullfledged development environment for applications in the ABAP language, helps you to create, edit, test, and organize application developments. It is fully integrated in the R/3 Basis system and, like other R/3 applications, is itself written in ABAP.
Component Service – Presentation
The presentation components are responsible for the interaction between the R/3 system and the user as well as for desktop component integration (such as word processing and spreadsheets). SAP R/3 architecture is based on a three-tier client/server model: •
Presentation Server
•
Application Server
•
Database Server
Though it is a three-tier architecture model, it is not restricted only in three-tier; it can go up to multi-tier client-server system. In SAP the software components are arranged in tiers and function depending on their position. SAP R/3 must have at least one presentation server, one application server and exactly one database server. Presentation Server
Out of the three-tie, presentation server is the one which runs on user workstation. The SAP graphical user interface (SAP GUI) is run on this layer. No application logic is processed in this layer. SAP GUI does not adhere to the style guidelines of its host system. The layer contains the software component that makes up the SAP GUI (graphical user interface). This layer is the interface between the R/3 system and its users. The SAP R/3 uses the SAP GUI to provide intuitive graphical user interface for entering and displaying data. The Presentation layer sends the user’s input to the application server and receives data for display from it. While a SAP GUI component is running, it remains linked to user’s terminal session in the R/3 system. Application Server
Another tier in the SAP R/3 system is the application server where the actual business logic is being executed. It sends the data to be presented to the user, to the Presentation layer. It comprises the business administration "know-how" of the system and processes pre–defined and user–defined application programs, such as OLTP and the implementation of decision support queries. Application servers are usually connected via a local area network with the database server. The Application layer consists of one or more application servers and a message server. Each application server contains a set of services used to run the R/3 system. Not practical, you only need one application server to run an R/3 system. But in practice, the services are distributed across more than one application server. This means that not all application servers will provide the full range of services. The message server is responsible for communication between the application servers. It passes requests from one application server to another within the system. It also contains information about application server groups and the current load balancing within them. It uses this information to choose an appropriate server when a user logs onto the system. Application Server Architecture
When a request from Presentation Server first comes to the Application Server, it directs the request to the dispatcher. The dispatcher, which is the Central process of the SAP Web Application Server, manages the resources for the applications written in ABAP in coordination with the respective operating system. The main tasks of the ABAP dispatcher include the distribution of the transaction load to work processes, the integration of the presentation layer and the organization of communication transaction. The requests are first saved in the queue by the dispatcher and then processed according to the principle of “first-in, first-out.” The dispatcher distributed the request one after another to the available work processes. A work process handles one request at a time. Data is actually processed in the work process, although the user who created the request using the SAP GUI is not always assigned the same work process. There is no fixed assignment of work process to users. To process user request it might be necessary to read data from the ABAP schema of the database or to write to it. For this, every work process is connected directly to the ABAP schema of the database. Once the process is complete, the processing result from the work process is sent via the dispatcher back to SAP GUI. The SAP GUI interprets the received data and generates the output screen for the user with the help of the operating system on the front end computer. The buffer helps to speed up processing of user requests. Data that is often read but seldom changed (for example, program or Customized data such as clients, currencies or company codes) can be kept as a copy of the database content in the shared memory of the application server. This means that data does not have to read from the database every time it is needed, but can be called very quickly from the buffer. Processing Web Requests
Web requests are accepted by an Internet Communication Manager (ICM). These HTTP(S) request can either be processed in the ABAP work process (such as BSP applications) or they can be requests for SAP Web Application Server Java. The ICM can use the URL to decide to where it forwards the request. Database Server
The next tier is the database server where the actual RDBMS lies. This layer holds the system – wide database and the central booking process of the SAP R/3 architecture. The Database layer is comprised of a central database system, which contains all the data in the R/3 system. The database system has two components – the database management system (DBMS) and the database itself. The R/3 support the database system from the suppliers, such as ADABAS D, DB2/400 (on AS/400), DB2 Common Server, DB2/MVS, INFORMIX, Microsoft SQL Server, ORACLE, and ORACLE Parallel Server; SAP does not manufacture its own database. The database not only contains the master data and transaction data from your business applications, but also the data for the entire R/3 system is stored here. Multi-tier Architecture
The distribution of the R/3 software over the three layers means that the system load is also distributed. This leads to better system performance. Since the database system contains all of the data for the entire R/3 system, it is subject to a very heavy load when the system is running. It is a good idea not to run the application programs on the same host. The architecture of the R/3 system (with Application layer and Database layer separate) allows you to install them on separate hosts and let them communicate using the
network. It also makes sense to separate program execution from the tasks of processing user input and formatting data output. This is made possible by separating the presentation layer and the Application layer. SAP GUI and the application servers are designed so that a minimum amount of data is transported between the two layers. This means the Presentation Layer components can even be used on hosts that have slow connections to application servers. The system is highly scalable – the software component of an R/3 system can be distributed in almost any configuration across various hosts. This is particularly valuable in the Application layer where you can easily adopt your R/3 system to meet the increasing demand by installing further application servers. Integrating Environments
Integration is the key element that separates SAP from other enterprise applications. Integration helps in connecting a business environment from Financial and Human Resources to Manufacturing and Sales and Distribution. Integration in SAP means that all the business processes of any organization are related and interspersed with each other so that a change in one field of the business will reflect on another field of the business. Summary
In this article we have examined the architecture of SAP R/3 system in detail.