Die .NET Common Language Runtime

Slides:



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

Aufgabe1: Probleme mit Seife
Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML
ASP.NET Überblick und technischer Einstieg
DI Christian Donner cd (at) donners.com
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
SOAP Simple Object Access Protocol
Datenbankzugriff im WWW (Kommerzielle Systeme)
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Web Services und Workflow-Steuerung
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
JAVA RMI.
Introducing the .NET Framework
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Seminar Internet Technologien
Erstellen von WebServices mit Visual FoxPro 9.0
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Systementwicklungsprojekt:
Björn Schmidt, Hoang Truong Nguyen
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Einführung Servlets/JSPs
Seminar Praktische Informatik Web Services
1 Softwareentwicklung mit.NET Teil 6.NET Remoting Dr. Ralph Zeller.
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
Wir bauen uns eine Webapplikation!
1 Softwareentwicklung mit.NET Teil 3 ASP.NET Web Forms Dr. Ralph Zeller.
Software Architektur III
Die .NET Common Language Runtime
Inhalt • Veränderung im World Wide Web
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 11 Folie 2 Microsoft Internet Information Services (IIS)
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Basiswissen für Partner und interessierte Kunden Technologie.
HORIZONT 1 XINFO ® Das IT - Informationssystem Java Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
IFB Speyer Daniel Jonietz dj 2 XAMPP - Was ist das? Paket mit: – X – Apache (Webserver) – MySQL oder SQLite (Datenbank) – Perl (Skriptsprache) –
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 5 Folie 2 Windows Communication Foundation (WCF) s.a.
Web Services Semistrukturierte Daten 1 – Gruppe 6.
XML-Serverpages Vortrag im Rahmen des Seminars XML-Technologien Tobias Faessler.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Management- und Web Services- Architekturen
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Mag. Andreas Starzer weloveIT – EDV Dienstleistungen
Einführung in Web Services Web Services in der Praxis
Reinhold Rumberger Web Services.
SharePoint 2013 Web Services
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.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
Web Services (Axis) ETIS SS05.
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
WSDL Web Services Definition Language Von Nikos Vormwald.
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.
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.
 Präsentation transkript:

Die .NET Common Language Runtime Softwareentwicklung mit .NET Teil 5 ASP.NET Web Services Dr. Ralph Zeller

Die .NET Common Language Runtime Was ist ein Web Service? Die .NET Common Language Runtime Ein Web Service ist eine Komponente, die ihre Methoden über Standard Web Protokolle wie SOAP zur Verfügung stellt

Web Services Beispiele Die .NET Common Language Runtime Günstigster Online Buchhändler Input ist ISBN Nummer Web Service durchsucht Web Seiten und gibt Link auf günstigsten Händler zurück Lieferverfolgung bei Buchbestellung Buchhändler liefert über Paketservice aus Status wird über die Seite des Buchhändlers abgefragt Web Service holt Status- informationen des Paket- services

SOAP Simple Object Access Protocol Die .NET Common Language Runtime Mechanismus zum Austausch von strukturierter und typisierter Information zwischen Kommunikationsendpunkten im Internet auf Basis von XML HTTP als Transportprotokoll XML zur Datenkapselung Spezifikation enthält SOAP Envelope (für Framework) SOAP Encoding (optional, für plattform-übergreifendes Marshaling von Daten/Objekten)

Die .NET Common Language Runtime SOAP Beispiel Die .NET Common Language Runtime POST /FService.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/Rueckzahlungsrate" <?xml version="1.0"? encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope"> <soap:Body> <Rueckzahlungsrate xmlns="http://tempuri.org/"> <strKapital>string</strKapital> <strZinssatz>string</strZinssatz> <strMonate>string</strMonate> </Rueckzahlungsrate> </soap:Body> </soap:Envelope>

Die .NET Common Language Runtime WS Ausführungsmodell Die .NET Common Language Runtime Web Services basieren auf ASP.NET Web Client Betriebssystem ASP.NET Applikationen IIS .NET Framework

