Inhalt • Veränderung im World Wide Web

Slides:



Advertisements
Ähnliche Präsentationen
SOAP, nur ein neuer XML- Dialekt?
Advertisements

Be.as WEB Technologie
Aufgabe1: Probleme mit Seife
Sichere Anbindung kleiner Netze ans Internet
Office XP und XML Web Services Dariusz Parys.NET Strategy & Developer Group
DI Christian Donner cd (at) donners.com
Basis-Architekturen für Web-Anwendungen
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Datenbankzugriff im WWW (Kommerzielle Systeme)
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Web Services und Workflow-Steuerung
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Java: Grundlagen der Sprache
Kommunikation in verteilten Systemen (Middleware)
Anwendungen. © Prof. T. Kudraß, HTWK Leipzig Historie des WWW Grundlage Internet – Entwickelt Ende der 60er Jahre vom US-Militär (ARPA-Net) – Technische.
JAVA RMI.
Introducing the .NET Framework
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Seminar Internet Technologien
Remote Methode Invocation (RMI)
Björn Schmidt, Hoang Truong Nguyen
Seminar Praktische Informatik Web Services
Distributed Programming in.NET. Inhaltsverzeichnis 1) Einführung 2).NET Remoting 3) Web-Services 4) Vergleich.NET Remoting und Web- Services 5) Fazit.
Seminarleiter: Herr Prof. Klement und Herr Prof. Kneisel
Client-Server Modell Advanced IT Basics Nicolas Frings.
Software Architektur III
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Das Client/Server – Modell und die XAMPP-Distribution
Julia Grabsch Florian Hillnhütter Fabian Riebschläger
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
IFB Speyer Daniel Jonietz dj 2 XAMPP - Was ist das? Paket mit: – X – Apache (Webserver) – MySQL oder SQLite (Datenbank) – Perl (Skriptsprache) –
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Beschreiben Sie das Szenario wenn ein ORB einen Server aktiviert und eine Objektimplementation aufruft. Activate Server impl_is_ready Activate Object (GetID.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Management- und Web Services- Architekturen
Einführung in Web Services Web Services in der Praxis
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
Voyager Eigenschaften/Vorzüge Universalität: –ROI-Modelle: CORBA, RMI, DCOM –verschiedene Namens-, Verzeichnisdienste Nachrichtentypen: synchron, oneway,
SOAP.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
->Prinzip ->Systeme ->Peer – to – Peer
Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler.
Datenbanken im Web 1.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Microsoft.NET - Plattform Kurzer Überblick Vergleich mit Java Von Thomas Zahn Januar 2001.
Welcome to Web Services & Grid Computing Jens Mache
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
Sicherheitsaspekte in Service Orientierten Architekturen Eike Falkenberg Sommersemester 2006 Anwendungen I.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Cloud Entwicklung: Web Services
Mainframe und WebServices bei der W. KAPFERER KG Einfache Internet-Lösungen in Verbindung mit vorhandenen Host-Programm-Strukturen.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
SOAP - WSDL Universität zu Köln Institut für Historisch-Kulturwissenschaftliche Informationsverarbeitung Prof. Dr. Manfred Thaller AM 2 Hauptseminar: Virtuelle.
Business Process Excuction Lanaguage
Business Process Excuction Lanaguage
 Präsentation transkript:

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

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

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

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

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

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

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

SOAP - technisch

SOAP - technisch

SOAP request POST /soap HTTP/1.0 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: 516 SOAPAction: "" <?xml version=’1.0’ encoding=’UTF-8’?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Body> <ns1:getRate xmlns:ns1="urn:xmethods-CurrencyExchange" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <country1 xsi:type="xsd:string">USA</country1> <country2 xsi:type="xsd:string">germany</country2> </ns1:getRate> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

SOAP response HTTP/1.1 200 OK Date: Sun, 11 Nov 2001 16:40:48 GMT Content-Type: text/xml Server: Electric/1.0 Connection: Keep-Alive Content-Length: 492 <?xml version=’1.0’ encoding=’UTF-8’?> <soap:Envelope xmlns:soap=’http://schemas.xmlsoap.org/soap/envelope/’ xmlns:xsi=’http://www.w3.org/1999/XMLSchema-instance’ xmlns:xsd=’http://www.w3.org/1999/XMLSchema’ xmlns:soapenc=’http://schemas.xmlsoap.org/soap/encoding/’ soap:encodingStyle=’http://schemas.xmlsoap.org/soap/encoding/’> <soap:Body> <n:getRateResponse xmlns:n=’urn:xmethods-CurrencyExchange’> <Result xsi:type=’xsd:float’>2.1858</Result> </n:getRateResponse> </soap:Body> </soap:Envelope>

SOAP fault message HTTP/1.1 500 Internal Server Error Date: Sun, 11 Nov 2001 16:49:19 GMT Content-Type: text/xml Server: Electric/1.0 Connection: Keep-Alive Content-Length: 515 <?xml version=’1.0’ encoding=’UTF-8’?> <soap:Envelope xmlns:soap=’http://schemas.xmlsoap.org/soap/envelope/’ xmlns:xsi=’http://www.w3.org/1999/XMLSchema-instance’ xmlns:xsd=’http://www.w3.org/1999/XMLSchema’ xmlns:soapenc=’http://schemas.xmlsoap.org/soap/encoding/’ soap:encodingStyle=’http://schemas.xmlsoap.org/soap/encoding/’> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>no service found with address urn:xmethods-CurrencyExchange2</faultstring> </soap:Fault> </soap:Body> </soap:Envelope>

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

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

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

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

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

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

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

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

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

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

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

Web Services in C# Überblick Webdienst-Namespaces Namespace Bedeutung System.WebServices alle erforderlichen Typen zur Erstellung eines WebServices System.WebServices.Description Kommunikation mit WSDL System.WebServices.Discovery Programmgesteuerte Festellung eines WebServices über DISCO-Dateien System.WebServices.Protocols Typen, die die Leistungsprotokolle HTTP GET, http POST und SOAP darstellen

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

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 { … }

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

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

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

Remote Client - Wetterabfrage Aufruf: Search_StationByCountry(..)

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.

Remote Client - Wetterabfrage Ein kompletter Programmdurchlauf

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.

Quellen / Literatur Literatur: - „C# und die .NET-Plattform“ von Andrew Troelsen - Webservice- Programmierung mit SOAP. von James Snell, u. a. Interessante Seiten: - http://www.codeproject.com - http://www.xmethods.net GET_Weather-Webservice: - http://www11.brinkster.com/bgx/webservices/GET_Weather.asmx