Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Inhalt Veränderung im World Wide Web SOAP, die Sprache der Web Services Was sind Web Services? WSDL (web service description language) für die Beschreibung.

Ähnliche Präsentationen


Präsentation zum Thema: "Inhalt Veränderung im World Wide Web SOAP, die Sprache der Web Services Was sind Web Services? WSDL (web service description language) für die Beschreibung."—  Präsentation transkript:

1 Inhalt Veränderung im World Wide Web SOAP, die Sprache der Web Services Was sind Web Services? WSDL (web service description language) für die Beschreibung von Web Services UDDI als ein universelles Verzeichnis von Web Services Szenarien für den Einsatz von Web Services Entwickeln von Web Services mit Microsoft.NET Framework und VS.NET

2 Einseitige Nutzung des WWW Keine Trennung von Inhalt und Layout Statische und nicht standardisierte Darstellung (statisches HTML) Hauptsächlich grafische Orientierung B2B-Datenaustausch scheitert oft an unterschiedlichen Formaten und Prozessen

3 Nachteile bisheriger Lösungsansätze: komplexe Kommunikation (Objekte) verbindungsorientiert (viele Pakete werden ausgetauscht, um die Sitzung zu starten/aufrechtzuerhalten) plattformabhängig proprietäre Sicherheitseinstellungen Methoden untereinander inkompatibel (CORBA, RMI etc.) Arbeitet nicht über Domänen- oder Firewallgrenzen hinweg

4 Software-Wiederverwendung Ursprünglich lokal in Bibliotheken (.dll) Später Komponentenarchitektur z.B. –Java-Beans) –COM(+)-Komponenten –CCM bei CORBA Heute vorwiegend Frameworks Wunschdenken: Dynamische Einbindung von entfernten Komponenten, Zugriff über URL

5 Warum ein neues Protokoll? Einheitliches Protokoll auf Client und Server-Seite Kein Ballast oder überflüssige Spezialisierung Nur dieselbe Plattform kann miteinander sprechen (COM mit COM, EJB mit EJB, ORB mit ORB) Unterschiedliche Syntax für Methodenaufrufe

6 SOAP - Idee HTTP-POST/GET als Transportprotokoll, weil transparent und standardisiert Umgehung von Firewalls HTTP-Content: XML Arbeitet zusammen mit: –Jedem Betriebssystem –Jeder Programmiersprache –Jeder Plattform (…für die eine SOAP- Implementierung existiert) Apache Axis SOAP Server Apache SOAP 2.2 Server WhiteMesa 2.7 SOAP Server IONA XMLBus SOAP::Lite EasySOAP++ 4S4C Microsoft ASP.NET Web Services

7 Kommunikation mit SOAP SOAP-Nachrichten sind entweder Anfragen oder Antworten Nachricht (SOAP Envelope) ist unterteilt in SOAP Header und SOAP Body Anfragen enthalten das angesprochene Ziel sowie die in- in/out-Parameter. Antworten umfassen entweder das Resultat einer Anfrage oder einen Fehlercode (bzw. Exception Stack) Prinzipiell jedes standardisierte Kommunikationsprotokoll verwendbar

8 SOAP - technisch

9

10 SOAP request POST /soap HTTP/1.0 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: 516 SOAPAction: "" USA germany

11 SOAP response HTTP/ OK Date: Sun, 11 Nov :40:48 GMT Content-Type: text/xml Server: Electric/1.0 Connection: Keep-Alive Content-Length: 492

12 SOAP fault message HTTP/ Internal Server Error Date: Sun, 11 Nov :49:19 GMT Content-Type: text/xml Server: Electric/1.0 Connection: Keep-Alive Content-Length: 515 soap:Server no service found with address urn:xmethods-CurrencyExchange2

13 Benutzung von SOAP Serialisierung/Deserialisierung der Objekte wird durch SOAP-Implementierung übernommen Spezielle Serialisierer/ Deserialisierer für komplexere, selbstdefinierte Objekttypen Für Web Service und Client nötige Beschreibung der SOAP-Nachrichten durch WSDL

14 Was ist ein Web Service? Ein Web Service ist eine Anwendung, die ihre Methoden über eine Schnittstelle nach außen zur Verfügung stellt Server-Logik wird gekapselt Die öffentlichen Methoden eines Web Service werden vom Client aufgerufen, als wären sie Teil des Programms

15 Web Services für Entwickler Web Service als dynamisch angesprochener Baustein (Infrastruktur oder Business-Logik- Komponente) einer Anwendung Komponenten müssen nicht mehr lokal erreichbar sein Keine Installation Web Services können in unterschiedlichen Programmiersprachen implementiert sein, wenn es SOAP-Implementierungen für diese Sprache gibt

16 Web Services für Entwickler Interoperabilität zwischen Programmiersprachen und Plattformen Basis einer Vielzahl von B2x-Applikationen Herausforderungen für den Entwickler: –Programmiermodell –Verständnis für Protokolle und Serialisierung –Auffinden von Services

17 Web Services und Objektorientierung Kein zugrunde liegendes Objektmodell auf Implementierungsebene (wie bei CORBA oder COM) SOAP ist verbindungslos Client hat keinerlei Anhaltspunkt, ob er bei zwei Aufrufen dasselbe Objekt erreicht WebService kann verschiedene Clients ohne Zusatzaufwand nicht auseinanderhalten Web Service eher wie ein Modul