Web Service Prog.modell Die .NET Common Language Runtime Erstellen Sie eine .asmx Datei, die eine Klasse mit den Methoden enthält, die Sie zur Verfügung stellen möchten Das Hinzufügen des Attributs WebMethod zu einer Public-Methode macht sie automatisch zu einem Web Service ASP.NET macht den "Rest" Erzeugen der Service-Beschreibung als WSDL-Datei (Web Service Description Language) Compile on demand

Die .NET Common Language Runtime Code & Syntax Die .NET Common Language Runtime WebService Direktive Einstellungen für den ASP.NET Compiler WebMethod Attribut Code Deklaration Syntax Outline Inline (in C#) <%@ WebService Language=value Class=value %> <%@ WebService Class="MyClass.MyWebService" %> <%@ WebService Language="C#" Class="MathService" %> using System.Web.Services; public class MathService : WebService { [ WebMethod ] ...

Die .NET Common Language Runtime Beispiel .asmx Datei Die .NET Common Language Runtime <%@ WebService Language="C#" Class="MathService" %> using System; using System.Web.Services; public class MathService : WebService { [WebMethod] public int Subtract(int a, int b) { return a - b; } public int Subtract_vs(int a, int b) { return b - a; } }

Web Service Beispiel 1: FinanzServices Inline Die .NET Common Language Runtime

Web Service Beispiel 2: FinanzServices Outline Die .NET Common Language Runtime

Testen des Web Services Die .NET Common Language Runtime Aufruf über URL http://localhost/Fservice.asmx Rückgabe ist eine Testseite für Web Service

Die .NET Common Language Runtime Web Service aufrufen Die .NET Common Language Runtime Aufruf über URL HTTP Request Protokolle HTTP-GET Methodenname und Parameter in der URL HTTP-POST Methodenname und Parameter im HTTP Header HTTP-SOAP Adresse und Parameter in XML Format

Die .NET Common Language Runtime Aufruf über GET & POST Die .NET Common Language Runtime http://server/appl/service.asmx/method?param=value Standard HTTP-GET Methodenname = steht im Pfad Argumente = URL query string Mehrere Parameter möglich Nur primitive .NET Datentypen möglich Rückgabe ist ein XML Dokument alle .NET Datentypen möglich HTTP-POST Ähnlich GET Argumente stehen im HTTP Header

Die .NET Common Language Runtime Aufruf über SOAP Die .NET Common Language Runtime XML Grammatik für Methodenname, Parameter und Rückgabewerte Unterstützt alle Standard .NET Datentypen und Klassen als value Zusätzlich: Klassen, Structs, Datasets Marshalling von Klassen und Structs Serialisierung in XML Format

WS beschreiben Beispiel 3: FService.wsdl Die .NET Common Language Runtime

WSDL Web Services Description Language Die .NET Common Language Runtime Öffentliche Beschreibung eines Web Services in XML .wsdl File mit disco.exe oder http://localhost/Fservice.asmx?wsdl generieren Grundelemente von WSDL Services, die mehrere Ports beinhalten Über Ports werden Messages geschickt Jeder Port enthält Adress- und Bindinginfos Binding spezifiziert das Datenformat und Protokolldetails PortTypes definiert die Befehle, die über einen Port geschickt werden können

Die .NET Common Language Runtime WSDL Die .NET Common Language Runtime Abstrakte Darstellung der WSDL Elemente service_1 port_C port_B service_2 message port_D port_A port type message

Die .NET Common Language Runtime Beispiel WSDL Datei Die .NET Common Language Runtime <definitions name="serviceName"> <import namespace="http://namespacePath" location="http://path/fileName.wsdl"> <portType name="portNameType"> <operation name="opName"> <input message="msgNameInput" /> <output message="msgNameOutput" /> </operation> </portType> <binding name= ="bindingName"> <soap:operation soapAction="http://..." /> </binding> <service name="serviceName"> <port name="portName" binding="bindingName"> <soap:address location="http://..." /> </port> </service> </definitions>

Die .NET Common Language Runtime Web Service Clients Applikationsmodell Die .NET Common Language Runtime Web Service Entwickler Web Applikation Entwickler Web Server 1 Service App .asmx .aspx Web Server 2 Service App Proxy Web Form

Die .NET Common Language Runtime WS Clients entwickeln Die .NET Common Language Runtime Proxy Klasse generieren WSDL.exe Input WSDL Datei oder Link auf Web Service Sprache (C#, VB, JScript) Protokoll (GET, POST, SOAP) Output Source Datei mit Proxy Klasse und Code für Aufruf und Marshalling

Web Forms Client Beispiel 4: Darlehensrechner Die .NET Common Language Runtime

Win Forms Client Beispiel 5: Darlehensrechner Die .NET Common Language Runtime

Die .NET Common Language Runtime WS veröffentlichen Die .NET Common Language Runtime .disco File Wird mit disco.exe oder http://localhost/Fservice.asmx?disco generiert enthält Link auf WSDL File eines Web Services XML Format UDDI Globales Verzeichnis für Web Services <?xml version="1.0"? encoding="utf-8"?> <discovery xmlns="http://schemas.xmlsoap.org/disco/"> <contractRef ref="http://localhost/FService.asmx?wsdl" docRef="http://localhost/FService.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/"/> </discovery>

UDDI Universal Discovery, Description and Integration Die .NET Common Language Runtime Globale Datenbank über Unternehmungen Wer bietet was an? Von 30+ Unternehmen getragen IBM, Ariba, Microsoft betreiben EINE verteilte Datenbank SAP, Oracle, Sun, etc. http://www.uddi.org

Die .NET Common Language Runtime UDDI Benutzung Die .NET Common Language Runtime Daten in XML beschrieben White pages (Name, Kontakt) Yellow pages (Welche Branche) Green pages (Binding Information – Wie kann Kunde Unternehmen integrieren? URL, Telefon, Web Services etc.) Zugriff auf Registry via Web / SOAP Ermöglicht strukturierte Suche und Integration! Menschen können suchen Software kann suchen Dynamische Integration (von z.B.: Web Services)

Die .NET Common Language Runtime UDDI Beispiel Die .NET Common Language Runtime DoAll hat Web-Shop + Web Services (Produktkatalog) DoAll ist in UDDI Registry eingetragen Marketplace + Search Engines kontaktieren UDDI Konsument besucht Marketplace Sucht nach Produkten (z.B.: Sägeblatt von DoAll) Marketplace versteht Web Service von DoAll Produktkatalog wird von Marketplace dynamisch dargestellt Dynamische Integration verschiedener Systeme http://www.doall.com, http://www.bcentral.com

Die .NET Common Language Runtime Fragen? Die .NET Common Language Runtime Uff...

Die .NET Common Language Runtime Glossar Die .NET Common Language Runtime MSXML: Microsoft XML-Komponente IIS – Internet Information Server: Der Webserver von Microsoft ISAPI- Internet Server API: Mit dieser Schnittstelle können Erweiterungen für den IIS entwickelt werden. Solche Erweiterungen können nur mit C++ programmiert werden. SOAP - Simple Object Access Protocol: Protokoll zur plattformübergreifender Anwendungskommunikation Web Services: Komponenten, die ihre Methoden über ein XML-basiertes Interface für Internet-Clients zur Verfügung stellen WSDL - Web Service Description Language: Beschreibung der Web Services XML - eXtensible Markup Language: Textbasiertes, allgemeines Datenformat, das Grundregeln für den Aufbau eigener Datenformate definiert. UDDI - Universal Discovery, Description and Integration: Globale Datenbank über Unternehmungen die u.a. Informationen über Web Services enthält.