SOAP Simple Object Access Protocol

Slides:



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

Arbeitsablauf basierte Grid Anwendungen
Aufgabe1: Probleme mit Seife
SQL Server 2005.NET Integration Sebastian Weber Developer Evangelist Microsoft Deutschland GmbH.
DI Christian Donner cd (at) donners.com
Kurze Einführung in ASP
© 2003 Guido Badertscher Spontane Vernetzung - UPnP 9. Jänner 2004 Spontane Vernetzung Guido Badertscher.
SOAP Simple Object Access Protocol
Datenbankzugriff im WWW (Kommerzielle Systeme)
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
Microsofts XML-Strategie aus Sicht des Endanwenders Klaus Rohe Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Konzeption und Implementierung einer XML-RPC und SOAP Anbindung Praktikumsbericht von Martin Spindler.
JAVA RMI.
Introducing the .NET Framework
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Seminar Internet Technologien
Erstellen von WebServices mit Visual FoxPro 9.0
Uwe Habermann VFX 10.0 Visual Extend Produktaktivierung.
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
Björn Schmidt, Hoang Truong Nguyen
Seminar Praktische Informatik Web Services
Software Architektur III
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
Die .NET Common Language Runtime
Die .NET Common Language Runtime
Inhalt • Veränderung im World Wide Web
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
SOAP Simple Object Access Protocol
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 12 Folie 2 Web Services (1)
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Webservice Grundlagen
Best Practices in der Datenbank-programmierung
SQL Server 2005 CLR-Integration
Michael Köster User Experience Specialist Microsoft Corporation.
Consulting and Solutions.NET Vortragsreihe – Vorstellung der Referenten Happy Arts Software Markus Kämmerer IT-Erfahrung seit 1987,
UNIVERSITÄT ZU KÖLN HISTORISCH-KULTURWISSENSCHAFTLICHE INFORMATIONSVERARBEITUNG REUSABLE - CONTENT SS 2013 MARIA WAGNER ReST.
Your name Bedeutung von Internet- Technologien Gruppe 1 Andreas Feuerstein Philipp Hochratner Christian Weinzinger.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH Christian Weyer Solutions Architect thinktecture.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Sesame Florian Mayrhuber
Management- und Web Services- Architekturen
Web 2.0 & AJAX (A)sysnchrones (J)avaScript (A)nd (X)ML
MTS Microsoft Transaction Server Martin Basziszta
Einführung in Web Services Web Services in der Praxis
HTTP IT-Zertifikat Universität zu Köln Allgemeine Technologien II
Thomas Schissler – artiso solutions GmbH Artur Speth – Microsoft Deutschland GmbH.
SOAP.
->Prinzip ->Systeme ->Peer – to – Peer
Universal Plug and Play
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.
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
Cubido business solutions gmbh Haidfeldstrasse 33 A-4060 Leonding di(fh) Wolfgang Straßer ° Rundumblick.
Patrick Richterich Lattwein GmbH Web Services Softwareentwicklung mit SOAP.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Einflußreiche Systeme Dr. Wolfgang Wörndl.
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.
SOFTWARE- UND WEB-LÖSUNGEN
 Präsentation transkript:

SOAP Simple Object Access Protocol

SOAP Simple Object Access Protocol Frank Lange (franklan@microsoft.com) Michael Willers (mwillers@microsoft.com) Microsoft GmbH Small Business & Partner Group (SBPG)

Inhalt Web Services und “.NET” SOAP SOAP Toolkit Vergleich SOAP und COM Zukunft?

“.net” – zu Lesen Web Services Services (ver)mieten Visual Studio.net Sun Microsystems is leading the development of an open-systems competitor to Microsoft .NET, Bill Gates' sweeping initiative to deliver software as a set of services over a wide range of Internet-connected devices. Gates claimed in June to be betting his company on Microsoft .NET, a move he deems as important to Microsoft as the transition from DOS to Windows. Dan Kusnetzky, a VP at International Data Corp., calls Microsoft .NET Gates' latest attempt to "embrace and extend" the Internet in reaction to the rise of browser-based applications, which threaten to render much of Microsoft's software irrelevant. He also expects Microsoft to hit snags converting its revenue from packaged software sales into software rentals. Nevertheless, Kusnetzky says Microsoft's superior tools and its integrated products are an advantage. "Microsoft will tie things together into one environment with point-and-click, and with the linkage to Windows 2000, you'll get it all," Kusnetzky says. Web Services Services (ver)mieten Visual Studio.net

