Inhalt | 6 |
Vorwort | 12 |
Teil I: Einführung und Grundlagen | 16 |
Das Ziel dieses Buches | 17 |
Der Aufbau des Buches | 18 |
1 SOA Grundlagen | 20 |
1.1 Einleitung | 20 |
1.2 Der Begriff SOA | 21 |
1.2.1 Die Sichtweise der Analysten | 21 |
1.2.2 Die Definitionen der großen Hersteller | 22 |
1.3 Der Service als Grundkomponente | 23 |
1.3.1 Dienste statt Applikationen | 24 |
1.3.2 Service Layering | 25 |
1.4 Die wichtigsten Standards | 26 |
1.4.1 Web Services | 26 |
1.4.2 SOAP und WSDL | 29 |
1.4.3 Business Process Execution Language (BPEL) | 33 |
1.5 Zusammenfassung | 37 |
2 Das SOA-Modell | 39 |
2.1 Einleitung | 39 |
2.2 Das SOA-Modell | 40 |
2.2.1 Die Architektur des SOA-Modells | 40 |
2.2.2 Eigenschaften des SOA-Modells | 42 |
2.2.3 Die wichtigen Ebenen des Modells | 42 |
2.3 Referenz-Modelle | 44 |
2.3.1 Das OASIS Referenzmodell für SOA | 45 |
2.3.2 Das SOA Meta Model des W3C | 47 |
2.3.3 Das generische Unternehmen | 49 |
2.4 Die SOA-Modelle der Hersteller | 53 |
2.4.1 Das SOA Modell von IBM | 54 |
2.4.2 Das SOA-Modell von SAP | 57 |
2.4.3 Das SOA-Modell von Oracle | 61 |
2.4.4 Das SOA-Modell von Microsoft | 65 |
2.4.5 Das SOA-Modell der Open Source-Gemeinde | 69 |
2.5 Hintergrund: SOA als Software- Architekturstil | 72 |
2.5.1 Software- Architekturstile | 73 |
2.5.2 Relevanz für SOA | 75 |
2.6 Zusammenfassung | 76 |
Teil II: Die Bestandteile von SOA | 79 |
Die SOA-Komponenten auf einen Blick | 79 |
3 Die Presentation-Ebene | 83 |
3.1 Einleitung | 83 |
3.2 Portale | 84 |
3.2.1 Was ist ein Portal? | 85 |
3.2.2 Unternehmensportale | 85 |
3.2.3 Hintergrund: Portalarchitekturen | 86 |
3.2.4 Standards | 89 |
3.2.5 Relevanz für die Praxis | 90 |
3.3 Office- Anwendungen | 90 |
3.3.1 Hintergrund: Information Bridge Framework | 91 |
3.3.2 Standards | 92 |
3.3.3 Relevanz für die Praxis | 93 |
3.4 Client Applications | 93 |
3.4.1 Rich Clients und Web Clients | 94 |
3.4.2 Szenarien für den Einsatz | 94 |
3.4.3 Relevanz für die Praxis | 95 |
3.5 Zusammenfassung | 96 |
4 Die Orchestration-Ebene | 97 |
4.1 Einleitung | 97 |
4.2 WFMS – Technik für ausführbare Prozesse | 98 |
4.2.1 Klassifizierung von Geschäftsprozessen | 99 |
4.2.2 Das Workflow Management Referenzmodell | 100 |
4.2.3 Die WfMC Workflow Reference Architecture | 102 |
4.2.4 Relevanz für die Praxis | 103 |
4.3 Business Process Management | 104 |
4.3.1 Die Bedeutung vom BPM für ein Unternehmen | 104 |
4.3.2 SOA und BPM | 105 |
4.3.3 Standards | 106 |
4.3.4 Modellierung und Umsetzung von Prozessen | 107 |
4.3.5 Erweiterungen von BPEL | 107 |
4.3.6 Relevanz für die Praxis | 108 |
4.4 Rule Engines | 108 |
4.4.1 Einsatzgebiete von Rule Engines | 109 |
4.4.2 Definition von Geschäftsregeln | 109 |
4.4.3 Aufbau einer Rule Engine | 110 |
4.4.4 Hintergrund: Business Rule Group | 111 |
4.4.5 Keine Geschäftsregeln ohne Rule Engine | 112 |
4.4.6 Relevanz für die Praxis | 113 |
4.5 Zusammenfassung | 113 |
5 Die Service-Ebene | 115 |
5.1 Einleitung | 115 |
5.2 Service Management | 116 |
5.2.1 Hintergrund: ITSM | 117 |
5.2.2 Die SOA Service Management Toolbox | 118 |
5.2.3 Realisierungsvariante | 119 |
5.2.4 Web Services Management Framework | 120 |
5.2.5 Web Service Management-Standards | 121 |
5.2.6 Relevanz für die Praxis | 122 |
5.3 Service Interface | 122 |
5.3.1 Interface Types | 123 |
5.3.2 Relevanz für die Praxis | 124 |
5.4 Specialized Services | 125 |
5.4.1 Conversion und Transformation Services | 125 |
5.4.2 Der Conversion Service | 126 |
5.4.3 Der Transformation Service | 128 |
5.4.4 Output Management | 130 |
5.4.5 Relevanz für die Praxis | 133 |
5.5 Zusammenfassung | 133 |
6 Die Integration Architecture-Ebene | 135 |
6.1 Einleitung | 135 |
6.2 Traditionelle Integrationsarchitekturen | 136 |
6.2.1 EAI | 138 |
6.2.2 Middleware | 141 |
6.2.3 Die Klassiker: CORBA und Messaging | 142 |
6.2.4 SOA und EAI | 146 |
6.2.5 Relevanz für die Praxis | 147 |
6.3 Logical Integration | 147 |
6.3.1 Struktur einer logischen Integration | 147 |
6.3.2 Umsetzung der traditionellen Integrationsarchitektur | 148 |
6.3.3 Relevanz für die Praxis | 149 |
6.4 Enterprise Service Bus | 150 |
6.4.1 Grundlegender Aufbau | 151 |
6.4.2 EAI Patterns als Orientierungshilfe | 152 |
6.4.3 Eigenschaften eines ESB | 152 |
6.4.4 Relevanz für die Praxis | 154 |
6.5 Data Integration | 154 |
6.5.1 Eigenschaften eines EII | 155 |
6.5.2 Aufbau eines EII | 156 |
6.5.3 Relevanz für die Praxis | 157 |
6.6 Zusammenfassung | 157 |
Teil III: Mit SOA Lösungen realisieren | 159 |
7 SOA einführen | 161 |
7.1 Einleitung | 162 |
7.1.1 Besonderheiten einer SOA-Lösung | 163 |
7.2 Presentation: Input Validation und Screen Flow | 163 |
7.2.1 User Input Validation | 163 |
7.2.2 Screen Flow | 164 |
7.3 Orchestration: Prozessmodellierung | 165 |
7.4 Services: Gestaltungsprinzipen | 168 |
7.4.1 Design-Techniken für Services | 169 |
7.4.2 Über den Bau von Services | 171 |
7.4.3 Nichtfunktionale Systemeigenschaften und SOA | 172 |
7.4.4 Die Prinzipien des Software Engineerings und SOA | 173 |
7.4.5 Die gute Service-Schnittstelle | 176 |
7.5 Services: Servicelandkarten | 178 |
7.6 Services: Beschreibung von Diensten | 178 |
7.6.1 Beispiel einer Servicebeschreibung | 179 |
7.6.2 Ein Lebenszyklus für Dienste | 180 |
7.7 Integration: Standards | 181 |
7.8 Grundlegende Aspekte | 181 |
7.8.1 Der Einfluss von SOA auf eine IT-Organisation | 182 |
7.8.2 System Engineering | 184 |
7.8.3 Produktwahl | 185 |
7.9 Einführungsstrategien | 186 |
7.9.1 Top-Down | 186 |
7.9.2 Bottom-Up | 187 |
7.9.3 Meet-In-the-Middle | 188 |
7.9.4 Erfolg durch die schrittweise Einführung | 188 |
7.10 Zusammenfassung | 189 |
8 Weiterverwendung von Systemen | 192 |
8.1 Einleitung | 192 |
8.2 Welche Systeme sich eignen | 193 |
8.2.1 Der Einfluss von SOA auf den Lebenszyklus eines IS | 193 |
8.2.2 Was genau ist ein Legacy-System? | 195 |
8.2.3 Service Call und Legacy-System | 196 |
8.2.4 Standard Produkte | 196 |
8.2.5 Relevanz für die Praxis | 197 |
8.3 Techniken der Modernisierung bestehender Systeme | 198 |
8.3.1 White Box- und Black Box-Modernisierung | 198 |
8.3.2 Funktionale Black Box-Modernisierung | 198 |
8.3.3 Black Box-Modernisierung für Daten | 202 |
8.3.4 White Box-Modernisierung | 203 |
8.4 Modernisierung für SOA | 208 |
8.4.1 Screen Scraping mit SOA | 208 |
8.4.2 Batch Call mit SOA | 210 |
8.4.3 OO-Wrapping und SOA | 212 |
8.4.4 Component Wrapping und SOA | 213 |
8.4.5 Ein Database Gateway als Service | 214 |
8.4.6 XML Integration mit Services | 216 |
8.4.7 Database Replication und SOA | 217 |
8.4.8 Die geplante Restrukturierung einer Anwendung | 217 |
8.4.9 Refactoring und SOA | 222 |
8.4.10 Syntax-Analyse für SOA | 222 |
8.4.11 Restrukturierung und Übersetzung für SOA | 222 |
8.5 Einsatz für die Weiterverwendung | 223 |
8.5.1 Die Auswahl der richtigen Technik für die Weiterverwendung | 223 |
8.5.2 Struktur und Alter eines Systems als Auswahlkriterium | 224 |
8.5.3 Kosten der Modernisierung als Auswahlkriterium | 224 |
8.5.4 Vor- und Nachteile der Black Box-Modernisierung für SOA | 225 |
8.5.5 Vor- und Nachteile der White Box-Modernisierung für SOA | 226 |
8.6 Konsolidierung bestehender Anwendungen | 228 |
8.6.1 Vorgehen für die Konsolidierung | 229 |
8.6.2 Relevanz für die Praxis | 231 |
8.7 Zusammenfassung | 231 |
9 Migration von Legacy-Systemen | 233 |
9.1 Einleitung | 233 |
9.2 Vorgehensstrategien für die Migration | 234 |
9.2.1 Hintergrund: Reverse Engineering / Reengineering | 234 |
9.2.2 Parallelbetrieb zweier separater Systeme | 236 |
9.2.3 Parallelbetrieb in einem integrierten System | 238 |
9.2.4 Migration einzelner Komponenten | 240 |
9.2.5 Relevanz für die Praxis | 242 |
9.3 Migrationen mit SOA | 244 |
9.3.1 SOA-Nutzen für die Migration | 244 |
9.3.2 Vorgehen | 245 |
9.4.2 Big Bang / Cold Turkey | 251 |
9.4 Einsatz-Szenarien für die Migration | 251 |
9.4.1 Umsetzung der Migrationsstrategien | 251 |
9.4.3 Parallelbetrieb zweier separater Systeme | 251 |
9.4.4 Parallelbetrieb in einem integrierten System | 252 |
9.4.5 Migration einzelner Komponenten | 253 |
9.5 Zusammenfassung | 254 |
10 Schnittstellenbau mit SOA | 256 |
10.1 Einleitung | 256 |
10.2 Der Aufbau einer Schnittstelle | 257 |
10.2.1 Die Komponenten einer Schnittstelle | 258 |
10.3 Konventionelle Lösungsansätze | 260 |
10.3.1 Ausprogrammierte Schnittstelle | 260 |
10.3.2 Software-Converter | 263 |
10.3.3 Extract, Transport & Load | 266 |
10.3.4 Frameworks | 267 |
10.3.6 Exkurs: Intelligente Schnittstellen | 272 |
10.3.5 Gegenüberstellung verschiedener Interface-Realisierungen | 272 |
10.4 Die SOA-Schnittstellen-Architektur | 273 |
10.4.1 SOA-Komponenten lösen Schnittstellenprobleme | 273 |
10.4.2 Realisierung von Schnittstellen-Komponenten mit SOA | 274 |
10.4.3 Der Aufbau der SOA Schnittstellen-Architektur | 275 |
10.5 Einsatzvarianten der SOA Schnittstellen-Architektur | 276 |
10.5.1 Umsetzung der konventionellen Lösungsansätze | 276 |
10.5.2 Methoden- oder meldungsorientierte Realisierung? | 276 |
10.5.3 Einführendes Beispiel | 277 |
10.5.4 Methodenorientierte Realisierung | 278 |
10.5.5 Meldungsorientierte Realisierung | 280 |
10.6 Zusammenfassung | 284 |
11 Master Data Management | 286 |
11.1 Einleitung | 286 |
11.2 Ausgangslage | 287 |
11.2.1 Mehrfachhaltung von Daten | 287 |
11.2.2 Der Begriff Stammdaten | 288 |
11.2.3 Die Grundidee: Anwendungen und Datenhaltung | 288 |
11.2.4 Anforderung an Master Data Management-Systeme | 291 |
11.3 Lösungsstrategien für Master Data Management | 292 |
11.3.1 Techniken der Datenintegration | 292 |
11.3.2 Master Data Management-Architekturen | 296 |
11.4 Master Data Management mit SOA | 299 |
11.4.1 SOA und MDM | 299 |
11.4.2 Die Einschränkungen der Lösungen diverser Hersteller | 301 |
11.4.3 Eine auf SOA basierende MDM-Architektur | 301 |
11.4.4 MDM-Architekturen mit SOA realisieren | 304 |
11.5 Zusammenfassung | 310 |
Literatur | 312 |
Register | 324 |