WebServices WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg 26.09.2002 Inhalt des Vortrags WebServices Überblick WSDL (WebService Description Language) AXIS (OpenSource Framework für Java) – – Architektur Praktischer Einsatz Überblick WebServices Was ist ein WebService? Sun Microsystems: ”Web services are software components that can be spontaneously discovered, combined, and recombined to provide a solution to the user’s problem/request. The Java language and XML are the prominent technologies for Web services.“ Überblick Was ist ein WebService? WebServices Lose gekoppelte, plattform- und implementierungsunabhängige Softwarekomponente. Ein WebService kann: • beschrieben (mit WSDL) • aufgerufen (SOAP-Nachr. z.B. mit AXIS) • veröffentlicht (z. B. in UDDI-Registry) • gesucht (z.B. mit UDDI) • verknüpft (mit anderen WebServices) werden. Überblick SOA Serviceorientierte Architektur WebServices UDDI: Yellow-, Whiteund Green-Pages Service Beschreibung WSDL SOAP Service Beschreibung WebService Client Server WSDL Überblick Ein WebService aus ökonomischer Sicht WebServices • Integration von Funktionen einer Applikation (intern und extern) • „Just in Time“-Integration Überblick Ein WebService aus technischer Sicht WebServices • Sammlung zusammengehöriger Operationen, die über ein Netzwerk zugänglich sind • Konzept nicht vollkommen neu (siehe CORBA usw.) • maschinenlesbares WWW (Google-WebService) Überblick Technologie - Stack BPEL4WS, BPML WebServices UDDI WSDL SOAP HTTP(S), HTTPR, SMTP, FTP, usw. Überblick SOAP Simple Object Access Protocol WebServices •Lightweight Message Protokoll •Plattformunabhängiges KommunikationsProtokoll in verteilten Systemen Austausch von Nachrichten •Besonders geeignet für RPC •Transport-Binding über darunterliegendes Transport-Protokoll •Struktur wird in XML definiert •zustandslos Inhalt des Vortrags WebServices Überblick WSDL (WebService Description Language) AXIS (OpenSource Framework für Java) – – Architektur Praktischer Einsatz WSDL Web Service Description Language • XML-basiertes Protokoll • ursprünglich entwickelt von Ariba, IBM und MS (jetzt: W3C) WebServices • WSDL 1.1 (seit März 2001) • WSDL 1.2 Working Draft (Juli 2002) • WSDL beschreibt: • WAS ein WebService macht (angebotenen Methoden) • WIE auf einen WebService zugegriffen werden kann (Daten-Formate und Protokolle) • WO eine WebService zu finden ist (z.B. über URL) WSDL WebServices Informations - Modell WSDL Transmission Primitives WebServices Request-Response Oneway Notification Solicit-Response Inhalt des Vortrags WebServices Überblick WSDL (WebService Description Language) AXIS (OpenSource Framework für Java) – – Architektur Praktischer Einsatz Sicherheit AXIS WebServices Apache eXtensible Interaction System • OpenSource-Framework (Java) für den Entwurf, Einsatz und Konsum von WebServices • Nachfolger von Apache SOAP • SAX statt DOM • Komponentenbasierter Einsatz • Einfaches Transport-Framework (Sender u. Listener für HTTP, SMPT usw.) • SOAP-Engine ist SOAP 1.1-konform. SOAP 1.2 wird bereits in Teilen unterstützt. • Als Stand-Alone-Server oder Integration in ServletContainer (Tomcat) möglich • Verschiedene WSDL-Verarbeitungstools • Kenntnisse über SOAP und WSDL nicht zwingend nötig Überblick JAX Java API for XML WebServices UDDI: Yellow-, Whiteund Green-Pages Service Beschreibung JAX-R WSDL JAX-R SOAP Service Beschreibung AXIS Client JAX-RPC JAX-M WebService Server WSDL AXIS Nachrichtenweg auf dem Server Message Context WebServices Transport Listener Ziel-Service Zurück zum Listener AXIS Nachrichtenweg auf dem Client WebServices Message Context Fazit • Problem: automatische Bewertung aller Konditionen für das günstigste Angebot WebServices • WebService-Idee überzeugt, aber: schleppender Anlauf •Konkurrierende Spezifikationen verzögern die Entwicklung zusätzlich • lange Entwicklungsezit umfassender Sicherheitsspezifikationen (WS-Security) Erfolg erst mit WebServices der 2. Generation WebServices Danke für Ihre Aufmerksamkeit Diesen Vortrag sowie die Diplomarbeit mit ausführlicheren Informationen finden finden Sie unter: http://webservices.elektronengehirn.net