web services in der praxis mit visual studio.net christian weyer [email protected] freiberuflicher...

51
Web Services in der Praxis mit Visual Studio .NET Christian Weyer [email protected] Freiberuflicher Berater & Entwickler

Upload: berthold-helmuth

Post on 05-Apr-2015

107 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Web Services in der Praxis

mit Visual Studio .NET

Christian [email protected]

Freiberuflicher Berater & Entwickler

Page 2: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Agenda

XML Web Services im Überblick

Architektur von ASP.NET

XML Web Services mit ASP.NET

Client-Anwendungen für XML Web Services

Einfachheit & Mächtigkeit von ASP.NET in punkto XML Web Services

Wo gibt‘s weitere Info‘s?

Page 3: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Voraussetzungen

Kenntnis von XML und grundlegende .NET-Kenntnisse

Interesse und Lust, sich auf die neue Welt der XML Web Services einzulassen …

Page 4: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Demos

Quer über diesen TechTalk-Vortrag verstreut Sie werden alle wichtigen Techniken und

Vorgehensweise zu sehen bekommen

Page 5: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Web Services Stack

Allgegenwärtige Kommunikation Internet

Universelles Datenformat XML

Dienstinteraktion SOAP

Formale Dienstbeschreibung WSDL

Veröffentlichen, Finden, Benutzen UDDI

Page 6: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Web Services Roadmap

SOAP

HTTP/SMTPXMLTCP/IP

Directory

Inspection

Description

Web Services-Module

Inter Application-Protokolle

Referral

Routing

Security

License

Eventing Transactions

Reliable Messaging

Internet

Page 7: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

IIS

Web Forms

Web Services

Common Language Runtime

ASP.NET in der Übersicht

app.aspx

<HTML><script>…</script>…</HTML>

app.asmx

class X {

[WebMethod]

public int

method1()

{ … }

}

HTTP

SOAP

Page 8: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

ASP.NET-Architektur

Unmanaged Code

Managed Code

...Request Handler

HTTP Module

HTTP Module

ASP.NET Runtime

IIS

HTTP Request

Page 9: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

ASP.NET-Laufzeitumgebung

inetinfo.exe(IIS)

aspnet_isapi.dll(ASP.NET

ISAPI Extension)

aspnet_wp.exe(ASP.NET Worker Prozess)

HTTP

Named Pipe

HTTP Runtime

Page 10: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

HTTP Pipeline

HTTP Pipeline-Prozessmodell

• Details von aspnet_wp.exe Worker Prozess

komplett konfigurierbar

• aspnet_isapi.dll verarbeitet <processModel> Konfiguration

aus der globalen Datei machine.config

• Jeder einzelne Worker Prozess bedient standardmäßig

unendlich viele Anfragen

ASP.NET Web Services sind HTTP Handler

• System.Web.Services.Protocols.

WebServiceHandlerFactory

Page 11: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

ASP.NET-Architektur

Alle Web-Anwendungen laufen in einem aspnet_wp.exe Prozess• IsolationLevel bei Installation festgelegt auf

Low Isolation der Web-Anwendungen erfolgt

über Application Domains• separater virtueller Speicher pro

Application

• separates Debugging pro Application ASPNET als Standardbenutzer zur

Ausführung von aspnet_wp.exe• Stark eingeschränkte Berechtigungen

Page 12: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Dynamische Kompilierung

aspnet_wp.exe wird verwendet, um Code für Web-Anwendungen und Web Services auszuführen

• Versucht, Assemblies für Web-Anwendung und Web Service zu laden

• Erzeugt über CodeDOM-Klassen, die sich von Page (Web Forms) oder WebService ableiten

• Bei Änderungen in Source Code-Dateien werden über Reflection.Emit automatisch neue Assemblies erzeugt

Page 13: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

ASP.NET Architektur

<% WebService codebehind=„WS„ %>

ASP.NET Compiler

Reflection

Web Service

Assembly

ASP.NET Runtime

Assembly für Dateiexistiert?

Assembly existiert, gleicher Zeitstempel

Nein – kompilieren Ja –

ausführen

class WS : WebService{ ... }

Page 14: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

ASP.NET Deployment

ASP.NET-Anwendungen sind grundsätzlich voneinander isoliert

• Verschiedene Anwendungen können parallel mit verschiedenen Versionen einer Komponente arbeiten

