What are the views of R/3 System?

The R/3 system is the platform for all other applications in the R/3 System. In R/3, R stands for Real-time and 3 stands for 3-tier architecture. The R/3 System can have different set of views in different prospects. The main views among them are -

  • Logical view
  • Software Oriented View

What is the logical view of R/3 System?

The below diagram represents the logical view of the R/3 system -

R/3 System Logical View

The difference between “logical view” and "hardware or software-based view” is, not all the above components assigned to a specific hardware or software unit. The above diagram explains how the R/3 basis system constructs a central platform within the R/3 System. The tasks of three logical components tasks of the R/3 Basis system are described below -

Kernel and Basis Services –

The kernel and basis services is a runtime environment for all R/3 applications (i.e. hardware, operating system, and database specific). The runtime environment is mainly written in C and C++. However, some parts are also written in ABAP.

The tasks of the kernel and basis services are - “running applications”, “user and process administration”, “database access”, “communication” and “system monitoring and administration”.

ABAP Workbench –

The ABAP Workbench is a complete development environment for applications in the ABAP language. We can create, edit, test, and manage application developments using workbench. Workbench is itself written in ABAP and is fully integrated in the R/3 system.

Presentation Components –

The presentation components are responsible for the interaction between the R/3 System and the user.

What is Software Oriented View of R/3 system?

The software-oriented view specifies the different software components (i.e. all the SAPgui components and application servers) that produce R/3 system. The below diagram represents a software-oriented view of the R/3 System.

R/3 System Software Oriented View

SAP R/3 system is a multi-tier client-server architecture. The SAP R/3 architecture is basically divided into three layers and those are -

  • Presentation layer
  • Application layer
  • Database layer

Presentation layer –

Presentation layer is an interface between the R/3 system and its end-users. Presentation layer is a distributed to the workstations of end users. The end users can be client or customer or individual users.

Presentation layer receives the data from the input devices and sends it to the application layer (server) to process the data. And, responsible to receive the processed data from the application layer and sends the same to the devices where the result requires to display.

The data or input can be entered by using the input devices. The input devices can be browsers, mobile devices, font-end GUI systems and so on.

The presentation layer is normally distributed across several presentation servers. The presentation layer analyzes user inputs and transfers these to the application layer.

Application layer –

The application layer is an intermediate layer. This layer process the inputs from the presentation layer and one messaging server. The application layer is implemented using application servers. Application server(s) can be one or multiple. Each Application server can contain either one or multiple services to run an R/3 system.

It communicates to the database layer with the input received from the presentation layer, processes input and sends the results back to the presentation layer. The application layer contains the ABAP runtime environment where the ABAP programs are executed.

All the services are distributed to the more than one application server. Messaging server contains the information about the application groups and load balancing information. Messaging server is responsible for the communication between the existing application servers.

Messaging server is responsible for -

  • Passes the requests from one application server to another.
  • Assigns appropriate application server when users logged in.

Database layer –

Database layer is layer contains the central database system of all the data in R/3 system. Normally, this database layer installs on the different server due to the security, performance and processing issues.

This layer is responsible for processing the requests from the application layer and sends back the required information. In general, either SQL or ORACLE servers can be used.

All R/3 data stores in the database. Database layer contains two components -

  • Database Management Systems
  • Database

The communication flow happens from the presentation layer to database layer and vice versa. Technical distribution of the system is independent of the layers. I.e., All the three layers can be installed on the same machine or can be installed on different individual machines.

What are the external communication components of R/3 system?

These three layers are coming up with the following communication components -

RFC Interface –

This is the traditional functional interface of ABAP. A remote function call is a call of a function in other system that is different from the calling program running system. Calls are possible between different ABAP systems or between an ABAP system and an external system. On ABAP, the functions are implemented in function modules.

Internet Communication Manager (ICM) –

ICM is a process of ABAP that allows ABAP to communicate directly with the Internet using HTTP/HTTPS/SMTP. ICM is used to connect Web-based components such as SAPUI5, Web Dynpro ABAP, and BSP. ICM allows an ABAP to be used both as a client and as a server for Web services. ICM is accessed within ABAP programs using the classes and interfaces of Internet Communication Framework (ICF).

ABAP Channels –

ABAP Channels are a framework for event-based communication between application servers and the Internet. ABAP Messaging Channels (AMC) are used to exchange messages between ABAP programs on different application servers. ABAP Push Channels (APC), allow two-way communication between ABAP and the Internet using the WebSocket or TCP socket protocol.