Christoph Mathas
SOA intern
Praxiswissen zu Service-orientierten IT-Systemen
Inhalt
6
Vorwort
12
1 Einleitung
14
1.1 Wem nützt dieses Buch?
15
1.2 Weshalb dieses Buch?
16
1.3 Die Kapitelstruktur
17
1.4 Wer sollte was lesen?
18
1.5 Die Beispiele und die verwendeten Tools
19
2 Service-orientierte Architektur
20
2.1 Davon handelt dieses Kapitel …
20
2.2 Eine SOA-Definition
20
2.3 Was macht ein SOA-Projekt aus?
21
2.4 Was hat SOA mit unserem Alltag zu tun?
24
2.5 Der technische Aufbau eines SOA-Systems
25
2.6 SOA und die Software-Evolution
29
2.6.1 Bezug zu Objekt- und Komponentenmodellen
30
2.7 SOA und lose Kopplung
32
2.7.1 Merkmale der losen Kopplung
34
2.7.2 Vollständig entkoppelte Services
35
2.7.3 Asynchrone Kommunikation
36
2.7.4 Metadaten und SOA-Standards
38
2.7.5 Service-Orientierung als Mittel zum „Scoping“
38
2.8 SOA-Architekturmodell
39
2.8.1 Software-Architektur (Schichtenmodell)
40
2.8.2 Service Registry und Service Repository
41
2.9 SOA in Ihrem Projekt
43
2.10 Praxistraining
46
3 Services in einer SOA
48
3.1 Davon handelt dieses Kapitel …
48
3.2 Die technischen Merkmale der Services
48
3.3 Service-Bezeichnungen
50
3.3.1 SOA-Clients
50
3.3.2 Service Consumer, Service Provider, Service Endpoint
52
3.4 Nachrichten-basierte Service-Einbindung
53
3.4.1 Message Exchange Patterns (MEPs)
54
3.4.2 Aufruf der Service Provider
55
3.4.3 Inbound/Outbound-Services
56
3.4.4 SOA-Clients und lose Kopplung
57
3.5 Service Policies & Contracts
57
3.5.1 Service Policies
58
3.5.2 Service Contracts
59
3.6 Funktionale Service-Einordnung
61
3.6.1 Semantischer Zusammenhang der Fachdienste
64
3.7 Die zentrale Bedeutung der XML-Technologien
64
3.8 Der Service-Lebenszyklus
68
3.9 Entwicklung und praktischer Einsatz
70
3.10 Praxistraining
72
4 Service-Mediation-Systeme
74
4.1 Davon handelt dieses Kapitel …
74
4.2 Die Funktionalität der Service-Mediation-Systeme
74
4.3.2 Wobei helfen Service-Mediation-Systeme?
77
4.4 Die Ebene der Service-Kommunikation
78
4.4.1 Der Message Bus
78
4.4.2 Protokolladapter
82
4.4.3 Adressierung der Service Provider
83
4.5 Die Ebene der Service-Integration
85
4.5.1 Nachrichten-Binding
85
4.5.2 Nachrichten-Metainformationen
86
4.6 Die Ebene der Service-Interoperabilität
86
4.7 Service-Mediation-Systeme als Service-Router
88
4.7.1 Realisierungsschwerpunkte
90
4.7.2 Systemstatus und -Management
91
4.8 Nicht-funktionale Systemmerkmale
93
4.8.1 Servicequalität (Quality of Service, QoS)
95
4.8.2 Tuning und Skalierbarkeit
96
4.8.3 Zugriffssicherheit, Integrität und Vertraulichkeit
100
4.9 SOA-Systeme und der Architekturstil
102
4.9.1 Stärke der Service-Integration
104
4.10 Entwicklung und praktischer Einsatz
106
4.10.1 Verwendung von offenen Standards
107
4.10.2 Gesichtspunkte der Service- und Systementwicklung
108
4.10.3 Systembetrieb
109
4.11 Praxistraining
110
5 Praktische Einordnung der Service-Mediation-Systeme
112
5.1 Davon handelt dieses Kapitel …
112
5.2 Der Weg durch das Kapitel
112
5.3 Technologiepyramide der Service-Mediation-Systeme
113
5.4 Systemformen und Einsatzbereiche
116
5.5 SOA-Plattformlösungen
119
5.6 Web Service Engines
122
5.7 SOA-Gateways
124
5.8 SOA- Applikationslösungen
127
5.9 Enterprise Service Bus (ESB)
129
5.10 SOA-Management-Systeme
131
5.11 Welche Systemform ist wann geeignet?
134
5.11.1 Typische Bausteine der Service-Mediation-Systeme
135
5.11.2 Nicht-funktionale Systemmerkmale
136
5.12 SOA-Blueprints
139
5.13 Organisatorische Gesichtspunkte
140
5.14 Ein Ausblick auf die zukünftige Entwicklung
141
5.15 Praxistraining
142
6 SOA-Systeme und Java (JSE/JEE)
143
6.1 Davon handelt dieses Kapitel …
143
6.2 Java-Technologie in SOA-Systemen
143
6.3 SOA-Plattformlösungen
146
6.3.1 IoC-Komponenten-Container
146
6.3.2 OSGi-Frameworks
147
6.4 Web Services
148
6.4.1 Java Web Services Developer Pack (JWSDP)
148
6.4.2 Open Source Tools
149
6.4.3 Web Services und Plattform-Interoperabilität
150
6.5 SOA-Gateways
151
6.5.1 Anschlusstechnologien auf der Java-Plattform
151
6.5.2 Service Data Objects (SDO)
151
6.6 SOA- Applikationslösungen
153
6.6.1 Entwicklungs-Frameworks
153
6.6.2 Service Component Architecture (SCA)
154
6.7 Enterprise Service Bus (ESB)
156
6.7.1 JBI V1.0 (JSR 208)
156
6.7.2 ESBs mit Schwerpunkt auf der Nachrichten-Mediation
158
6.7.3 Java-Tuning
158
6.8 XML-Technologien
159
6.8.1 Parser/Serialisierer
159
6.8.2 XML-Framework-Funktionalität
161
6.9 Praxistraining
161
7 Microsofts SOA-Technologien
171
7.1 Davon handelt dieses Kapitel …
171
7.2 Windows und Service-Mediation-Systeme
171
7.3 Windows Communication Foundation (WCF)
173
7.3.1 Von WSE 2.0/3.0 zu WCF
173
7.3.2 WCF und Web Services
174
7.4 Das WCF-Programmiermodell
175
7.4.1 WCF-Contracts
176
7.4.2 Binding
176
7.5 Service-Mediation-Systeme der WCF
178
7.5.1 Erweiterbarkeit
180
7.5.2 Hosting-Modelle der WCF-Services
181
7.5.3 Zugriffssicherheit
183
7.6 Prozesse und Applikationsintegration
184
7.7 Praxistraining
185
8 Web Services
192
8.1 Davon handelt dieses Kapitel …
192
8.2 Web Services als SOA-Basistechnologie
192
8.3 Die technischen Merkmale
193
8.3.1 Architekturmodelle
196
8.4 Web Services in SOA-Systemen
197
8.4.1 Web Service Intermediaries
199
8.5 Entwicklungsrichtungen
199
8.6 REST vs. SOAP
201
8.6.1 Wann REST, wann SOAP?
201
8.7 Toolunterstützung
203
8.8 Praxistraining: Apache Synapse (Java)
203
8.8.1 Web-Service-Erstellung
204
8.8.2 Apache Synapse
212
9 Zusammenspiel von SOA-Services
216
9.1 Davon handelt dieses Kapitel …
216
9.2 SOA und Service-Interoperabilität
216
9.3 Geschäftsprozesse und SOA-Systeme
218
9.4 Programmiertechniken auf der Interoperabilitätsebene
221
9.4.1 Service-Orchestrierung (Orchestration)
222
9.4.2 Service-Choreographie (Choreography)
223
9.5 Praktischer Einsatz von Prozess-Engines
224
9.6 SOA-Systemmodellierung nach MD-SOA
226
9.7 Praxistraining: Nachrichten-Mediation
229
10 SOA-Standards
233
10.1 Davon handelt dieses Kapitel …
233
10.2 Wobei helfen SOA-Standards?
233
10.2.1 Open Source Software (OSS) und Herstellerunabhängigkeit
235
10.3 Standardisierungsgremien
236
10.4 SOA-Standardklassifikation
239
10.5 Transportprotokolle und -verfahren
240
10.6 XML-Standards
242
10.7 Service Contracts
244
10.7.1 XML-Schema (XSD, W3C)
244
10.7.2 Web Services Description Language (WSDL, W3C)
244
10.8 Standards für Service Registry und Repository
245
10.8.1 Universal Description, Discovery and Integration ( UDDI, OASIS)
246
10.8.2 ebXML-Registry ( Services und Protokolle, OASIS-UN/CEFACT)
246
10.9 Nachrichtenprotokolle
247
10.9.1 SOAP, (WS-)MTOM, SwA (W3C)
247
10.9.2 ebXML-Messaging (OASIS)
249
10.9.3 XML-RPC
249
10.9.4 JSON
249
10.10 WS-*-Standards (SOAP-Erweiterungsprotokolle)
250
10.11 Architekturen
252
10.11.1 Representational State Transfer (REST)
252
10.11.2 ebXML (Electronic Business XML, OASIS)
255
10.11.3 Systemmodellierung
257
10.11.4 SOA- Architekturmodelle
257
10.12 Praxistraining
257
11 SOA-Management-Aspekte
259
11.1 Davon handelt dieses Kapitel …
259
11.2 Der organisatorische Rahmen
259
11.3 Systemstrukturierung
261
11.3.1 Die unterschiedlichen Sichten auf ein SOA-System
261
11.4 SOA-Rollenmodelle
263
11.5 Vorgehensmodell
264
11.5.1 Grundlegende Systembetrachtungen
266
11.5.2 Analyse und Spezifikation: Prozesse, Datenmodell, Mapping
267
11.5.3 Funktionsanalyse
267
11.5.4 System-Design
268
11.5.5 Systementwicklung
268
11.5.6 Systemeinführung
269
11.5.7 Systembetrieb und Wartung
270
11.5.8 Anpassungen und Updates
270
11.6 SOA – Wege zur Realisierung
271
11.6.1 Technisch fokussierte Systementwicklung und -einführung
271
11.6.2 Prozess-orientierte Entwicklung
271
11.6.3 Service-Entwicklung, Systembetrieb (Updates)
272
11.7 Die Sicht des IT-Managements
272
11.8 Warum Governance?
274
11.9 Praxistraining
275
12 Antworten und Lösungen zu den Fragen und Praxistrainings
277
12.1 Zu Kapitel 2
277
12.1.1 Fragen aus Kapitel 2.2
277
12.1.2 Praxistraining
278
12.2 Praxistraining Kapitel 3
280
12.3 Praxistraining Kapitel 4
282
12.4 Praxistraining Kapitel 5
283
12.5 Praxistraining Kapitel 10
284
12.6 Praxistraining Kapitel 11
285
Literatur
287
Register
289
© 2009-2024 ciando GmbH