1 Einleitung
1.1 Zielgruppen
1.2 Warum WebServices und nicht SOA?
1.3 Warum mit Java?
1.4 Didaktische rAnspruch
2 Das Beispiel als Rückgrat des Buches
2.1 Über den Sinn und Unsinn von Beispielen
2.1.1 Das Fallbeispiel – autodidaktisch
2.2 Was kann man den Kapiteln entnehmen?
2.2.1 Beispielszenarien
2.2.2 Die Kapitel und ihre Operationen, Nachrichten und Prozesse
3 HistorischerAbriss
3.1 Aktuelle und artverwandte WS-Technologien
3.1.1 Fazit oder der Begriff des Service
3.2 Technologische Fakten
3.2.1 WS-I Basic-Profile 1.1
3.3 Eine Bilanz
3.4 Zusammenfassung
4 Werkzeuge, Spezifikationen und Arbeitsumgebung
4.1 Überblick
4.2 Java API for XML Web Services–JAX-WS33
4.3 Metro Web Service Stack
4.4 Java Development Kit und Web Services
4.4.1 Überblick
2 Java Endorsed Standards Override Mechanism
4.4.3 JAX-WS RI unter J2SE 5.0
4.5 Dem API-Versionsdilemma entkommen – praktischeTipps
4.6 Open ESB–GlassFish Enterprise Service Bus
4.7 Apache-Ant-Build-Werkzeug und Ant Tasks für Web Services
4.8 Die Eclipse-Entwicklungsumgebung
4.9 Microsoft Visual Studio C# Express
4.10 Zusammenfassung
4.11 Checkliste
5 Serviceorientierte Architektur
5.1 Überblick
5.2 Serviceorientierte Architektur
5.3 Dienste
5.4 Bestandteile, technische Ebenen
5.5 SOA und Web Services
5.6 Governance, SOA und Web Services
5.7 Zusammenfassung
6 Web-Service-Protokolle
6.1 Einführung
6.2 Ein kurzer Ausflug in die Welt von XML und XML-Schema
6.2.1 XML (eXtensible Markup Language)
6.2.2 Zusammenfasssung
6.2.3 XML-Namensräume
6.2.4 Zusammenfasssung
6.2.5 XML-Schema
6.2.6 Zusammenfassung
6.3 SOA Pals Kommunikationsprotokoll
6.3.1 Prolog
6.3.2 Was ist SOAP?
6.3.3 SOAP-Versionen
6.3.4 SOAP und Web Services
6.3.5 Weg einer SOAP-Nachricht
6.3.6 Aufbau einer einfachen SOAP-Nachricht
6.3.7 SOAP-Nachrichtenverfahren
6.3.8 SOAP und Herr Kainer
6.3.9 SOAP-Binding
6.4 Zusammenfassung
6.4.1 Übungsaufgaben
7 Web Services und die Web Service Description Language
7.1 Überblick
7.2 Was ist ein Web Service?
7.3 Web Service Description Language(WSDL)
7.3.1 Geschichte
7.3.2 WSDL 1.1
7.3.3 WSDL 2.0
7.3.4 Welce WSDL-Version und welche Web-Service-Enginenutzen?
7.4 Von WSDL zum Dienst–Contract-First-Ansatz
7.4.1 Der Contract-First-Ansatz
7.4.2 Dienst: WSDL anlegen und Java-Dienst-Stub generieren
7.4.3 Dienst: Den Dienstschreiben
7.4.4 Dienst: Ein einfacher Dienst-Starter
7.4.5 Dienstenutzer: WSDL finden und Java-Part generieren
7.4.6 Ein einfacher Dienstenutzer
7.5 Von Java zum Dienst–Code-First-Ansatz
7.5.1 Der Code-First-Ansatz
7.5.2 JAX-WS-Unterstützung für den Code-First-Ansatz
7.5.3 Einen Dienst entwickeln
7.5.4 Ein einfacher Dienst-Starter
7.5.5 EineinfacherDienstenutzer
7.6 Versionierung von Diensten
7.6.1 Überblick
7.6.2 Eine Strategie
7.7 Web-Service-Design und Governance
7.8 Zusammenfassung
7.9 Übungsaufgaben
8 Nachrichteninhalte beeinflussen – Handler
8.1 Überblick
8.2 Handler und Handlerkette
8.2.1 Was sind Handler?
8.2.2 Was zu beachten ist
8.2.3 JAX-WS-Technologie und Handler
8.3 Handler-Typen
8.3.1 Handler auf Ebene der vollständigen Nachricht
8.3.2 Handler auf Ebene der Nutzdaten
8.4 Das Beispiel: Konfiguration und Laufzeit
8.5 Zusammenfassung
8.6 Übungsaufgaben
9 Vom lokalen System zum Enterprise Service Bu3
9.1 Überblick
9.2 Der Enterprise Service Bus
9.3 Unser ESB: OpenESB oder auch GlassFish Enterprise Servie Bus
9.4 Installation und Konfiguration in unsere Eclipse-Umgebung
9.5 Ein Beispiel: ATM-Dienst im Enterprise Service Bus
9.5.1 De nDiensteanbieter entwickeln
9.5.2 Dienst installieren und testen
9.5.3 Den Dienstenutzer vorbereiten
9.5.4 Den Dienstenutzer entwickeln
9.6 Logging von HTML-Header und SOAP-Nachrichten
9.7 Haken und Ösen
9.8 Zusammenfassung
10 Metadaten und Interoperabilität von Diensten
10.1 Überblick
10.2 Richtlinien an Dienste formulieren: WS-Policy
10.2.1 Ziele von WS-Policy
10.2. 2WS-Policy im Detail
10.3 Routing der Nachrichten: WS-Addressing
10.3.1 Überblick
10.3.2 Sezifikation
10.3.3 Adressangaben in unserem Beispiel
10.4 Bootstrapping, Metadaten und Transfer
10.4.1 Austausch von Metadaten: WS-Transfer
10.4.2 Austausch der Metadaten: WS-Metadata Exchange
10.5 Web Service Interoperability Technologies (WSIT) und Metro
10.5.1 Bestandteile
10.5.2 Ein illustrierendes Beispiel
10.5.3 Ausblick
10.6 Zusammenfassung
10.7 Übungsaufgaben
11 Message Optimization
11.1 Überblick
11.2 XML-binary Optimized Packaging (XOP)
11.3 SOAP Message Transmission Optimization Mechanism
11.4 Policies für SOAP MTOM
11.5 Ein Beispiel: Einen Kredit beantragen
11.5.1Kreditantrag – Standardvariante
11.5.2Kreditantrag – MTOM-Variante
11.6 Zusammenfassung
11.7 Übungsaufgaben
12 Reliable Messaging Technology
12.1 Überblick
12.2 Die Technologie
12.3 Policies für das Reliable Messaging
12.3.1 Standard-Policies
12.3.2 Erweiterungen der Hersteller
12.4 Garantierte Nachrichtenübertragung und der ATM-Dienst
12.5 Zusammenfassung
12.6 Übungsaufgaben
13 Web-Service-Sicherheit
13.1 Einführung
13.1.1 Die Struktur des Kapitels
13.2 Basisbegriffe
13.2.1 WS-Security und seine Bedeutung
13.2.2 Integrität und Diskretion
13.2.3 Rolle des WS-Security-Standards
13.2.4P KI–oder das Schlüsselerlebnis
13.2.5 XML-Encryption und XML-Signature
13.3 Nachrichtensicherheit mit SSL/TLS
13.3.1SSL/TLS mit dem GlassFish ESB
13.4 Präparation des GlassFish ESB
13.4.1 Installation und Aktualisierung der GlassFish SSL-Zertifikate
13.4.2 Installation und Aktualisierung der GlassFish SSL-Zertifikate
13.4.3 Konfiguration eines autorisierten GlassFish-Benutzes
13.5 Beispiel: SSL-Verschlüsselung für Diensteanbieter und- nutzer
13.5.1 Diensteanbieter
13.5.2 Dienstenutzer
13.5.3 Zusammenfassung
13.6 Beispiel: Authentifizierung von Benutzernamen
13.6.1 Diensteanbieter
13.6.2 Dienstenutzer
13.6.3 Zusammenfassung
13.7 Beispiel: Nachrichtensicherung über Zertifikate
13.7.1 Densteanbieter
13.7.2 Dienstenutzer
13.8 Zusammenfassung
13.8.1 Checklise
13.8.2 Übungsaufgaben
14 WebServiceTransaktionen
14.1 Überblick
14.2 Transaktionen
14.3 Web Services Transactions (WS-Transaction)
14.3.1 WS-Coordination
14.3.2 WS-Atomic Transaction
14.3.3 WS-Business Activity
14.4 Hinter den Kulissen – Verbindungen und Nachrichten
14.5 Web Services und Transaction-Policy
14.6 Zusammenspiel von Dienst und Ressourcen
14.7 Erweiterung des ATM-Dienstes
14.7.1 Operationen transaktional sichern – Teil 1
14.7.2 Der Dienstenutzer
14.8 Zusammenfassung
14.9 Übungsaufgaben
15 Business-Prozesse
15.1 Überblick
15.2 Prozesse und Dienste
15.3 Business Process Excecution Language – BPEL
15.4 Erweiterung des ATM-Beispiels
15.4.1 Das Beispiel
15.5 Zusammenfassung
15.6 Übungsaufgaben
16 REST
16.1 REST? Der Rest von was?
16.2 Abgrenzung und Vergleich zu SOAP
16.2.1 Methoden
16.2.2 Ressourcen
16.2.3 Standards
16.2.4 Nachrichten
16.2.5 Status und Session
16.2.6 Sicherheit
16.2.7 Vor- und Nachteile
16.3 REST und Herr Kainer
16.3.1 Java API for RESTful Services
16.3.2 Installation der REST-Bibliotheken
16.3.3 Beispiel: Anzeige von Fördermöglichkeiten
16.3.4 Zusammenfassung
17 Web Services ohne Web und SOA
17.1 Typische Problemfälle
17.2 Reifegradmodelle
17.3 Governance
17.4 Wiederverwendung
17.5 Herausforderungen
17.5.1 Technische Herausforderungen
17.5.2 Menschliche Herausforderungen
17.6 Checkliste? .
17.6.1 Fazit
A Unterschiede zwischen SOAP Version 1.1 und 1.2
A.1 Dokumentstruktur
A.2 Zusätzliche oder geänderte Syntax
A.3 SOAP-Bindung an HTTP
Anhang
B Web-Service-Standards im Überblick
C Lösungen zu den Übungsaufgaben
C.1 Lösungen zu Kapitel 6
C.2 Lösungen zu Kapitel 7
C.3 Lösungen zu Kapitel 8
C.4 Lösungen zu Kapitel 10
C.5 Lösungen zu Kapitel 11
C.6 Lösungen zu Kapitel 12
C.7 Lösungen zu Kapitel 13
C.8 Lösungen zu Kapitel 14
C.9 Lösungen zu Kapitel 15
Literaturverzeichnis
Index