© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 1
Netzwerkkommunikation von SAP R/3
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 2
Client/Server-Architektur
TCP/IP-Protokoll
Höhere Protokolle / Schnittstellen
Datenaustausch / Verteilungsstrategie
Übersicht
Übersicht : Netzwerkprotokolle
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 3
• R/3 : dreistufige Client/Server-Architektur.
Grundlegende Client/Server-Konfigurationen
Client / Sever - Konzept
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 4
Client/Server : Übertragungsraten (I)
• Präsentation <-> Application-Server: 1,5-2,0 KB / dialog step
(nur GUI-Verkehr, keine Druckvorgänge, Grafiken, Uploads)
• Application-Server <-> DB-Server : ca. 20 KB / dialog step
mindestens 10Mbit / s ab mittelgrossen Anwendungen :
100Mit / s (bzw. FDDI)
• R/3 führt die gesamte Netzwerkkommunikation (keine
Großrechner-Anbindung) über TCP/IP (Transmission Control
Protocol / Internet Protocol)
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 5
Client/Server : Übertragungsraten (II)
R/3 Network Load : Compressed Data Stream
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 6
Definitionen:
C := Erforderliche Leitungskapazität, gemessen in bit/s
L := Auslastung der Leitung (0 <L< 1)
Tverarb := Verarbeitungszeit zwischen zwei Dialogschritten
Treak := Reaktionszeit
N := Gesamtanzahl der Benutzer, die mit der
Verarbeitungszeit TVerarb und bei einer Reaktionszeit
TReak arbeiten
C =16.000 * N / [L * (TVerarb + TReak)] bit/s
Client/Server : Übertragungsraten (III)
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 7
Client/Server : Übertragungsraten (IV)
15 Benutzer, 10 s Verarbeitungszeit, 2 s Reaktionszeit, N = 15,
L = 0,5, C = 16.000 *30 / [ 0,5 (30 s +2 s)] bit/s = 40.000 bit/s
=> 64.000 bit/s Leitung
Beispiel 1:
Beispiel 2:
30 Benutzer, 30 s Verarbeitungszeit, 1 s Reaktionszeit, N = 30,
L = 0,5, C = 16.000 *30 / [ 0,5 (30 s + 1 s)] bit/s = 31.000 bit/s
=> 64.000 bit/s Leitung
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 8
Client/Server-Architektur
TCP/IP-Protokoll
Höhere Protokolle / Schnittstellen
Datenaustausch / Verteilungsstrategie
Übersicht : Netzwerkprotokolle
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 9
TCP/IP-Protokoll im R/3 Netzwerk
•Das ISO-OSI Modell
1
3
2
4
5
6
7
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 10
Das TCP/IP-Protokoll : Begriffsklärung
Anwendungsschicht:HTTP/FTP/DNS/SMTP, etc.
Transportschicht :TCP
Internetschicht:IP
Netzzugangsschicht:PPP/Ethernet/SLIP
3
4
5-7
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 11
Das TCP/IP-Protokoll
• TCP/IP ist eine Protokollfamilie, sie deckt die Schichten 3 bis 7 des OSI- Modells ab
• Wird von der Internet Engineering Task Force (www.ietf.org) weiterentwickelt (IPv4 -> IPv6)
• TCP/IP hat sich in den 70ern als offener Standard für verteilte Systeme durchgesetzt(in den Anfängen des Internet : das ARPA-Netz)
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 12
Client/Server-Architektur
TCP/IP-Protokoll
Höhere Protokolle / Schnittstellen
Datenaustausch / Verteilungsstrategie
Übersicht : Netzwerkprotokolle
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 13
Höhere Protokollschichten von R/3
COM / DCOM
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 14
CPI-C
R/3 External Interfaces / Protocols
Höhere Protokollschichten von R/3
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 15
Das CPI-C Protokoll (I)
(Common Programming Interface - Communication)
• Low-Level Programmierschnittstelle : Byte-orientiert.
• Kommunikation : R/3-R/2 -Systemen oder R/3-außerhalb
• Verbindungsdefinition ohne explizite Login-Funktion• Historisch bedingt : CPI-C ist ein Vorläufer
von höherer Protokolle
• Dient zur rechnerübergreifenden Programm- Programm-Kommunikation. (z.B. aus ABAP heraus)
• CPI-C war bereits in R/2 implementiert.
CPI-C
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 16
Das CPI-C Protokoll (II)
• Sprachneutrale Kommunikationsumgebung aber fehleranfällig (EBCDIC oder ASCII, Big oder Little Endian)
• Ursprünglich eine Implementierung für das LU 6.2 Protokoll auf IBM Mainframe
• CPI-C Komm. wird über ein SAP-Gateway gerouted.
CPI-C
• CPI-C ist „schwierig zu handhaben“
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 17
Das CPI-C Protokoll (III)
Gateway-Server (oder CPIC-Server)
CPI-C
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 18
• Von SAP definierter Standard : Funktionen werden auf einem entfernten Rechner aufgerufen.
Das RFC-Protokoll (I)
(Remote Function Call)
• in ABAP wurde dazu die RPC (Remote Procedure Call)-Schnittstelle implementiert (aus UNIX).
RFC
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 19
Die RFC-Typen (II)
• Synchrone RFCs :
Client wartet bis der Server die Daten zurückliefert.
• Asynchrone RFCs :
Client arbeitet weiter, Server initiiert Callback
• Transaktionale RFCs : (secure asynchon communication)
ACID-Bedingungen
RFC
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 20
Das RFC-Protokoll (III)
• RFC übernimmt :• Kommunikationssteuerung
• Parameterübergabe
• Fehlerbehandlung
• 4 periods in an RFC :
• CALL step
• CALL RECEIVE step
• RETURN step
• RETURN RECEIVE step
RFC
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 21
Das RFC-Protokoll (IV)
Das RFC-Konzept
RFC
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 22
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 23
RFC Processing on the Client and Server Side
RFC
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 24
RFC Processing on the Client and Server Side (with call back possibility)
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 25
Das OLE-Protokoll (I)
• von MS definierte
Standards zur
Programm-
Kommunikation
OLE / COM
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 26
R/3 als OLE-Client
RFC
Das OLE-Protokoll (II)
(Object Linking and Enbedding)
OLE / COM
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 27
Das OLE-Protokoll (III)
(Object Linking and Enbedding)
• Objekte in Form von EXE, DLL oder OCX-Dateien
• Verbesserungen : COM, DCOM
(Distributed) - Component Object Model
• in der Windows-Welt entstanden, aber Betriebssystem
unabhängig (COM)
OLE / COM
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 28
Client/Server-Architektur
TCP/IP-Protokoll
Höhere Protokolle / Schnittstellen
Datenaustausch / Verteilungsstrategie
Übersicht
Übersicht : Netzwerkprotokolle
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 29
Application Link Enabling (ALE)
• Datenbank von R/3 ist (bisher) immer eine Zentralsystem
• Dies bietet Nachteile wenn :
• Organisationseinheiten räumlich getrennt sind
• Unternehmen-übergreifende Prozesse vorhanden sind
• die Leistungsfähigkeit stößt an ihre Grenzen
• Lösung ist ALE :
• Verteilung von betriebswirtschaftliche Funktionen und
Anwendungen auf lose R/3-Sysmteme
• Vorbereitete Szenarien
• Kopplung von R/2, R/3 und anderen Systemen
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 30
Beispiel für ALE
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 31
Technische Grundlagen von ALE
1. Verteilung mit Hilfe von Nachrichtentypen
Anwendungsereignisse werden durch Nachrichten im
R/3-System ausgelöst.
(Nachricht = betriebswirtschaftliche Funktion + Daten)
Diese werden durch sog. Intermediate documents (IDoc)
verteilt (basierend auf tRFC).
2. Verteilung mit BAPIs
BAPIs ermöglichen den Zugriff auf Business-Objekte mit bel.
Hilfsmitteln und Programmiersprachen.
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 32
Der Aufbau von IDOCs
Bei R/2 oder R/3 möglich
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 33
Technischer Ablauf von ALE mittels IDOCs
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 34
ALE - Verteilung mit BAPIs
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 35
Client/Server-Architektur
TCP/IP-Protokoll
Höhere Protokolle / Schnittstellen
Datenaustausch / Verteilungsstrategie
Übersicht
Übersicht : Netzwerkprotokolle
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 36
Übersicht : Transport-Services
• TCP/IP Transport Control Protocol / Internet Protocol
• IEEE 802 Protokoll und Hardware-Schnittstelle für Ethernet
• X.25 Kommunikationsprotokoll, WAN (Datex-P)
• ISDN Integrated System Digital Network, WAN
• Ethernet Netz-Hardware im LAN-Bereich
• Token Ring Netz-Hardware im LAN-Bereich
• FDDI Fibre Distributed Data Interchange
© 1999 Chris Loeser Projektgruppe SAP R/3 auf Linux Cluster 10.11.1999 Seite: 37
Übersicht : die Protokolle
• LU 6.2 Logical Unit - IBM Netzwerkprotokoll• CPI-C Common Programming Interface-Communication
(Low-Level)
• RFC Remote Function Calls (High-Level) (auch RPC)
• OLE Object Linking and Embedding
• ALE Application Link Enabling
(Verteilung betriebswirtschaftlicher Objekte)• EDI Electronic Data Interchange
(Austausch von Handelsnachrichten)
• X.500 Electronic Mail (auch SMTP, POP3, IMAP)
• DDE Dynamic Data Exchange
• ODBC Open Data Base Connectivity
• Q-API Queue Application Interface