18 Beschreibung eines Web Service Der Benutzer eines Web Service muss wissen Welche Methoden werden angeboten? Welche Parameter erwarten die Methoden (einschl. der Datentypen)? Welche Werte liefern sie zurück? –> WSDL: Web Service Description Language WSDL wird von IBM und Microsoft forciert und vielen anderen unterstützt Interoperables XML-Format

19 WSDL: Web Service Description Language WSDL enthält –den Syntax des Service –die Bindung an ein bestimmtes Netzprotokoll –die Festlegung des Übertragungsformats –die Zuordnung zu bestimmten Internetadressen (URIs) WSDL-Datei –Auf Web Server: nötig zum Anmelden des Web Service, damit Anfragen korrekt weitergeleitet werden –Auf Client: nötig, um zu wissen wie der Web Service angesprochen/benutzt wird dynamische Einbindung neuer Services möglich

20 UDDI - Universal Description, Discovery, and Integration Verzeichnis in der Form eines Internet- Branchenbuches Listet Firmen-Informationen und öffentliche Web Services inkl. WSDL-Datei

21 Geschäfte mit Web Services Infrastrukturdienste (Benutzerauthentifizierung, Backup usw.) nahtlos aus externen Quellen Konzentration auf Business-Komponenten statt Infrastruktur Remote-Administration und Überwachung Verbindung interner und externer Dienste Interoperabilität deutlich verbessert durch allgemein akzeptierte Standards wie SOAP, WSDL, UDDI Entsprechende Entwicklungsumgebungen erhöhen die Produktivität, vermindern die Time-to-Market

22 Risiken und Probleme Standards noch in der Diskussion Herstellerunabhängigkeit derzeit nicht gewährleistet Sicherheit und Authentifizierung ungeklärt Höhere Dienste wie Multimedia nicht gesichert Lizenzierung und Abrechnung bei ASP-Ansatz unklar Technologie sehr neu und unreif, aber große Akzeptanz bei allen Global Players der IT-Branche (IBM, Microsoft, Sun, HP, etc.) Abhängigkeit von der Verfügbarkeit der Services in den Architekturen

23 Anwendungsmöglichkeiten Software als Service: Application Service Providing (ASP) wird durch Web Services deutlich vereinfacht (Billing etc. noch unklar) Integration in Unternehmensanwendungen Geschäftsprozesse webtauglich machen, im Hause und beim Kunden Konsistente Datenverarbeitung mit XML Integration/Zusammenführung von Informationsinseln mit Web Services –Kunden –Online-Shop –Zulieferer –Kundendienst –Verkauf

24 Web Services in C# NamespaceBedeutung System.WebServicesalle erforderlichen Typen zur Erstellung eines WebServices System.WebServices.DescriptionKommunikation mit WSDL System.WebServices.DiscoveryProgrammgesteuerte Festellung eines WebServices über DISCO-Dateien System.WebServices.ProtocolsTypen, die die Leistungsprotokolle HTTP GET, http POST und SOAP darstellen Überblick Webdienst-Namespaces

25 Web Services in C# Praxis-Teil Präsentation Erstellung eines einfachen WebServices in Visual Studio.Net

26 Web Services in C# benutzerdefinierte Typen werden in eine XML-Darstellung überführt -> Serialisierung Kennzeichnung mit XmlIncludeAttribute Bsp. using System.Xml.Serialization; [XMLInclude(typeof(Kunde))] public class Kunde { … }

27 Web Services in C# Praxis-Teil Präsentation Remote-Client mit Proxy in Visual Studio.Net

28 Remote Client - Wetterabfrage Beschreibungsseite des GET_Weather Webservices Auflistung aller Web- Methoden

29 Remote Client - Wetterabfrage Der Remote-Client stellt eine Verbindung zum GET_Weather-WebService her. Aufruf: List_Countries() Es wird eine Länderliste zurückgeliefert.

30 Remote Client - Wetterabfrage Aufruf: Search_StationByCountry(..)

31 Remote Client - Wetterabfrage Eine Liste der passenden Meßstationen wird zurückgegeben. Nun wird durch den Aufruf: Get_WeatherReport(…) eine detailierter Wetterreport an den Client zurückgegeben.

32 Remote Client - Wetterabfrage Ein kompletter Programmdurchlauf

33 Aufgabe Die 7. Übungsaufgabe enthält bereits einen WebService-Teil. Sonst: Realisieren Sie unter Zuhilfenahme des ausgehändigten Tutorials eine Client-Anwendung, welche auf einen eigenen WebService zugreift und Grundrechenoperationen (+,-,*,/) ausführt.

34 Quellen / Literatur Literatur: - C# und die.NET-Plattform von Andrew Troelsen - Webservice- Programmierung mit SOAP. von James Snell, u. a. Interessante Seiten: GET_Weather-Webservice: -


Herunterladen ppt "Inhalt Veränderung im World Wide Web SOAP, die Sprache der Web Services Was sind Web Services? WSDL (web service description language) für die Beschreibung."

Ähnliche Präsentationen


Google-Anzeigen