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.
1 basis technical-overview (2)
OverviewSAP Basis Functions
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
The Software-Oriented View of R/3 SAP Technical Overview
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
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
Application ServerPresentation . . . Internet SAPGUI SAPGUI Office Internet TCP/IP CommunicationApplication Dispatcher IPC Local Buffer Work- Work- Work- DW-Objects, for R/3 Data, process process process ABAP-Objects Remote SQLDatabase SAP Technical Overview
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
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
Work Process• Responsible for executing R/3 application tasks Task Handler ABAP/4 Dialog Database Processor Interpreter Interface Work Process SAP Technical Overview
Different Kind of Work Processes for different Tasks Dialog Update Message V D MBatch 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
Dialog Work Processes • Responsible for the interactive tasks of the R/3 systemDialog • 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
Background Work Processes • Responsible for executing ABAP programs submittedBatch 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
Spool Work Processes • Responsible for formattingSpool the data for printing and passing it to the host spool system • Only one spool work process allowed per server SAP Technical Overview
Enqueue Work Processes • Responsible for the lock management systemEnqueue • 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
Update Work Processes • Responsible for making database changes requestedUpdate V by dialog and background processes • For better performance, this process should be on the database server SAP Technical Overview
V1 vs. V2 Update Processes • Time-critical processes are inside V1 and less criticalUpdate 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
Message Server • Used by different applicationMessage 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
Gateway Server • Allows communicationGateway 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
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
Application ServerPresentation . . . Internet SAPGUI SAPGUI Office Internet TCP/I P CommunicationApplication Dispatcher IPC Local Buffer Work- Work- Work- DW-Objects, for R/3 Data, process process process ABAP-ObjectsRemote SQLDatabase SAP Technical Overview
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-ObjectsFetch data from buffer/database buffer/database Remote SQLDatabase SAP Technical Overview
Processing of a SAP Transaction (2)Presentation . . . Internet SAPGUI 1 TCP/IP 6 5 10 Re- Communication turnApplication 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 SQLDatabase Fetch data from buffer/database buffer/database SAP Technical Overview
Processing of a SAP Transaction (3) Presentation . . . Internet SAPGUI Request for update 1 TCP/IP 6 11 5 10 CommunicationApplication 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 transactionDatabase Update data on database SAP Technical Overview
SAP Communication Interfaces Communication Interface High Business API Level Mail ALE MAPI OLE EDI SMTP X.400SAP Technology IDOC RFC Q-API Low CPI-C level Communication System SAP Technical Overview
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
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
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
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
Hardware and Database Administration• Hardware upgrades - adding memory or servers• Database backup and recovery• Database optimization• Disaster Recovery SAP Technical Overview
User Administration• Create users and assign profiles• Modify, lock and unlock users• Develop authorizations and profiles SAP Technical Overview
Client Maintenance• Create clients• Copy and refresh clients• Client imports and exports• Delete and remove clients• Modify change options SAP Technical Overview
Correction and Transport System R/3 R/3 R/3 System System System Change RequestDevelopment Quality Production AssuranceMoving changes from one R/3 system to another SAP Technical Overview
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
Performance Monitoring and Tuning• Check database usage and storage capabilities• Dialog response time• Investigate ABAP short dumps• Optimize performance characteristics SAP Technical Overview
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
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