Web-Service Web ist/wird performant und hochverfügbar Services wie Hotmail liefern Bedienoberfläche im Browser (Endanwender als Zielgruppe) Künftig Services, welche programmatisch nutzbar sind Funktionsaufrufe über Services sind wünschenswert (bequeme Kommunikation: was ich will, was ich sende, was bekomme ich...)

“.net” – für Entwickler Entwicklerkonfernz stand ganz im Zeichen “.net” Experten: “in 3 Jahren haben wir die Welt der Web-Services” Tools kommen: MS Visual Studio .NET Windows DNA wird ersetzt durch .NET Framework

firmeninterne Dienste und Daten Windows DNA Design Rich Clients Browsers Darstellungs UI HTML Internet App Code Geschäftslogik Kriterien Skalierbarkeit Verfügbarkeit Sicherheit Wartbarkeit firmeninterne Dienste und Daten Datenhaltung

Das Problem Win DNA ist für’s Windows-Netz designed – alles andere ist oft Bastelei Server-Dienste sind im Firmennetz Aufwand: Implementierungs-Details (COM+, API, Security,...je nach OS) Umwege für heterogene Infrastruktur (COM+ zu CORBA etc.) Andere Schnittstellen, sobald Infos aus dem Netz (Sockets...)

.NET - Design Web Service App Code “Components for the Web” OS and Local Services Internet Web Service Verlagerung von Diensten ins Internet (evtl. andere Firma) Verlagerte Dienste arbeiten funktional Einheitlicher Schnittstellenstandard Web Service Browsers Devices

Building Block Services .NET Plattform Framework & Tools Stichworte: Visual Studio.NET, CRL, COM+-Erweiterungen, Programmiermodell Building Block Services Ständig verfügbare Dienste (Code-Updates, Benachrichtigungsdienste, Suchdienste,...) Server & Clients DNA 2000 Produktfamilie, Windows Powered-Geräte

Web Services - Technisch Programmatischer Zugriff auf Services im Web Kommunikation von Web-Anwendungen untereinander XML als Standard für Daten(beschreibung) (plattform- und sprachunabhängig) SOAP als Protokoll für Funktionsaufrufe (plattform- und sprachunabhängig) z.B. SDL als Metabeschreibung der Web Services XML=Extensible Markup Language SOAP=Simple Object Access Protocol SDL=Service Description Language

Inhalt Web Services und “.NET” SOAP SOAP Toolkit Vergleich SOAP und COM Zukunft?

Was ist SOAP? Simple Object Access Protocol XML-basierendes Kommunikationsformat Für XML/HTTP RPC (ab V1.1 auch andere Protokolle als HTTP) Verschiedene Betriebssysteme Verschiedene Programmiersprachen Verschiedene Plattformen Basierend auf W3C XML standards IETF HTTP standard SOAP-Spezifikation v1.1 zum W3C gereicht http://msdn.microsoft.com/workshop/xml/general/soapspec.asp

SOAP Message SOAP Message komplette SOAP Message Kopf vom Standard-Protololl (HTTP, SMTP, etc.) und SOAP Protocol Headers <Envelope>-Metainfos SOAP Envelope SOAP Header <Header> -Kopfinfos Headers Individuelle Kopfinfos SOAP Body <Body> mit XML-Daten Message Name & Data Funktionsname und Parameter

Ein SOAP Request (über HTTP) POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8“ Content-Length: 323 SOAPAction: Some-Namespace-URI#GetLastTradePrice <SQ:Envelope xmlns:SQ="http://schemas.xmlsoap.org/soap/envelope/" SQ:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > <SQ:Body> <m:GetLastTradePrice xmlns:m="Some-Namespace-URI"> <symbol>DIS</symbol> </m:GetLastTradePrice> </SQ:Body> </SQ:Envelope>

Eine SOAP Response (über HTTP) HTTP/1.1 200 OK Content-Type: text/xml; charset="utf-8“ Content-Length: nnnn <SP:Envelope xmlns:SP="http://schemas.xmlsoap.org/soap/envelope/" SP:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > <SP:Body> <m:GetLastTradePriceResponse xmlns:m="Some-Namespace-URI"> <Price>34.5</Price> </m:GetLastTradePriceResponse> </SP:Body> </SP:Envelope>

SOAP in der .NET Plattform Werkzeuge ASP+, Visual Basic .NET, Visual C++ .NET (ATL Server), C#, Visual FoxPro Protokolle MSMQ, HTTP, TCP/IP, SMTP SOAP ist überall in .NET

