Zum Inhalt springen

Kommunikation per Web Services (Fortsetzung)

Autor: Redaktion connect-professional • 5.5.2005 • ca. 2:50 Min

Inhalt
  1. Kommunikation per Web Services
  2. Kommunikation per Web Services (Fortsetzung)

Strategie mit Web Services
Bereits heute baut Microsoft seine Unternehmensstrategie auf Web Services auf. SQL Server, Microsoft CRM, BizTalk Server und Office 2003 sind nur einige von vielen Programmpaketen, die Web Services unterstützen. Immer mehr Microsoft-Produkte werden entweder als Anbieter von Web Services auftreten oder als deren Konsument. Microsofts nächster Schritt ist absehbar: Die Kommunikationsbasis der kommenden Windows-Version (Codename Longhorn) wird auf Web Services beruhen.
Für Anwendungen, die in einer homogenen Microsoft-Welt über Web Services (basierend auf ASP.Net) kommunizieren, kann die bestehende Unterstützung des Visual Studio 2003 (und bald der bereits angekündigten neuen Version 2005) genutzt und beispielsweise eine Web-Service-Klasse mit der Entwicklungsumgebung (IDE, Integrated Development Environment) von Visual Studio.Net in wenigen Schritten über einen Wizard generiert werden. Die einzelnen, über den Service zur Verfügung gestellten Methoden können durch die Deklaration über ein Attribut zu einer Web-Service-Methode gemacht werden. Der Anwendungsentwickler muss hier nicht etwa auf die Basis der Web-Service-Standards zurückgreifen und seine Beschreibungsdatei (WSDL, Web Service Description Language) selbst erzeugen. Dies übernehmen vielmehr die Entwicklungsumgebung und das Framework. Wird eine Anwendung erstellt, die Web Services konsumiert, kann der Entwickler die Referenz zum Web Service in der IDE hinzufügen und die Web-Service-Proxy-Klassen nutzen, ohne selbst eine Zeile Programmcode schreiben zu müssen. Für ihn besteht hier kein Unterschied zur Verwendung lokaler Aufrufe einer Instanz einer Klasse. Lediglich bei der Übergabe eines nicht von ASP.Net Web Services unterstützten Datentyps merkt der Compiler einen Fehler. Die Einfachheit dieser Vorgehensweise bei der Entwicklung von Web Services birgt auch gleichzeitig eine Gefahr: Nicht alle so erstellten Methoden lassen sich von Nicht-Microsoft-Systemen aufrufen.

Interoperabel dank Regeln
Abhängig von der Deklaration einer Web-Service-Methode entspricht diese möglicherweise nicht mehr dem gemeinsamen Verständnis von interoperablen, also plattformübergreifenden Web Services und kann deshalb von Nicht-Microsoft-Plattformen wie BEA Web­Logic oder IBM WebSphere nicht genutzt werden. Die Interoperabilität wird zum Beispiel dadurch vereitelt, dass sehr komplexe Datentypen als Methodenparameter übergeben werden, die sich nicht in der Web-Service-Beschreibungsdatei (WSDL) darstellen lassen.
Dieses Problem wurde industrieweit erkannt und führte im Februar 2002 zur Gründung der Web Services Interoperability Organization (WS-I, www.ws-i.org), in der namhafte Softwarehersteller wie BEA, Computer Associates, IBM, Microsoft, SAP oder Sun, aber auch Unternehmen aus anderen Branchen wie Bell, BT, die Deutsche Bank, die Deutsche Telekom und Nokia vertreten sind. Ziel der WS-I-Organisation ist es, die Verbreitung von interoperablen Web Services über die Grenzen von Plattformen, Applikationen und Programmiersprachen hinweg zu fördern.
Da die Definition der Basisstandards für Web Services (XML, UDDI, SOAP, HTTP) die Interoperabilität von Web Services nicht gewährleistet, wurde das WS-I Basic Profile definiert. Es beschreibt Regeln, durch deren Einhaltung eine Interoperabilität sichergestellt werden soll. Diese Regeln beziehen sich zum Beispiel auf die Datentypen der Übergabeparameter und das Encoding der Daten; für die weiterführenden WS-*-Standards entwickelt die WS-I entsprechende Interoperabilitätsprofile. Neben den Regeln stellt die WS-I aber auch ein Werkzeug zur Verfügung (WS-I Testing Tool), mit dem ein Web Service und dessen gesamte Kommunikation untersucht und auf seine Konformität zum Basic Profile geprüft werden kann.
Microsoft unterstützte die neuen WS-*-Standards von Anfang an und erweiterte bereits im Dezember 2002 das .Net-Framework mit der ersten Version der Web Service Enhancements (WSE). Da zur damaligen Zeit erst wenige dieser erweiterten Standards verabschiedet waren, beschränkte sich die Unterstützung auf WS-Security, WS-Routing, WS-Attachements und WS-Referral. Der Support für neuere Standards, die mit der Zeit verabschiedet wurden, ist nun in die Version 2.0 von WSE eingeflossen. So werden jetzt neben weiteren Neuerungen auch WS-Trust, WS-SecureConversation, WS-Addressing, WS-Eventing und WS-Policy unterstützt. Die Web Service Enhancements integrieren sich direkt in das Visual Studio.Net und bieten eine Administrationsoberfläche für unterschiedliche Aktionen und Konfigurationseinstellungen. Basierend auf diesen Standards lässt sich eine Kommunikation von der Microsoft-Plattform zum Beispiel in Richtung auf Java-Plattformen durchführen. Gleiches gilt natürlich auch für die Kommunikation hinein in die Microsoft-Welt via Web Services.

Stefan Zill arbeitet bei dem IT-Dienst­leister Avanade als Solution Development Architect.