Web Services (WS-*-Familie) Flashcards
WS orientierte Standards
- Alle XML-basiert
- Breite Unterstützung aus der Industrie und initiiert von u.a. W3C
- Web Services Standards Stack
WS-SOAP (Simple Object Access Protocol ) Web Services
Standard zur Definition des Formats einer SOAP-Nachricht (Envelope)
- Kopfdaten (Header, optional)
- Nachrichtenkörper (Body, verpflichtend) enthält den Methodenaufruf
- Als Nachricht sendet der Service auf die Request eine SOAP-Response
- Standard basiert auf XML-RPC (Remote Procedure
Control)
Web Service Description Language (WSDL) (GRAFIK)
Standard zur Definition des XML-basierten Protokolls für die Beschreibung der Aufrufsyntax eines Web-Service und dessen
Lokalisierung (Name, Operationen, Parameter, Rückgabewerte)
Universal Description, Discovery and Integration (UDDI)
- Verzeichnisdienst zur Registrierung und Suche von Web Services
- Stellt WSDLs bereit über HTTP, XML, DNS
- Eher rückläufige Bedeutung –> Problem: Standardisierung der WSDLs zur
automatisierten Vergleichbarkeit der Services
in JAVA: Vorarbeiten
- Installation einer geeigneten IDE mit Unterstützung für Web Service-Entwicklung (Eclipse)
- Installation eines Application Servers (Apache Tomcat 7)
- Anlegen eines Projektes
- Deployment der JAX-WS Referenzimplementierung
- Kopieren der JARs in den Ordner WEB-INF/lib des Projekts
- Installation eines SOAP-Frameworks (Apache)
- Einrichtung in Eclipse über Window/Preferences/Web Services/Axis2
Vorgehen Top-Down
- Erstellung einer XML Schema Definition für die fachlichen Entitäten
- Erstellung einer WSDL-Datei basierend auf der XSD Generieren der Java-Klassen
- Erstellen der Web Service-Implementierung zum generierten Interface Deployen auf den Server
(Anpassen der server.xml und der web.xml) - Run as…/Run on server
SOAP (TABELLE vs REST)
Schnittstelle hat eine „statische Typisierung“ –> Operationen und Parameter in WSDL.
Client und Server über WSDL verbunden –> Clients hängen immer von Schnittstelle eines Service ab.
Neue Version der WSDL –> müssen alle Clients sofort und zeitgleich auf die neue Schnittstellenversion migriert werden. Durch Firewalls Zugriff komplett oder gar nicht erlauben.
REST (TABELLE vs SOAP)
„dynamische Schnittstelle“, einfach erweitert oder angepasst werden (Hinzufügen weiterer Felder ist z.B. einfach möglich). Clients verbinden sich nur mit den Teilen der Schnittstelle, die sie wirklich benötigen –> Clients nicht angepasst werden. Zugriff über Methode und URL