Inhalt Web Services und “.NET” SOAP SOAP Toolkit Vergleich SOAP und COM Zukunft?

Brücke zur .NET-Plattform SOAP Toolkit für Visual Studio 6.0 Toolkit als Hilfestellung SOAP kann auch ohne Toolkit genutzt werden (Umgang mit XML, HTTP) Toolkit Download: http://msdn.microsoft.com/xml/

Hilfe durch das SOAP Toolkit Handhabe von XML, SOAP Kein Einarbeiten in Netzprotokolle Implementierungs-Hilfen Deployment-Hilfen Bekannte Fertigkeiten (Umgang mit COM) Tools

Inhalt des SOAP Toolkit Serverseitige Zugriffslauscher (Reference Listeners) Remote Object Proxy Engine (ROPE) SDL und Quelltext-Generator (Wizard) Dokumentation Code-Beispiele Kompletter Quelltext

Was ist SDL? “Service Description Language” XML-basierte Grammatik zur Beschreibung der Funktionalität von Web-Services Erweiterbar Vergleich mit IDL IDL ist plattformabhängig SDL ist plattformunabhängig NICHT in Stein gemeißelt! d.h. solange es keinen “echten” Standard gibt, ist SDL eine Lösung.

Was ist ROPE? Remote Object Proxy Engine Aufrufschnittstelle für Web Service-Clients ATL COM nutzbar von COM-unterstützenden Sprachen Objekte Proxy SOAPPackager WireTransfer versch. Objekte Zwei Programmier-Modelle Einfach – “VB”-typisch Erweitert – “VC”-typisch

Server mit VB6 *DLL Toolkit Wizard Toolkit *.ASP *.XML VB6 ActiveX DLL Public Function GetDayCount() As Integer GetDayCount = 30 End Function *DLL Toolkit Wizard Toolkit *.ASP *.XML Listener.ASP http://localhost/demo/

SOAP Listeners (Dispensers) ISAPI Listener ISAPI Extension Hohe Performanz ASP Listener mehr Kontrolle über den Prozeß kann den Service direkt ausführen

ROPE – Einfaches Modell Proxy Object.Method(Param1, … ParamN) Benutzen wie gewohnt Wenig Quelltext-Aufwand für Entwickler Hohe Abstraktionsstufe orientiert an RPC-Welt (Funktionsaufrufe)

Client Quelltext VB6 Dim oProxy As NEW ROPE.Proxy oProxy.LoadServicesDescription icURI, _ "http://localhost/demo/myservice.xml" MsgBox CStr( oProxy.GetDayCount() ) Service Description holen und Proxy erzeugen Methodenaufruf

ROPE – Erweitertes Modell SOAPPackager hoher Grad an Kontrolle sehr flexibel orientiert an der Nachrichten-Welt (Senden, Empfangen) WireTransfer Kontrolle über Kopfdaten der Protokoll-Nachrichten

z.B. sListener = "http://localhost/demo/vacation.asp" Client VB6 – extended 1 Dim oSOAP As New ROPE.SOAPPackager Dim oWire As New ROPE.WireTransfer Dim cData As ROPE.ServiceDescriptors Dim sBuffer As String Dim bRetVal As Boolean Dim sListener As String Const sMethod = "GetDayCount„ bRetVal = oSOAP.LoadServicesDescription (icURI, _ "http://localhost/demo/vacation.xml") Set cData = oSOAP.GetServiceDescriptors(icENDPOINTINFO) If VarType(cData(0)) = vbString Then sListener = cData(0) Else sListener = cData(0).URI End If Service-Beschreibung holen Listener abfragen z.B. sListener = "http://localhost/demo/vacation.asp"

Client VB6 – extended 2 Methoden-Parameter als XML holen sBuffer = oSOAP.GetMethodStruct (sMethod, icINPUT) oSOAP.SetPayloadData icREQUEST, "", sMethod, sBuffer sBuffer = oSOAP.GetPayload(icREQUEST) oWire.AddStdSOAPHeaders sListener, sMethod, Len(sBuffer) sBuffer = oWire.PostDataToURI(sListener, sBuffer) oSOAP.SetPayload icRESPONSE, sBuffer sBuffer = CStr(oSOAP.GetParameter(icRESPONSE, "return")) MsgBox sBuffer SOAP-Request als XML erzeugen evtl. oSOAP.SetParameter icREQUEST, sParaName, sValue HTTP-POST (Response nach sBuffer) return-Wert heraussuchen

