SAP - Architecture

SAP : Three-Tier Architecture

With SAP R/3, SAP ushers in a new generation of enterprise software — from mainframe computing (client-server architecture) to the three-tier architecture of database, application, and user interface.
Three Tier Architecture
Three-Tier Architecture of SAP R/3

Presentation Servers

Presentation servers contain systems capable of providing a graphical interface.
  • Presentation Server
  • Presentation Layer is also known as client Layer
  • Presentation Layer is a user interaction
  • In SAP-User interaction purpose we use GUI
  • GUI stands for Graphical user interface
  • Example − Desktop, Mobile Devices, laptops

Application Servers

Application servers include specialized systems with multiple CPUs and a vast amount of RAM.
  • Application servers
    Application Layer is also known as Kernel Layer and Basic Layer.
  • SAP application programs are executed in Application Layer.
  • Application Layer serves as a purpose of a communicator between Presentation and Database Layer.
  • Application server is where the dispatcher distributes the work load to the different work processes makes the job done.


Database Servers

Database servers contain specialized systems with fast and large hard-drives.
  • Database Servers
  • Database layer stores the data
  • Data store can be Business data, SAP system data, SAP tables, Programs.
  • Examples − Oracle, Microsoft SQL Server, IBM DB/2, Siebel, Sybase, etc.
Three Tier
Three-Tier Architecture

What is a Client?

A client is a logical portion of an SAP R/3 physical database. From a business standpoint, a client can be interpreted as a logical group of companies.
Client

Points to Remember −

  • All customizing (configuration) and development (ABAP) work in SAP R/3 is performed in a client.
  • However, the data from both customizing and development work may be stored within an individual client (client dependent data) or among all clients (client independent data) in the system.

Client-Dependent vs. Client-Independent

The data in each client may be separate from that of the other clients. There are basically two types of data in an SAP R/3 system − Client-dependent and Client-independent data.
  • Client-dependent data is defined as data specific to an individual client. Examples of client-dependent data include number ranges, ABAP variants, and user masters as well as the data that is created or updated through SAP R/3 transactions.
  • Client-independent data can be defined as data contained across all clients in the system. Examples of client-independent data include data dictionary objects (tables, views), ABAP source code, screens, and menus.
Clients
  • Data resides in tables. To determine if a particular table is client-dependent or client-independent, the table structure needs to be reviewed. The table structure can be viewed by the data dictionary (SE11). If MANDT (client in German) is the first key field of the table, then the table is client-dependent; otherwise, the table is client-independent.
  • For example, the TSTC table is client-independent; however, the USR01 table is client-dependent.

SAP R/3 Delivered Clients

Every SAP R/3 system contains the three clients 000, 001, and 066. Let’s review these clients and examine what they contain.
These clients provide different features and must not be deleted.
  • Client 000 performs special functions. In particular, it is given extended functionality during upgrades.
  • Client 001 is basically a copy of 000 and can be used as a basis for a new customizing client.
  • Client 066 is a special client which is provided for operational system monitoring. It is used by SAP R/3’s Early Watch Service to provide performance recommendations.
Delivered Clients
In releases prior to 3.0, client 000 contained a model company. As of Release 4.0 clients, 000 and 001 are identical. Client 000 no longer contains a model company. Either client can be used as the basis for configuration through a client copy. Typically, most projects start with a copy of client 000 to begin building configuration. Customer work should never take place in the three delivered clients.