The SAP Basis 3-tier architecture consists of presentation front ends, application servers, and a database server, as shown in Figure B.1.
Figure B.1. SAP BASIS 3-TIER ARCHITECTURE
B.1.1 Presentation Interface
The SAPGUI interacts with an application server using an SAP presentation protocol, where generic GUI descriptions, instead of prepared screen images, are exchanged. This interaction results in a compact data stream, consisting of 1 to 2 kilobytes of data. Thus, the interface through WAN can be easily achieved without performance problems.
BEx communicates with an application server through the SAPGUI.
B.1.2 Application Server
SAP applications are written in ABAP or ABAP/4 (Advanced Business Application Programming, a fourth-generation language). ABAP runs on application servers. ABAP programs and flow logic for each screen are processed interpretatively by the R/3 run-time environment. The ABAP run-time environment is written in C and C++.
We used ABAP when writing transfer rules and update rules earlier in this book.
B.1.3 Database Interface
A remote SQL protocol is used for data transfer. The buffer, as shown in Figure B.2, stores often-used data. Changes to buffer contents are transmitted immediately to the database and broadcast at short time intervals by a message service to all other application servers.
Figure B.2. DATABASE INTERFACE
We will discuss the message service later in this section.
B.1.4 Open SQL
ABAP programs written in Open SQL are portable across different database systems. Along the way, the buffer mechanism enhances performance. Open SQL doesn't support the relational join operation. Instead, you can use views in ABAP. The database interface checks and converts Open SQL statements into Native SQL statements; it also detects syntax errors before run time.
B.1.5 Native SQL
Although programs written in Native SQL are not portable, all features of the database, including proprietary expansions of the standard SQL, are available for use. Obviously, Native SQL supports the relational join operation, but the DBMS cannot recognize an error in Native SQL until run time.
BW uses more Native SQL than R/3 does. For example, when the database is Oracle, BW uses many Oracle proprietary features designed for data warehousing. These features may not be available in other DBMSs.
Part I. Guided Tours
Business Scenario and SAP BW
Creating an InfoCube
Loading Data into the InfoCube
Checking Data Quality
Creating Queries and Workbooks
Managing User Authorization
Part II. Advanced Topics
Aggregates and Multi-Cubes
Operational Data Store (ODS)
Generic R/3 Data Extraction
Appendix A. BW Implementation Methodology
Appendix B. SAP Basis Overview
Appendix C. Glossary
Appendix D. Bibliography