Datentypen siehe http://www.w3.org/TR/xmlschema-2/ es ist eine Spezifikation! Verweise auf andere Standards (ISO, SQL) schön für Sprachexperten Fragen bleiben „See also ISO 8601 Date and Time Formats (§D).“ „a datatype is a 3-tuple, consisting of [...] value space [...] lexical space [...] set of facets [...]. A facet is a single defining aspect of a value space.“ „The value space of binary is the set of finite-length sequences of binary octets.“

Datentypen (ff) Primitive Datentypen string, boolean, double, decimal, timeDuration, uriReference,... Vordefinierte abgeleitete Datentypen byte, short, int, time, date, timePeriod, recurringDay (z.B. jeder 5te im Monat) Benutzerdefinierte Datentypen Listen von Datentypen (vgl. structs), Bereichseinschränkungen,... Toolkit Wizard Probieren geht einher mit Studieren (Toolkit-Gedanke). Notfalls den erzeugten Text nacheditieren.

Das Szenario… Web Service SOAP Anwendung oder Browser SOAP Web Service (4) 4 – SOAP Anforderung senden Anwendung oder Browser SOAP Web Service SDL (5) (7) 7 – Methodenaufruf (Ende) (3) 3 – Methodenaufruf (Start) ROPE ROPE (1) 1 – SDL anfordern Web Page HTML (5) (6) 6 – SOAP Response erhalten Web Service SDL (2) 2 – SDL erhalten und paresen DATEN (5) 5 – WS arbeitet (Business Logic)

SOAP in der Industrie Microsoft IBM/Lotus DevelopMentor Userland Software IONA (Soap Bridge zu CORBA) Rogue Wave ObjectSpace JetForm Digital Creations Rockwell Software Scriptics Intel Sun und andere… ACHTUNG: Derzeit ist noch kein Standard endgültig “abgesegnet”.

Inhalt Web Services und “.NET” SOAP SOAP Toolkit Vergleich SOAP und COM Zukunft?

SOAP vs. COM SOAP kein Ersatz für COM SOAP ist Kommunikationsprotokoll, COM ist Komponentenmodell Komponentenkonzept, verteilte Transaktionen, Impersonifizierung,... SOAP könnte als RPC-Protokoll unter COM dienen: DCOM-Ersatz? aber Kausalität etc. fehlt im Protokoll SOAP verbindet zu Services im WWW (HTTP-Tunneling) Services im Firmennetz Services auf lokalem Rechner (Performance?!)

SOAP vs. COM Transport-Protokoll (HTTP,...) Funktionsaufruf-Protokoll (ORPC, SOAP,...) Objekte und Komponenten (COM...) Abstraktions-Schichten SOAP-Verbindung ist plattformunabhängig. z.B. Keine COM-CORBA-Bridge nötig Lösungs-Design sollte Verlagerung von Services aus dem Firmennetz nach Außen und umgekehrt berücksichtigen (“.net”)

Außen SOAP – innen... COM: “SOPE Toolkit Wizard” von Microsoft man nehme COM-Objekt Wizard und erhält SDL-File Programmteile, um das COM-Objekt als WebService laufen zu lassen CORBA: “Xorba” von Rogue Wave EJB: “Soap4J” von IBM

Inhalt Web Services und “.NET” SOAP SOAP Toolkit Vergleich SOAP und COM Zukunft?

Zukunft Service App Code Lösungs-Design sollte Verlagerung von Services aus dem Firmennetz nach Außen und umgekehrt berücksichtigen (“.net”)! WebServices werden zum großen Geschäft? SOAP ersetzt DCOM-Protokoll (bei COM) bzw. IIOP (bei CORBA)? Visual Studio .NET wird kommen!

ebXML? Electronic Business XML Initiative (weniger Microsoft) Schwerpunkt sind B2B-Szenarien auf XML-Basis http://ebxml.org./ Ende 1999: ein 18 Monats-Programm zum Finden einer technischen XML-Basis, auf der eine Standardisierung aufsetzen kann 08/00: Einigung, dass SOAP alleine zu wenig ist Fazit: Sich mit XML-Technologien beschäftigen und Augen offen halten

Ressourcen SOAP Toolkit Download http://msdn.microsoft.com/xml/ Newsgroup microsoft.public.msdn.soaptoolkit Verbesserungsvorschläge (engl.) soapwish@microsoft.com World Wide Web Consortium http://www.w3.org/xml/ http://www.w3.org/tr/soap DevelopMentor “Essential .NET” http://www.develop.com/dm/course.asp?id=95

Fragen?