.NET ist ein Konzept zum Objekt-Zugriff über Internet- Technologien.
Ein Objekt, das über diese Technologien verfügbar ist, heißt "Web Service".
Web Services können nahezu beliebige Art von Daten bereitstellen. So gibt es Web Services, die Wetterdaten liefern oder einen Text übersetzen.
Aus der Sicht des Anwenders solcher WEB Services bedeutet das, auf entfernte Objekte zugreifen zu können um die Ergebnisse in eigenen Anwendungen verwenden zu können.
Theoretisch ermöglicht das eine Integration und Interaktion der verschiedensten Dienste: so kann z.B. der Routenplaner- Service auf den Verkehrsnachrichten- Service und den Wetterdienst- Service zurückgreifen, um eine Route zu planen. Der Wetterdienst- Service wiederum erhält seine Informationen von den verschiedenen Wettersatelliten- Services usw.
Nachfolgend werden die Grundlagen zu WEB Services ausgehend von den bisherigen Technologien und den daraus resultierenden Problemen dargestellt. Die in diesem Kapitel beschriebenem Grundlagen sind keine ausführlichen Beschreibungen für Entwickler von WEB Services. Die Informationen sind für Entscheider in Unternehmen und Interessierte an WEB Services gedacht und dementsprechend global gehalten.
Problemstellung
Eine der Probleme seit es vernetzte Computer gibt besteht darin, dass ein Computer A das Ergebnis einer Berechnung eines anderen Computers benötigt um seine Aufgabe erfüllen zu können.
Wie kann nun Computer A Computer C dazu bewegen die Berechnung für Ihn Auszuführen und ihm das Ergebnis zu übermitteln, so dass Computer A wiederum seine Berechnung durchführen kann.
Das ist die grundlegende Funktionsweise von Remote Procedure Calls. Eine Prozedur soll auf einem entfernten Rechner aufgerufen und ausgeführt werden. Der Aufrufer soll das Ergebnis erhalten.
Bisherige Lösungsansätze
Die bisherigen Lösungsansätze der jüngsten Zeit waren: COM in der Microsoft- Welt RMI (Remote Method Invocation) in der Java-Welt CORBA in der IBM Welt.
Alle Lösungen hatten aber entscheidende Nachteile
Plattformabhängigkeit
Die bisherigen RPC Lösungen waren an bestimmte Plattformen gebunden. RMI funktioniert beispielsweise nur, wenn sowohl Computer A als auch Computer B ein Java- Programm ausführen. Diese Möglichkeit gibt es zwar. Aber es ist eine klare Einschränkung. Beim Distributed Computing findet man eher eine heterogene Landschaft von unterschiedlicher Hard- und Software vor.
Firewall
Die meisten der bisher verwendeten Techniken haben Protokolle verwendet die nicht durch Unternehmens Firewalls hindurchgelassen wurden. Da man aber eine Firewall nicht wegen jeder Anwendung mehr und mehr zu einem Schweizer Käse machen kann, waren die meisten bisherigen Anwendungen auf den Einsatz in Intranets beschränkt.
Der Lösungsansatz
Mit WEB Services werden die meisten Nachteile der bisherigen Technologien aufgehoben.
Plattformunabhängigkeit
Web Services sind für den Einsatz in einem heterogenen Umfeld konzipiert. Plattformübergreifende Zugriffe auf WEB Services sind somit Standard dieser Technologie.
Firewall
WEB Services kommunizieren über den Port 80 im HTTP oder HTTPS Format wie eine ganz normale WEB Seite. Hierdurch sind Firewalls kein Problem für den Einsatz von WEB Services im Internet.
Einfache Plattform
Jedes Unternehmen, das eine Webseite betreibt, kann über diese vorhandene Infrastruktur auch Web Services anbieten und nutzen. Damit sind Web Services eine Schlüsseltechnologie für die Integration verteilter Anwendungen.
WEB Services basieren ausschließlich auf Basis Technologien des Internet.
HTML
Basistechnologie HTTP mit HTML als Sprachelemente.
Über HTTP können zwei Computer miteinander kommunizieren. Computer A sendet eine Anfrage (Request) an Computer B und Computer B sendet eine Antwort (Response) an Computer A zurück, sofern er eine Antwort hat. Wenn er keine definierte Antwort für den Computer A hat sendet er Ihm eine Fehlermeldung zurück.
Für diese Kommunikationsart gibt es ein gut ausgebautes weltweites Netzwerk, das World Wide Web.
Fast jede Firma betreibt heute bereits einen Webserver, der auf Anfragen von Browsern HTML Seiten als Antwort sendet.
Der große Vorteil von WEB Services basiert im wesentlichen darauf dass sie die auf die existierende HTTP- Infrastruktur aufbauen und keine neue kostspielege Infrastruktur benötigen.
Der Unterschied zwischen einer Webseite und einem WEB Service besteht in erster Linie darin, das auf eine Webseite ein Mensch mit einem Browser anfragen sendet und die Ergebnisse in seinem Browser angezeigt bekommt, und der WEB Service die Kommunikation zwischen zwei Computern ohne menschliche Interaktion ist.
XML
Über HTTP werden in der Regel Daten im HTML-Format verschickt. Dies ist vor allem bei normalen Webseiten der Fall.
Das versenden von Daten im HTML format ist aber nicht zwingend beim Einsatz von HTTP. XML wurde entwickelt um Daten beliebigen Typs in einem einfach zu übertragenden Format zu beschreiben. Im weitesten Sinne kann man XML als ein selbstbeschreibende HTML basierte Erweiterung angesehen werden. Mit XML ist es Möglich komplexe Strukturen mit einem einfachen Protokoll wir HTTP zu übertragen.
XML ist die Voraussetzung für diese Art der Kommunikation. XML besitzt noch kein Vokabular für Remote Procedure Calls, aber immerhin bereits ein Alphabet, das in der Computerwelt weithin akzeptiert ist.
SOAP
SOAP (Simple Object Access Protocol) liefert das in XML fehlende einheitliche Vokabular, das Remote Procedure Calls über HTTP ermöglicht.
So wie HTML die Namen von Elementen und Attributen für die Gestaltung von Webseiten zur Verfügung stellt, so definiert SOAP die Elemente und Attribute, die für den Aufruf von entfernten Methoden verwendet werden. Dabei ist SOAP nicht auf einfache Schlüssel-Wert-Paare beschränkt, sondern es kann auch komplexere Objekte verwenden.
Die Zukunft des eBusiness
Mit WEB Services beginnt die Zukunft des eBusiness.
WEB Services sind bereits Heute ein wichtiger und fester Bestandteil des Internets. Mit WEB Services wurde ein wichtiger Grundstein zum globalen elektronischen Markt gesetzt.
Web Services bilden eine Familie von XML-basierten Standards wie SOAP, WSDL und UDDI. Die Definition dieser Standards obliegt dem World Wide Web Konsortium.
Namhafte Hersteller wie Microsoft (.NET) und IBM/SUN (J2EE) haben Plattformen für die Realisierung von Web Service- Architekturen entwickelt. |