2. Learning Objectives
• What the Basis system is
• How does SAP handle a transaction
request
• Differentiating between the various work
processes
• Understanding the basic functions of the
Basis Module
SAP Technical Overview
4. The SAP R/3 System Architecture
• Implications for Application Programming
– Separate presentation and application layers implies
that when you run an application program that
requires user interaction, control of the program is
continually passed backwards and forwards between
layers.
– When a screen is ready for user input, the
presentation layer is active, and the application server
is inactive with regard to that particular program.
– As a consequence, the program logic in an
application program that occurs between two screens
is known as a DIALOG STEP.
SAP Technical Overview
6. The SAP R/3 System Architecture
• Application Layer (cont.)
– Application Server
• R/3 programs run on application servers
• The APPLICATION SERVER communicate
with the presentation components, the
database, and also with each other, using a
MESSAGE SERVER.
• Main components:
– Work Processes (Dialog, Update, Enqueue,
Batch, Spool)
– Dispatcher
– Gateway
– Message Server Overview
SAP Technical
8. Application Server
Presentation . . . Internet
SAPGUI SAPGUI Office Internet
TCP/IP
Communication
Application
Dispatcher
IPC
Local Buffer Work- Work- Work-
DW-Objects,
for R/3 Data, process process process ABAP-Objects
Remote SQL
Database
SAP Technical Overview
9. Dispatcher
• Program which manages resources of the
R/3 applications
• Receives requests from user and passes
them to the corresponding work
processes
• Only one dispatcher per application
server
SAP Technical Overview
10. Dispatcher Tasks
• Balances the workload between the
processes
• Buffer management in main memory
• Connection with the presentation level
• Organization of the communication
processes
SAP Technical Overview
11. Work Process
• Responsible for executing R/3 application
tasks
Task Handler
ABAP/4 Dialog Database
Processor Interpreter Interface
Work Process
SAP Technical Overview
12. Different Kind of Work Processes for different
Tasks
Dialog Update Message
V
D
M
Batch
12
SAP Dispatcher Enqueue
11 1
10 2
9 3
8
7 6 5
4
Spool E
B S
Gateway
R/2 G R/3
SAP Technical Overview
13. Dialog Work Processes
• Responsible for the interactive
tasks of the R/3 system
Dialog
• Dialog work processes execute
D
only one dialog step at a time
and are immediately freed for
the next user request
• Constantly switching between
users
SAP Technical Overview
14. Background Work Processes
• Responsible for executing
ABAP programs submitted
Batch
10
11
12
1
2
for background execution
9 3
• Batch jobs schedule the
8 4
7 6 5
B
sequence of program
execution
• Used for running long and
time consuming programs
SAP Technical Overview
15. Spool Work Processes
• Responsible for formatting
Spool the data for printing and
passing it to the host spool
system
• Only one spool work process
allowed per server
SAP Technical Overview
16. Enqueue Work Processes
• Responsible for the lock
management system
Enqueue
• Synchronizes database
E
access for the multiple
application servers and work
processes
• Only one enqueue process
per R/3 system to ensure
data integrity
SAP Technical Overview
17. Update Work Processes
• Responsible for making
database changes requested
Update
V
by dialog and background
processes
• For better performance, this
process should be on the
database server
SAP Technical Overview
18. V1 vs. V2 Update Processes
• Time-critical processes are
inside V1 and less critical
Update
V
ones within V2
• Error situations in
– V1 : changes rolled back and
V2 components not executed
– V2 : only changes of V2
components rolled back
SAP Technical Overview
19. Message Server
• Used by different application
Message servers to exchange data and
internal messages
M • Routes messages, such as
update or batch job starts,
between application servers
• One message server per
system
SAP Technical Overview
20. Gateway Server
• Allows communication
Gateway between R/3, R/2, and
external applications
R/2 G R/3
• Exchanges large amounts of
information between
application servers
• Gateway can reside on any of
the connected systems
SAP Technical Overview
21. Work Processes
• Number of work processes can only be
changed after restarting the system
• Should have at least two dialog work
processes
• Need to have at least one V1 and V2
processes
• Number of spool processes cannot be
changed
SAP Technical Overview
22. Application Server
Presentation . . . Internet
SAPGUI SAPGUI Office Internet
TCP/I
P
Communication
Application
Dispatcher
IPC
Local Buffer Work- Work- Work-
DW-Objects,
for R/3 Data, process process process ABAP-Objects
Remote SQL
Database
SAP Technical Overview
23. Processing of a SAP Transaction (1)
Presentation . . . Internet
SAPGUI
Start 1
TCP/I Transaction
P 5 Communication
Re-
Application turn
Assign User 2 data Dispatcher
for
request to
IPC Workprocess
next
4 step
Local Buffer Work- Work- Work-
3 process DW-Objects,
for R/3 Data, process process ABAP-Objects
Fetch data from buffer/database
buffer/database
Remote SQL
Database
SAP Technical Overview
24. Processing of a SAP Transaction
(2)
Presentation . . . Internet
SAPGUI
1
TCP/IP 6
5 10 Re-
Communication
turn
Application data
for
2 Dispatcher
next
IPC 7 step
Assign User 9
request to
Work- Workprocess Work- Work-
Local Buffer DW-Objects,
3 process process process
for R/3 Data, ABAP-Objects
8
Remote SQL
Database Fetch data from
buffer/database
buffer/database
SAP Technical Overview
25. Processing of a SAP Transaction (3)
Presentation . . . Internet
SAPGUI Request
for update
1
TCP/IP 6 11
5 10 Communication
Application
2 Dispatcher
IPC 7 12
9
4
Local Buffer Work- Work- Work-
3 process DW-Objects,
for R/3 Data, process process ABAP-Objects
8
Remote SQL 13 14 End transaction
Database Update data
on database
SAP Technical Overview
26. SAP Communication Interfaces
Communication Interface
High
Business API Level
Mail
ALE MAPI
OLE
EDI SMTP
X.400
SAP Technology
IDOC
RFC
Q-API
Low
CPI-C
level
Communication System
SAP Technical Overview
27. Business Framework
Business
ALE
BAPI
BAPI BAPI
BAPI
Business
Component Component
• Business Component - contains business
functionality
• BAPI - interface between the components
• ALE - integration of components
SAP Technical Overview
28. Business API (BAPI)
• Defined method of a business object
• Standardized methods allow customers
to integrate their software with R/3
• Object-oriented in nature
• BAPIs from all development platforms
that support the SAP Remote Function
Call (RFC) protocol
SAP Technical Overview
29. Other Interfaces
• Application Link Enabled (ALE) - Interface
that links different SAP systems and
external application systems
– Transport special data structures known as
IDOCS (Intermediate Documents)
• Object Linking and Enabled (OLE) -
enables desktop users to access SAP data
from many OLE client programs
SAP Technical Overview
31. Basis Functions
• Hardware and Database Administration
• User and Security Administration
• Client Maintenance
• Correction and Transport System (CTS)
• Data Dictionary
• Online Service System (OSS)
• Performance Monitoring and Tuning
SAP Technical Overview
32. Hardware and Database
Administration
• Hardware upgrades - adding memory or
servers
• Database backup and recovery
• Database optimization
• Disaster Recovery
SAP Technical Overview
33. User Administration
• Create users and assign profiles
• Modify, lock and unlock users
• Develop authorizations and profiles
SAP Technical Overview
34. Client Maintenance
• Create clients
• Copy and refresh clients
• Client imports and exports
• Delete and remove clients
• Modify change options
SAP Technical Overview
35. Correction and Transport System
R/3 R/3 R/3
System System System
Change
Request
Development Quality Production
Assurance
Moving changes from one R/3 system to another
SAP Technical Overview
36. Online Service System (OSS)
• OSS is a set of SAP’s online services such
as bug fixes and useful implementation
information
• OSS Notes
• Hotpacks
• Remote Connections
• Send questions to SAP
• ABAP registration
SAP Technical Overview
37. Performance Monitoring and
Tuning
• Check database usage and storage
capabilities
• Dialog response time
• Investigate ABAP short dumps
• Optimize performance characteristics
SAP Technical Overview
38. Computer Center Management
System (CCMS)
• Manages the entire system - database,
application, operating system
• Collection of tools and utilities which
allow you to monitor and manage the R/3
system
• Allows monitoring of multiple R/3
systems
• Comes FREE with each SAP system
SAP Technical Overview
39. Computer Center Management
System (CCMS) functions
• Starting and stopping instances
• Monitoring and analyzing workload
• Alert capabilities
• Operation modes and work process
automatic reconfiguration
• Instance profile checking and
maintenance
• Logon load balancing
SAP Technical Overview
Editor's Notes
This slide depicts how an application server works. Users make requests at the presentation layer and through TCP/IP these requests get sent to the application server. The dispatcher then takes the requests and assign them to work processes which handle the requests. More detailed explanations are on the following slides.
The dispatcher is a program which manages the resources of the R/3 applications. They are very similar to a police dispatcher who receives requests via 911 and routes it to available officers who are in the area. The dispatcher receives requests from the many users on the system and passes them along to the corresponding work processes which are free. It also manages the information flow between the app server and the SAPGUI. Each app server has only one dispatcher because it could get kind of difficult for two dispatchers to route requests to the work processes.
The dispatcher is responsible for balancing the workload between the work processes so that processes don’t sit idle. Memory management is also one of its duties. The dispatcher must also organize the communication between the work processes and also between the SAPGUI and app server.
Work processes are the actual programs which execute tasks. They update the database, run batch programs, and send messages. Work processes are comprised of a task handler, an ABAP/4 processor, dialog interpreter and database interface. They execute dialog steps for a user and typically only do the work of displaying one screen at a time. In other words, work processes present one screen of data, and are immediately freed to handle other tasks. The next screen is then handled by the next available work process. The task handler coordinates the activities of the work process. The database interface allows for the work process to directly access the database. The dialog interpreter is used to coordinate presentation information and the ABAP/4 processor is useful when running programs.
There are seven different types of work processes which will be described in detail in the following slides. The five work processes in the middle around the dispatcher are the main work processes in use in the application servers. The two work processes on the outside are used for communication methods within the systems.
The dialog work process is typically the most common work process. It handles all the interactive requests of the R/3 system. Any time a user sends a request the dialog work process plays a part in the work. Dialog work processes handle just one dialog step and are immediately freed to handle other requests. So these work processes are constantly switching between users. This limits the number of dialog work processes, as you would need the same number of work processes as users otherwise.
Background work processes execute long running and CPU intensive programs which are required to be run. Some examples include client copies and long listing reports. Background jobs can also be set to run at specific times.
In charge of formatting data for printing and sending it to the host spool system. Only one spool work process per host.
In order to ensure the integrity of the database, the enqueue work process is responsible for the lock management system. There is only one enqueue work process per system as it synchronizes the data access for multiple application servers and work processes. When a work process is accessing data for possible manipulation it is locked so that other work processes cannot access the data until it is released.
Update work processes actually manipulate the database, so they would be better served to be on the actual database server. They make all the changes to the database within the R/3 system.
SAP makes distinctions between the V1 and V2 component. V1 contains the time critical processes that require immediate updating whereas V2 processes are less critical. During updates there can be a combination of V1 and V2 updates. When errors occur during the V1 update, all changes are rolled back and any subsequent V2 components are not executed. Errors occurring the the V2 phase requires that only changes in the V2 component be rolled back.
This single message server per system sends messages between the various application servers. Messages include update or batch job starts. The communication is setup through the dispatchers and is used for small internal messages.
Gateways connect the R/3 system to other systems such as R/2 or other external systems. They facilitate the transfer of large amounts of data through the use of TCP/IP.
In order to change the number of work processes, you must change the system profile and restart the system. A system should have at least two dialog work processes at all times to ensure correct usage. In case something is wrong, an administrator would need to be able to interactively log on to the system. You need to have at least one V1 and V2 work processes in order to make updates.
Back to our picture.
The following outlines the course of events for an application: 1) The user sends a request to the app server. 2) The dispatcher receives the request and assigns it to a work process. 3) The work process looks in its buffer for the requested data. 4) It finds the data and once it finishes handling the request it sends the result back to the dispatcher. 5) The dispatcher formats the results and sends it back to the SAPGUI.
6) The user makes another request of the system. 7) The dispatcher receives the request and assigns it to a work process 8) The work process retrieves data from the buffer or the database 9) The work process handles the request by interacting with the database and sends it back to the dispatcher 10) The dispatcher sends the data back to the user
11) Say the user requests an update. A request is sent to the dispatcher. 12) The dispatcher sends the request to the work process. 13) The work process makes the change to the database 14) The transaction ends.
This slide shows the various communication interfaces in the R/3 system. The ones closer to the top are the ones which implementers are most likely to work directly with. The ones at the bottom are more of internal SAP communication interfaces.
The Business Framework - the open, component-based architecture, which allows software components from SAP and third parties to interact and integrate with each other, is gaining more and more momentum. Business Components cover a broad range of business data and processes. Examples include customer order management, purchase requisitions, and invoices. Business API (BAPI) are methods which allow interfacing between the various business componenets. ALE - provides an interface between the various components
BAPI’s are merely methods within Business components. They allow outside applications to access those Business componenets. They are standardized methods which allow integration. It’s also object oriented in nature.
Here are some of the most important functions of Basis personnel.
Some of the responsibilities of Basis personnel include the maintenance and upkeep of the hardware and database as other typical system administrators do. Typically, sizing, upgrading, backup and recovering are some of the issues that are dealt with.
One of the big tasks of Basis personnel is User Administration. Users must be made and assigned the correct profiles so that they can do their job and not have any extra access to other transactions that they should not be able to view.
Client maintenance involves the creating of clients and running client copies and refreshes. Client exports and imports occurs when you wish to take a client from one system and move it to another. Exports make a file at the operating system level, which can then be imported into the target system. When clients are obsolete, they must be deleted in order to be more efficient with memory.
CTS is the notion of moving changes from one system to another. In the typical Development-Testing-Production environment, CTS is the mechanism of moving changes and modifications through the systems.
OSS is SAP’s online service system, which contains known problem, bug fixes, and news. It’s a great source of information to find answers to your problems, and even affords you the opportunity to send SAP questions that have stumped you. OSS also plays a role in ABAP development, as all ABAP programmers must be registered through OSS.