Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Einleitung
15
TEIL I Modellierung von Enterprise Services
21
1 Grundlagen der Modellierung von Enterprise Services
23
1.1 Serviceorientierte Architekturen
26
1.1.1 Merkmale serviceorientierter Architekturen
27
1.1.2 SOA für Unternehmenssoftware – offene Fragen
30
1.1.3 SOA für Unternehmssoftware – der SAP-Weg
32
1.2 Enterprise Services
34
1.2.1 Ableitung aus dem Unternehmensmodell
35
1.2.2 Rolle der globalen Datentypen
38
1.2.3 Von BAPIs über Webservices zu Enterprise Services
40
1.3 A2X-, A2A- und B2B-Services
44
1.3.1 A2X-Services
45
1.3.2 A2A-Services
46
1.3.3 B2B-Services
48
1.4 Enterprise-Services-Metamodell
49
1.4.1 Prozesskomponenten
50
1.4.2 Business-Objekte
52
1.4.3 Service-Operationen
55
1.4.4 Service-Schnittstellen
57
1.4.5 Deployment Units
58
1.4.6 Kommunikationsmuster und Nachrichtenkategorien
59
1.4.7 Interface-Muster – Muster zusammengehörender Schnittstellen
64
1.4.8 Zusammenfassung
69
1.5 Enterprise Services Repository & Registry
69
1.5.1 Wege zu einem eigenen SAP Enterprise Services Repository
70
1.5.2 Enterprise Services Builder – ein kurzer Überblick
72
1.5.3 Modelle der SAP-Anwendungen und Enterprise Services
75
1.6 Zusammenfassung
79
2 Modellierung von A2X-Services
81
2.1 Modellierung der Metamodell-Entitäten
82
2.1.1 Anwendungsfall zur Analyse
82
2.1.2 Vorbereitungen im Enterprise Services Repository
83
2.1.3 Identifizierung der Business-Objekte
85
2.1.4 Schnitt der Prozesskomponenten und Deployment Units
88
2.1.5 Erstellung des Architekturmodells
90
2.1.6 Zusammenfassung
101
2.2 Konsistente Signaturen und ihre Wichtigkeit
101
2.3 Modellierung von Business-Objekten
103
2.3.1 Struktur des integrierten Business-Objekt-Modells
104
2.3.2 Business-Objekt-Eigenschaften
109
2.3.3 SAP Global Data Types und Core Data Types
115
2.3.4 Abschluss der Business-Objekt-Modellierung
118
2.4 Ableitung der Enterprise-Services-Signaturen
119
2.4.1 Business Document und Business Document Object
119
2.4.2 Ableitung der Business-Document-Object-Struktur
121
2.4.3 Aufbau der Business-Document-Struktur
123
2.5 Zusammenfassung
126
3 Prozessintegration und Integrationsszenarien
127
3.1 Integrationsszenariomodelle
128
3.1.1 Darstellung von Integrationsszenariomodellen
129
3.1.2 Integrationsszenariomodelle erstellen
131
3.2 Prozesskomponenten-Interaktionsmodelle
134
3.2.1 A2A- und B2B-Services im Unterschied zu A2X-Services
135
3.2.2 Prozesskomponenten-Interaktionsmodelle erstellen
136
3.3 Integrationsszenariokatalog
137
3.4 Zusammenfassung
138
TEIL II Entwicklung von Enterprise Services
139
4 Enterprise Services Repository
141
4.1 Organisation des Enterprise Services Repository Contents
142
4.2 Übersicht der benötigten Designobjekte
143
4.2.1 Service-Interfaces
144
4.2.2 Message-Typen
146
4.2.3 Datentypen
146
4.2.4 Fault-Message-Typen
152
4.2.5 Zusammenfassung
152
4.3 Industriespezifische Felder kennzeichnen
153
4.4 Namensräume im Enterprise Services Repository
154
4.5 Namenskonventionen für Designobjekte im Enterprise Services Repository
155
4.6 Zusammenfassung
156
5 Technische Grundlagen und Standards für Services
157
5.1 Webservices
158
5.2 Extensible Markup Language
159
5.2.1 Aufbau eines XML-Dokumentes
159
5.2.2 Beispiel eines XML-Dokumentes
160
5.2.3 Namensräume
161
5.2.4 Verarbeitungsanweisung
162
5.2.5 Syntaktische und semantische Korrektheit
162
5.3 XML-Schema-Definition
162
5.3.1 Primitive Datentypen
162
5.3.2 Wertebereich, lexikalischer Bereich, Facette
163
5.3.3 Abgeleiteter Datentyp
163
5.3.4 Einfache Datentypen
164
5.3.5 Komplexe Datentypen
166
5.4 Web Services Description Language
167
5.4.1 Aufbau eines WSDL-Dokumentes
168
5.4.2 Definitionen
170
5.4.3 Datentypen
170
5.4.4 Nachricht
170
5.4.5 Port-Typ
171
5.4.6 Binding
171
5.4.7 Service
172
5.5 SOAP
173
5.6 Weitere W3C-Standards
174
5.6.1 XML-Parser
174
5.6.2 Extensible Stylesheet Language for Transformation
175
5.6.3 XML Path Language
177
5.7 Zusammenfassung
178
6 Entwicklung von Enterprise Services in ABAP
179
6.1 Motivation und grundlegende Eigenschaften
180
6.1.1 Entkopplung
180
6.1.2 Modellbasierte Entwicklung
180
6.1.3 Transaktionales Verhalten
180
6.1.4 Zustandslose und zustandsbehaftete Kommunikation
181
6.1.5 Unidirektionale und bidirektionale Kommunikation
181
6.1.6 Synchrone und asynchrone Kommunikation
181
6.1.7 Eingehende und ausgehende Operationen und Service-Interfaces
183
6.1.8 Kommunikationsmuster
184
6.1.9 Quality of Service
192
6.1.10 Verlässliche Nachrichtenzustellung
193
6.2 Generierung von Proxys im Backend-System
195
6.2.1 ABAP-Provider-Proxy
196
6.2.2 ABAP-Consumer-Proxy
197
6.3 ABAP-Proxy-Laufzeit und Konfiguration
199
6.3.1 Übersicht über die Nachrichtenverarbeitung zur Laufzeit
200
6.3.2 Konfiguration von Provider-Proxys
203
6.3.3 Konfiguration von Consumer-Proxys
206
6.3.4 Konfiguration der Nachrichtenverarbeitung über den Integration Server
208
6.3.5 Serialisierung und Deserialisierung
209
6.4 Implementierung von Inbound-Service-Interfaces
212
6.4.1 Allgemeine Überlegungen zur Implementierung
212
6.4.2 Grundlegendes Programmiermodell von Enterprise Services
212
6.4.3 Implementierung von ändernden Services
216
6.4.4 Codelisten
225
6.4.5 Verlässlicher Nachrichtenaustausch
230
6.4.6 Erweiterungskonzept
232
6.4.7 Fehlerbehandlung
233
6.4.8 Branchenspezifische Erweiterungen
237
6.4.9 Massendaten-Services
240
6.5 Testen von Services im Web Services Navigator
241
6.6 Evaluieren von Services im Enterprise Services Workplace
242
6.7 Publizieren von Services in die Services Registry
243
6.7.1 Strukturierung von Services in der Services Registry
245
6.7.2 Konsumierung von Webservices aus der Services Registry
247
6.7.3 Publikation von Services in die Services Registry
247
6.8 Zusammenfassung
248
7 Entwicklung von Enterprise Services in Java
249
7.1 Inside-Out-Implementierung
250
7.2 Outside-In-Implementierung
250
7.2.1 Voraussetzungen
251
7.2.2 Import eines WSDL-Dokumentes
251
7.2.3 Proxy-Generierung
255
7.2.4 Anzeigen der generierten Webservice-Artefakte
257
7.3 Konfiguration von Webservices zur Designzeit
258
7.3.1 Konfiguration der Authentifizierungsstufe
258
7.3.2 Konfiguration der Transportgarantie
259
7.3.3 Konfiguration von Web Services Reliable Messaging (WS-RM)
260
7.3.4 Konfiguration von zustandsbehafteter Kommunikation
260
7.3.5 Implementierung des JavaBean-Skeletons
260
7.4 Konfiguration von Java-Webservices mit dem SAP NetWeaver Administrator
261
7.5 Publikation von Services aus dem SAP NetWeaver Administrator
262
7.6 Testen von Services mit dem Web Services Navigator
264
7.7 Zusammenfassung
264
TEIL III Implementierungsbeispiele für Enterprise Services
265
8 Beispielimplementierung von Enterprise Services in ABAP
267
8.1 Überblick über das Implementierungsprojekt
267
8.2 Vorbereitungen im Enterprise Services Repository
269
8.3 Vorbereitungen im ABAP-System
273
8.4 Muster für den Entwurf der Service-Implementierungen
275
8.5 Reservierung, Buchung und Stornierung eines Fluges
279
8.5.1 Spezifikationen der Services
279
8.5.2 Implementieren der Service-Interface-Proxy-Klassen
282
8.5.3 Vorlage für Service-Implementierungsklassen
284
8.5.4 Vervollständigung der Service-Implementierungsklasse Create Flight Sales Order
286
8.5.5 Hilfsklassen
290
8.5.6 Vervollständigung der Confirm- und Cancel-Services
292
8.6 Service zum Lesen einer Flugbuchung
296
8.6.1 Spezifikation des Service Read Flight Sales Order
296
8.6.2 Service-Implementierungsklasse Read Flight Sales Order
297
8.7 Wertehilfe-Services
302
8.7.1 Implementieren des Service Find Flight Customer
304
8.7.2 Implementieren des Service Find Flight
311
8.7.3 Wertehilfen für Core-Datentypen vom Typ Code
315
8.8 Service zur Überprüfung der Verfügbarkeit eines Fluges
318
8.9 Änderungen von Flugbuchungen
319
8.10 Testen der Service-Implementierungen
327
8.11 Zusammenfassung
329
9 Implementierungsbeispiele für Service Consumer
331
9.1 Entwicklung einer Consumer-Anwendung in ABAP
332
9.1.1 Beispielanwendung
332
9.1.2 Rahmen des Reservierungs-Reports
334
9.1.3 Füllen der Listboxen für Flughafen und Buchungsklasse
337
9.1.4 Ermittlung der Flüge
341
9.1.5 Interaktive Anzeige der Flüge mit einem ABAP List Viewer
344
9.1.6 Aufruf der Verfügbarkeitsprüfung
348
9.1.7 Service-Aufruf zur Reservierung eines Fluges
350
9.1.8 Zusammenfassung
353
9.2 Anwendungsentwicklung mit dem SAP NetWeaver Composition Environment
354
9.2.1 SAP NetWeaver Visual Composer
355
9.2.2 Web Dynpro Java
365
9.3 Anwendungsentwicklung mit Eclipse
378
9.3.1 Eclipse
379
9.3.2 JSP-Beispielapplikation
381
9.3.3 Erzeugen eines dynamischen Webprojektes in der Eclipse IDE
382
9.3.4 Import des WSDL-Dokumentes
383
9.3.5 Erstellen der JavaServer Page
384
9.3.6 Editieren des Deployment Descriptors
385
9.3.7 FlightDemoServlet-Servlet
386
9.3.8 Implementieren der JavaBean FlightDemoBean
390
9.3.9 Resultat
393
9.4 Anwendungsentwicklung mit Microsoft .NET
394
9.4.1 Generieren des Consumer-Proxys
395
9.4.2 Erstellen der Consumer-Anwendung
397
9.4.3 Resultat
405
9.5 Zusammenfassung
406
A Literaturverzeichnis
409
B Die Autoren
411
Index
413