SAP R/3 Architecture
Prof.R.K.Nadesh @ VITwww.nadeshrk.webs.com
SAP R/3 System Business Modules
Sales &Distribution
MaterialsMgmt.
ProductionPlanning
FinancialAccounting
Controlling
Fixed AssetsMgmt.
QualityMgmt.
PlantMaintenance
HumanResources
Workflow
IndustrySolutions
R/3Client / Server
ABAP/4 ProjectSystem
Logistical Financial
Basis System: Three-Tier Computer Hierarchy
Input / Outputof data to users
Access to Dataase:(Read / Write data)
Central Database(Storage of all data)
Database
Application
Presentation
Processing of datausing application logic
Presentation of theprocessed data tothe user
Typical Client Server Architectures
Central System
Two - tierDistributed System
Two - tierClient/Server
Three - tierClient/Server
Multi-layerCooperative
Client/Server
Presentation Application Database
Database and Application
R/3 System ConfigurationsCentral Systems
SAP2-Tier Configuration 3-Tier Configuration Web-enabled
Presentation
Database,
Application,
PresentationDatabase
Application
Presentation
Internet Transaction Service/Web Service
To web-enable the SAP Applications, a Web Server and an ITS (Internet Transaction Server) are needed. The web-service and the services for the ITS can run on one server or on two dedicated servers. The presentation in this configuration is provided by an Internet Browser. The new SAP Web platform is NetWeaver.
Basis System: Application Architecture
Windows 3.1, Windows 95, Windows NT, OSF/Motif,Presentation Manager, Macintosh
ABAP/4, C, C++
DB2/400
OS/400
Windows ‘95OS/2
IBMAS/400
AT&T Data General SNIBull/Zenith HP SequentCompaq IBM Digital
ADABAS D, Oracle 7.1,MS SQL Server 6.0
Windows NT
UNIX systemsBull HP SNIDigital IBM SUN
AIX SINIXHP-UX SOLARISDigital UNIX
ADABAS D,DB2, INFORMIX,
ORACLE 7.1
Hardware
OperatingSystems
Databases
DialogSAPGUI
Languages
Sold to party: C100Item Material Qty10 6301 1020 6412 1030 1507 25
O r d e r
R/3 Communication / InterfacesRemote
Function Call
Electronic DataInterchange
Program InterfaceCommunicationObject Linking
and Embedding
ApplicationLink Enabling
WebInterface
Client/Server Overview
Client
Server
LAN/WAN
TCP / IP
Client/Server Overview (Logical Structure)
Presentation
Data Storage
ApplicationLogic
Client
Server
SAP R/3 Resource Management: The Dispatcher
Data base
Application
Presentation
BuffersWorkProcess
WorkProcess
WorkProcess
Dispatcher
SAP GUI
Communications
SAP Memory BufferSAP Memory Buffer
Relational data base systemRelational data base system
SAP GUISAP GUI
SAP R/3 Resource Management: Data Flow
Data base
Application
Presentation
WorkProcess
Dispatcher
TerminalProcess
Request queuesRequest queues
11
33
22
4455
66
77
Roll
Page
SAP Dispatcher
SAP R/3 Resource Management: Work Processes
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
1999
Background Jobs
Spool
Enqueue
Dialog Update MessageSold to party: C100
Item Material Qty10 6301 1020 6412 1030 1507 25
O r d e r
Sold to party: C100Item Material Qty10 6301 1020 6412 1030 1507 25
O r d e r
Sold to party: C100Item Material Qty10 6301 1020 6412 1030 1507 25
O r d e r
Sold to party: C100Item Material Qty10 6301 1020 6412 1030 1507 25
O r d e r
M
Gateway
R/2
R/3G
AABB
CC
SAP R/3 Resource Management: R/3 Instance
Dialog . . . . Update Spool Back-ground Enqueue
Dispatcher
DatabaseInstance
DatabaseInstance Message
ServerMessage
ServerSAP
GatewaySAP
Gateway
Instance Profiles(parameters)
Instance Profiles(parameters)
SAP BuffersSAP Buffers
Startor
Stop
Startor
Stop
Central Instance
© SAP AG
R
What does an R/3 Database Contain?
R/3System
database
Repository ObjectsRepository Objects
Customizing ObjectsCustomizing Objects
ClientClient ClientClient ClientClient
Global SettingsGlobal Settings
© SAP AG
R
What is a Client?
“A client is an autonomous unit in the R/3 System withregard to commercial law, organization, and data.”
ClientClientUser Master
Customizing
Application
user recordsuser authorization
client-dependentcustomizing data
transaction datamaster data
Sample SAP System Landscape
Development Testing Production
DatabaseServers
ApplicationServers
PresentationServers
Object Migration
Program A
Table A
Screen A
Program A
Table A
Screen A
Program A
Table A
Screen A
Development QA Testing Production
Corrections and Transport
The Client
R/3America
R/3Europe
R/3Japan
America Client 010America Client 010
Japan Client 030Japan Client 030
Europe Client 020Europe Client 020
SAP System ArchitectureSAP System Architecture
Database Server
M
SAP Application Server(SAP Instance)
Oracle
Informix
DB2
MS SQL Server
MAX DB
G
Dispatcher
Queue
D D B V S E
SAP Buffer(Shared Mem)
SAP GUIDIAG
Dispatcher Queue
ICM
Memory Pipe
SAP Web AS Java
Web Browser
HTTP, HTTPS
SMTP, SOAP, XML,…Web
Work Process Types
D = DialogB = BackgroundV = UpdateE = EnqueueS = SpoolM = Messaging G = Gateway
SAP Installation Concept
• Install Oracle RDBMS • Install Central Instance (SAP Application
Server)• Install Database Instance• Install SAP GUI
1.Install Oracle RDBMS
Install Oracle RDBMS
2.Install Central Instance
Install Central Instance
3.Install Database Instance
Install Database Instance
Install Database Instance
4.Install SAP GUI
Install SAP GUI
SAP Web Application Server
• The SAP Web AS is an open, scalable, and high-availability infrastructure for developing dynamic and company-wide Internet applications
• It is a server based on the well-known SAP Application Server technology, with the additional enhancement of Web functionality
• The SAP Web AS is the new technological basis of all mySAP Business suite solutions. It is also the core element of the SAP R/3 Enterprise system – the successor to the classic SAP R/3
SAP Web AS Release
• SAP Web AS 6.10– ICM
• SAP Web AS 6.20– ICM, J2EE
• SAP Web AS 6.30– ICM,J2EE + Eclipse,Web Dynpro
• SAP Web AS 6.40– ICM,J2EE + Web Dynpro + Integrated ITS
• SAP Web AS 7.00– Oracle 10g …
Accessing Data in DATABASE
• Relational DB Tables• Line Unique – KEY • Standard SQL
DML (Read &Change)DDL (Create & Administrate)DCL (Authorization &Consistency Check)
Each database has a programming interface that allows you to
access the database tables using SQL statements
Database Interface
• R/3 System independent of the database system • Each work process on an application server has
a database interface • The R/3 System communicates with the
database by means of this interface • The database interface converts all of the
database requests from the R/3 System into the correct Standard SQL statements for the database system.
Database Interface
Db Interface
• Access – Open SQL /Native SQL• Open SQL consists of the Data
Manipulation Language (DML) • It allows you to read (SELECT) and
change (INSERT, UPDATE, DELETE) data.
• It also allows you to buffer certain tables on the application server, saving excessive database access.
Db Interface
• When buffering the database, you must remember that data in the buffer is not always up to date
• you should only use the buffer for data which does not often change.
• You specify whether a table can be buffered in its definition in the ABAP Dictionary.
DB Interface
• Native SQL*allows access to all of the functions
contained in the programming interface of the respective database system
*Programs that use Native SQL are specific to the database system for which they were written.
ABAP Dictionary• Allows you to create and administer database tables. • Normal application programs should not create or
change their own database tables. • The ABAP Dictionary uses the DDL part of Open SQL to
create and change database tables. • It also administers the ABAP Dictionary in the database. • The ABAP Dictionary contains metadescriptions of all
database tables in the R/3 System. • Only database tables that you create using the ABAP
Dictionary appear in the Dictionary.
Memory Management
• Application- Work Process (ABAP)• Process requires Memory -MMS• The order in which the work process is
assigned the memory type depends on the work process type, either dialog or non-dialog
• The location of the various memory areas in Virtual address Space
R/3 – OS Level
• The Operating System manages two type of memory :
• Local memory• allocated precisely to one operating
system process• Shared memory• accessible to multiple operating
system process
R/3 - MMS
• ROLL AREA (Initial Memory Assignment)
• EXTENDED MEMORY (Majority of User Context)
• PRIVATE MEMORY
R/3 – ROLL AREA
When a dialog is executed,dispatcherperforms
Pres. server SAP Application Sever DB Server
SAP
GU
I SAP Extended Memory
Dispatcher Queue SAP Roll Memory
disp
atch
erTable
buffer
Program
buffer
DDIC Buffer
Work Process
Work Process
Work Process
DB Process
DB Process
DB Process
Database
buffer
PROCESS FLOW
SAP Roll Memory
Local SAP Roll area of work process
- The initial part of user context stored
- Each SAP work process can only access its own roll area
Shared SAP Roll Area
- Accessible to all of instance work processes
- Buffer to temporary keep user context when a user is assigned to new work process
- Roll in : copying user context from shared roll area to local roll area
- Roll Out : copying user context from local roll area to shared roll area
ROLL AREA
Roll buffer (shared memory)Roll area
Roll file (disk)
Roll area (local)
Work Process1
Work Process2
copy copy
SAP Extended Memory
Shared memory which mostly of user context stored
All SAP work process can edit stored user context directly
Roll in rather only copied the address (pointer) of where a user context
located on the SAP extended memory.
makes roll process much faster
ztta/roll_extension
em/initial_size_MB
SAP Heap Memory
Area which allocated variably as local memory as required.
Released after a transaction is complete.
SAP Heap Memory main parameters :
abap/heap_area_dia : quotas oh SAP heap memory that a dialog process can allocated.
abap/heap_area_nondia : quotas oh SAP heap memory that a nondialogprocess can allocated.
abap/heap_area_total : size that can be allocated in total by all work process.
abap/heaplimit : Workprocess restart limit of heap memory
Heap Memory (local)
abap/heap_area_(non)dia
abap/heap_area_total
Sequence in which memory is allocated (dialog work process) :
User-Independent
Data Roll memory to
zttz/roll_firstRoll memory to
zttz/roll_extension
Roll memory to
zttz/roll_area
Roll memory to
abap/heap_area_dia
1 2 3 4User Context
Copying data during context change
Mapping the data during context change
- Data stays in work process
- No context switch possible
- Work process in private mode