Installation einer ASP.NET-Anwendung durch Erstellen eines Verzeichnisses mit anschließendem Filecopy (XCOPY Deployment)

• Keine Registry-Änderungen (REGSVR32)

• Keine Änderungen in der IIS Metabase

• Kein Neustart des Web Servers

Uninstall

• Verzeichnis löschen

Page 15: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

ASP.NET und .NET Remoting

Zwei Möglichkeiten in .NET, XML Web Services zu erzeugen• ASP.NET

• .NET Remoting

Remoting bietet automatisierte Möglichkeit, nicht-XML Web Services zu erzeugen

ASP.NET Web Services für lose gekoppelte Systeme

.NET Remoting stellt eine verteilte Identität zur Verfügung• Leicht erweiter- und konfigurierbar

Page 16: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

XML Web Services

XML Web Services werden mit ASP.NET zum Kinderspiel• Keine Kenntnis über die Standards notwendig

• Verführt zur Spielerei -> Web Services nicht für alles geeignet

Mapping von Web Services auf Dateiendung .asmx• Machine.config

• IIS Mapping

Implementierung inline oder als Code-behind-Klasse• Festlegung über die @WebService Direktive

Page 17: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Web Services-Attribute

<WebService

(Namespace:="http://eyesoft.de/webservices/", _

Description:="This Web Service mimics a very simple

calculator.")> _

Public Class SimpleCalc

<WebMethod(Description:="Add two numbers")> _

Public Function Add(ByVal a As Long, _

ByVal b As Long) As Long

Return a + b

End Function

End Class

Page 18: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

XML Web Services

Attribut <WebService> muss sich auf eine Klasse beziehen• Namespace System.Web.Services

• Diese Klasse kann von Klasse WebService abgeleitet sein• Direkter Zugriff auf HttpContext

Eigenschaften Description und Namespace werden in WSDL und auch im Client Proxy verwendet• Description: Informale Beschreibung des Web

Services

• Namespace: XML Namespace, in dem die Typen/Schemas des Web Services definiert sind

Page 19: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

XML Web Services

Attribut<WebMethod> muss sich auf eine öffentliche Methode einer Klasse beziehen

• Namespace System.Web.Services

Methode kann standardmäßig über SOAP, HTTP GET und HTTP POST aufgerufen werden

• Konfigurierbar in web.config

Page 20: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Inline vs. Code behind

Inline:<%@ WebService Language="C#" Class="MyMath" %> using System.Web.Services;

public class MyMath{ [WebMethod] public int Add(int num1, int num2) { return num1+num2; }}

Code-behind:<%@ WebService Language="VB" Class="MyNameSpace.MyWebService,MyAssembly" %>

Page 21: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Web Services testen

ASP.NET besitzt eine eingebaute Test- und Dokumentationsseite für XML Web Services

• Kann konfiguriert werden

• Mit HTTP GET-Bindung verbunden

Hier werden keine SOAP-Pakete verschickt

• Reines HTTP GET

• Erweiterungsmechansimen von ASP.NET Web Services sind so nicht testbar

Page 22: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Nutzung von Web Services

ASP.NET Web Forms ASP.NET Mobile Web Forms .NET Konsolenanwendung .NET Windows Forms HTTP GET und POST Client-Anwendungen IE Web Services Behavior Klassisches Win32 PocketPC-Anwendung Java-Anwendung UNIX/Linux-Skript ...

Page 23: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

ASP.NET Web Service-Clients Proxy-basiertes Entwurfsmuster

• Client-Anwendung spricht mit lokalem Objekt• Proxy-Objekt übernimmt die eigentliche

Kommunikation• Klassenimplementierung basiert auf WSDL des

Web Services Dynamische Proxys nur mit Zusatzaufwand

möglich „Webverweis hinzufügen“ in Visual

Studio .NET• wsdl.exe Kommandozeilenanwendung

Synchroner Aufruf Asynchroner Aufruf

• BeginMethodenName und EndMethodenName• Aufruf von BeginXXX mit Callback oder WaitHandle• EndXXX zur Freigabe der Verbindung

Page 24: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Web Services debuggen

Interaktives Debuggen

• Breakpoints setzen

• PDB-Datei erstellen lassen

• An den richtigen Prozess hängen

Web Services instrumentieren

• Debug-Klasse

• Trace-Klasse

• Event Log

• Performance Counters

Page 25: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

25

Web Services debuggen

ASPNET hat keine Berechtigungen, um in das Event Log zu schreiben• \\HKEY_LOCAL_MACHINE\SYSTEM\

CurrentControlSet\Services\Eventlog\Application\RestrictGuestAccess auf 0 setzen und rebooten

ASPNET hat keine Berechtigungen, um Event Sources zu erstellen• ASPNET-Benutzer muss Lese/Schreiberechte auf \\

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services\Eventlog und alle Unterschlüssel haben

Page 26: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Serialisierung

Die Umwandlung von XML/SOAP-Datenpaketen in native .NET-Typen und wieder zurück geschieht über den Prozess der Serialisierung/Deserialisierung

In ASP.NET XML Web Services kümmert sich die Klasse XmlSerializer um diese Aufgaben• Im Gegensatz zu .NET Remoting-basierten

Web Services Relativ gut konfigurierbar, hat aber

einige Schwächen, die man schnell abschaffen sollte

Page 27: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

System.Xml.Serialization

XmlSerializer ist kein Serialisierer / Deserialisierer im eigentlichen Sinne• Mehr ein „Reflektor“

Bietet keine Type Fidelity• Tatsächlich ist Type Infidelity das Ziel• Bildet XML-Daten auf Typinstanzen ab• Bildet Typinstanzen auf XML-Daten ab• Erlaubt die Abbildung zwischen .NET- und nicht-.NET-

Anwendungen• (De-)Serialisiert nur öffentliche Felder

Zirkuläre Referenzen können Endlosschleifen bewirken• Objektgraph muß Blätter besitzen, die nicht auf andere

Objekte verweisen Unterstützt ausschließlich XML als Format Wird vornehmlich für Interoperabilität verwendet

• Einsatz in ASP.NET XML Web Services

Page 28: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

using System;using System.IO;using System.XML.Serialization;

public class MyType { public Int32 x, y, sum;}

void SomeMethod(Object rootObject) { FileStream fs = new FileStream(@“C:\MyData.xml", FileMode.Create);

// Create an XML serializer for the root type XmlSerializer xmlSerializer = new XmlSerializer(typeof(MyType));

// Serialize the object graph to the stream xmlSerializer.Serialize(fs, rootObject);

fs.Close(); // Force a flush of the data}

Serialisierung mit XmlSerializer

Page 29: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

using System;using System.IO;using System.XML.Serialization;

public class MyType { public Int32 x, y, sum;}

MyType SomeMethod() { FileStream fs = new FileStream(@“C:\MyData.xml", FileMode.Open);

XmlSerializer xmlSerializer = new XmlSerializer(typeof(MyType));

// Deserialize the object graph from the stream MyType rootObject = (MyType) xmlSerializer.Deserialize(fs);

fs.Close(); // Close the file return(rootObject); // Return the object}

Deserialisierung mit XmlSerializer

Page 30: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Datentypen

Typ Beschreibung

Einfache Typen String, Int32, Byte, Boolean, Int16, Int64, Single, Double, Decimal, DateTime und XmlQualifiedName

Aufzählungstypen Public enum Farbe { rot=1, blau=2 }

Felder von einfachen Typen und Aufzählungen

Felder (Arrays) wie z.B. String[] oder Integer[]

Klassen und Strukturen Klassen und Strukturen mit öffentlichen Felder oder Eigenschaften

Felder von Klassen/Strukturen

DataSet ADO.NET DataSet. Ein DataSet ist ein Speicherabbild einer Ergebnisrelation (z.B. aus einer DB-Abfrage). Vergleichbar mit ADO Recordset

Felder von DataSet

XmlNode XmlNode ist eine In-Memory Repräsentation eines XML Fragments (vergleichbar mit einem abgespeckten XML DOM)

Felder von XmlNode

Page 31: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Marshaling & Encoding

Serialisierung geschieht mit Hilfe von System.Web.XmlSerialization

Marshaling durch XmlSerializer

• Instanzen von XmlSerializer werden an CLR-Typen gebunden

• Eingeschränkte Unterstützung für komplexe CLR Typen• XSD-basiertes Modell

Eigenes Marshaling durch Überschreiben von IXmlSerializable

Page 32: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

XML-Format

Beeinflussung des XML-Formats/Marshalings• XmlElement | SoapElement

• XmlAttribute | SoapAttribute

• XmlArray | SoapArray

• XmlRoot

Unterschiedliche XML-Formate in Web Services• HTTP-GET und HTTP-POST

• SOAP

• WSDL-Beschreibung

Zwei (bzw. drei) Ausprägungen von SOAP• Document

• standardmäßig, konfigurierbar

• RPC

• konfigurierbar

Page 33: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

SOAP-Format beeinflussen

Attribut Ausprägung Use Betrifft

SoapDocumentMethod

Document Literal/Encoding

Methode

SoapDocumentService

Document Literal/Encoded

Alle Methoden

SoapRpcMethod RPC Encoded Methode

SoapRpcService RPC Encoded Alle Methoden

Page 34: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Konfiguration

ASP.NET Web Services sind über Einstellungen in der machine.config oder einer anwendungsspezifischen web.config konfigurierbar

Festlegung der unterstützen Protokolle

• HttpGet, HttpPost, Soap, Documentation

Angabe der Test- und Dokumentationsseite

Konfiguration der Sicherheitseinstellungen über web.config

Page 35: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Zustand und Caching

Zustand• Web Services sind von Natur aus zustandslos

• Session-Objekt in ASP.NET ermöglicht das Halten von Daten zwischen mehreren Aufrufen• Auch Application-Objekt verfügbar

• [WebMethod(EnableSession=True)]

• Vorsicht bei Verwendung von Sessions in Web Services (Cookies)

Caching• Bei Rückgabe großer Daten, die sich selten

ändern, sollte man Caching-Funktionalität von ASP.NET verwenden

• [WebMethod(CacheDuration=40)]

Page 36: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Transaktionen

Transaktionen• DB-Transaktionen

• ADO.NET-Transaktionen

• ‚Lokale‘ verteilte COM+-Transaktionen

• Lang andauernde Transaktionen (z.B. mit BizTalk Server)

TransactionOption Property in WebMethod Attribut • [WebMethod(TransactionOption=

TransactionOption.Required)] COM+-Transaktionseinstellungen Über ContextUtil kann der Ausgang einer

Transaktion gesteuert werden

Page 37: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

COM+-Dienste nutzen

Nutzung einer Vielzahl von COM+-Diensten möglich (je nach Plattform)

• Transaktionen

• Objekt-Pooling

• Just-In-Time Aktivierung (JITA)

• Queued Components

• Loosely-Coupled Events (LCE)

• Objekt-Erzeugung

• Private Komponenten

• Rollenbasierte Sicherheit

Page 38: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

COM+ und ASP.NET Web Services

Verwendung von COM+-Diensten auch in ASP.NET und XML Web Services

Verwendung einer eigenen Klasse, welche die COM+-Methoden implementiert• Wrappen dieser Klasse durch eine Web Service-

Klasse Verwendung der Eigenschaft

TransactionOption des Attributs WebMethod• Disabled, NotSupported, Supported, Required,

RequiresNew Probleme bei der dynamischen Registrierung

durch ASP.NET-Laufzeitumgebung• Standardmäßiges Benutzerkonto mit geringen

Privilegien

Page 39: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Sicherheit

Unterschiedliche Ebenen

• Verschlüsselung• Z.B. Transportsicherheit (SSL, TLS, …)

• Authentifizierung

• Autorisierung

• Signaturen

• Kryptografie

Page 40: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Authentifizierung

Windows-Authentifizierung (via IIS)• Basic, Digest, NTLM, Kerberos, clientseitige SSL-

Zertifikate

Forms-basierte (Cookie) Authentifizierung Passport-Authentifizierung Eigene Authentifizierung

<security><authentication

mode="[Windows|Forms|Passport|None]"/></security>

Page 41: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Autorisierung

Bsp.: erlaube “Admins” oder “WebServiceUsers” und lehne alle anderen ab

Bsp.: lehne anonyme (nicht auth.) Benutzer ab

<!-- * = alle, ? = anonym bzw. nicht auth. --><authorization> <allow verbs="POST" Roles="Admins" /> <allow Roles="WebServiceUsers"/> <deny users="*" /></authorization>

<authorization> <deny users="?" /></authorization>

Page 42: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Große Daten

ASP.NET Web Services unterstützen keine Attachments

• Weder MIME, noch DIME

• Lediglich kodierte Parameterwerte können hier als Notlösung verwendet werden

DIME-Beispielimplementierung auf MSDN Online

• Nur ein Sample, kein Support

DIME Support für nächste Version angekündigt

Page 43: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Erweiterungsmöglichkeiten

HTTP Module HTTP Handler SOAP Header SoapExtensions

Page 44: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Erweiterungsmöglichkeiten

SoapExtensions• Fortgeschrittenes Konzept

• Web Services-Aufrufe können intercepted werden

• Web Method-Aufrufe können intercepted werden

• Pre- und Post-Processing

• Klasse von SoapExtension ableiten

• Eigenes Attribut von SoapExtensionAttribute ableiten

• Attribut auf Methoden einer Web Service-Klasse anwenden• Auch Konfiguration über web.config/machine.config

möglich

Page 45: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Zu beachten

Exceptions• Werden immer als SoapException an den Client

übertragen

• Eigene Exceptions gehen verloren• Man kann aber über SoapException die Gestalt des

SOAP Faults steuern

Wenn Sessions verwendet werden• Client muss Cookies verwalten

Überladene Methoden• Da WSDL kein Überladen zulässt, muss man den

Nachrichtennamen im Quelltext spezifizieren/ändern

• <WebMethod(MessageName:=“FooX”)>

Page 46: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Tipps Keine Properties als WebMethod verwenden

• Properties implizieren Zustand• ‘Weniger ist mehr’

Caching verwenden, wo sinnvoll• CacheDuration Property für Anzeige-Caching• Klasse Cache für Daten-Caching• Grosser Performanzgewinn

Stress Testing• ACT im VS.NET Enterprise Edition• WAST

Nicht auf Biegen und Brechen …• Web Services sind nicht immer das geeignete

Mittel!• Web Services vor allem dann verwenden, wenn

Interop gefragt

Page 47: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Für Leseratten

http://www.eyesoft.de/wsbuch/

Page 48: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Glossar DIME: Direct Internet Message Encapsulation. Standard zur Übertragung

von großen Datenmengen in einer Web Services-Umgebung

GXA: Global XML Web Services Architecture. Rahmenwerk von Microsoft für Real-World Web Services aufbauend auf SOAP. Definiert Spezifikationen für die unterschiedlichsten Bereiche

IIS: Microsoft Internet Information Server

SOAP: Simple Object Access Protocol (ursprünglich). XML-basierte Spezifikation des W3C zur plattformübergreifenden Kommunikation im Internet. Basis für XML Web Services

SOAP Toolkit: SOAP/ Web Services-Implementierung von Microsoft für COM / Windows DNA-Anwendungen

WSDL: Web Services Description Language. XML Dialekt zur Metadatenbeschreibung von Web Services

XML Web Services: Softwareimplementierungen/Programme die über XML-basierte Standardprotokolle im Internet von nahezu jeder Plattform aus angesprochen werden können

Page 49: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Weitere Informationen

Christian Weyer, XML Web Service-Anwendungen mit Microsoft .NET, Addison-Wesleyhttp://www.eyesoft.de/wsbuch/

Andreas Eide at. al., Professional ASP.NET Web Services, Wrox Presshttp://www.amazon.de/exec/obidos/ASIN/1861005458/qid%3D1010053263/302-2442057-6660030

Andrew Krowczyk et. al., Professional C# Web Services: Building .NET Web Services with ASP.NET and .NET Remoting, Wrox Presshttp://www.amazon.de/exec/obidos/ASIN/1861004397/qid%3D1010053263/302-2442057-6660030

William Oellermann, Architecting Web Services, Apresshttp://www.amazon.de/exec/obidos/ASIN/1893115585/qid%3D1010053302/302-2442057-6660030

Page 50: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Weitere Informationen .NET XML Web Services Repertory

http://www.xmlwebservices.cc/ MSDN SOAP Center

http://msdn.microsoft.com/soap/ MSDN XML Web Services Center

http://msdn.microsoft.com/webservices/ SOAP Builders Interop Lab

http://www.xmethods.net/soapbuilders/ LearnXmlWs

http://www.learnxmlws.com/ GotDotNet

http://www.gotdotnet.com/ .NET Extreme

http://www.dotnetextreme.com/ .NET 247 Guide Web Services

http://www.dotnet247.com/247reference/guide/9.aspx

Page 51: Web Services in der Praxis mit Visual Studio.NET Christian Weyer cw@eyesoft.de Freiberuflicher Berater & Entwickler

Fragen!?

Uff...Uff...