W e b s e r v i c e P r o v i d i n g
Rudi Ivancsits (
ivancsits@info.fh-eisenstadt.ac.at
)
Seite 1
Web-Services
Einleitung
,,Intelligente Webservices sind für das
Informationszeitalter das, was austauschbare
Komponenten für das Industriezeitalter waren. Wir
stehen am Rande einer Explosion der Services, die
diesen freien Markt beflügeln werden und
einfachere, leichtere, intelligentere Services zu jedem
Mann, zu jeder Frau und zu jedem Kind bringen werden."
Scott McNealy, Chairman und Chief Executive Officer, Sun Microsystems, Inc.
Das Erstellen ausschließlich statischer Websites zählt längst zur Vergangenheit. Heutzutage
findet man kaum mehr eine Website, die nicht dynamisch unterstützt ist: Sei es in Form eines
Online-Shops, eines Forums für autorisierte Benutzer oder eine Seite, die auf Benutzer individuell
reagiert.
Auch wird sich der typische PC-Arbeitsplatz in den nächsten Jahren mit Sicherheit ändern. Wir
werden zwar nicht unsere gesamte Textverarbeitung oder Tabellenkalkulation über das Internet
erledigen, denn dafür wird es auch weiterhin so genannte Office-Pakete geben, aber für spezielle
firmeninterne Prozesse wird es maßgeschneiderte Software geben, auf die beispielsweise im
Intranet alle Arbeitsplätze zugreifen können. Wo man früher spezielle Clients für die einzelnen
Hardwareplattformen und Betriebssysteme brauchte, benötigt man heute nur noch Browser und
einen Zugang zum Netz.
Web Services ist das neue Schlagwort, wenn über die Weiterentwicklung des World Wide Web als
Infrastruktur für unternehmensübergreifende Anwendungen diskutiert wird. Web Services zielen
nicht nur auf fertige, isolierte Anwendungen wie etwa einen elektronischen Buchladen oder ein
Flugbuchungssystem ab. Vielmehr ermöglichen sie es, weltweit verfügbare Dienste zu
implementieren, die entweder direkt vom Endanwender genutzt oder von "Zwischenhändlern" in
neue Anwendungen integriert werden können.
Verglichen mit den heute eingesetzten - z.B. auf dem J2EE-Modell (Java 2 Enterprise Edition)
basierenden - verteilten Web-Anwendungen werden mit Web Services die bisher nur intern
verwendeten Dienste von Enterprise Java Beans, DCOM- oder CORBA-Komponenten nach
außen bekannt und nutzbar gemacht. Um dies möglichst universell tun zu können, wurde beim
Design der Web-Services-Technologie konsequent auf die Verwendung offener Standards und
möglichst einfacher und damit leicht umzusetzender Protokolle geachtet. Und dabei zogen
praktisch alle Großen der Software-Branche an einem Strang!
Abbildung: Generationen von Web-Services:
W e b s e r v i c e P r o v i d i n g
Rudi Ivancsits (
ivancsits@info.fh-eisenstadt.ac.at
)
Seite 2
Quelle: Microsoft .Net Roadshow
Beim Internet der 3. Generation sollen Informationen nicht mehr ungefiltert zum
Internetbenutzer gelangen, sondern sollen durch intelligente Softwareverfahren die
Informationen filtern. Informationen, intelligent zu filtern ist jedoch nur ein Teilaspekt der
eigentlichen Zielsetzung beim Internet 3, bei der es darum geht, das Internet intelligenter und
effizienter für den Benutzter zu gestallten.
Am Ende dieser Entwicklung stehen die von Zeit und Ort unabhängige Verfügbarkeit der Daten
für den Benutzer, sowie die Möglichkeit Rechner im Internet zu einer mächtigen virtuellen
Maschine zusammenzufassen (Grid Computing).
Durch Techniken wie das Peer to Peer Computing wird das Zusammenarbeiten über das Internet
so stark vereinfacht, dass es in naher Zukunft egal sein wird ob man im selben Büro mit seinem
am Projekt arbeitenden Partnern sitzt oder irgendwo anders auf der Welt.
Heute basieren die meisten der Lösungen, die ähnliches wie Web-Services ermöglichen auf
proprietären Standards. Schnittstellen werden meist für jede konkrete Anwendung neu definiert
und konzipiert. Die Formate sind meist binär und ihre Implementierung braucht oft Jahre. Aber
vor allem brauchen Sie meist die helfende Hand eines Programmierers. Mit Web Services soll all
dies von Applikationen selbstständig erledigt werden.
Die Großzahl dieser Standards sind immer noch ein "moving target" also noch im Status eines
"Working Draft" beim W3C. Bevor diese den Status einer "Recommendation" erreichen, werden
jedoch noch einige Jahre ins Land gehen, doch es gibt bereits heute sehr viel versprechende
Ansätze, die einige dieser neuen Standards einsetzen.
Ein gern genutztes Beispiel ist immer der Reiseanbieter, der seinen Kunden Zugriff auf beliebige
Produkte wie z.B. Bahnticket-, Flug- und Hotelbuchungen ermöglichen will. Statt alle Produkte
selber in einer Datenbank zusammen zu fassen und sich um alle Details selber kümmern zu
müssen, kann er zur Laufzeit mit Hilfe von Web Services ein Angebot auf Basis der Daten, die
ihm die verschiedenen Zulieferer bei einer Anfrage zurück geben, zusammenstellen. Der Kunde
selber hat den Vorteil, dass er nur mit einer Firma und auf einer Seite seine gesamte Reise buchen
kann. Wenn eine der Komponenten nicht verfügbar sein sollte kümmert sich das System
automatisch um das stornieren der einzelnen Reisekomponenten.
Ein weiteres Beispiel soll die Vorteile von Web Services unterstreichen.
Eine Firma bekommt den Auftrag eine Applikation in kurzer Zeit zu entwickeln. Anstatt alle
Komponenten selber zu entwickeln, schaut sie in einer "Registry" (UDDI) nach den benötigten
W e b s e r v i c e P r o v i d i n g
Rudi Ivancsits (
ivancsits@info.fh-eisenstadt.ac.at
)
Seite 3
Komponenten und wählt aus einer Liste von Alternativen die Optimale aus. Sollten sich im
Nachhinein die Anforderungen ändern kann man schnell auf eine andere Komponente aus der
"Registry" wechseln. Dies hat zwei gravierende Vorteile: einmal spart man sich einen Großteil
der Entwicklungzeit und zweitens steigert man die Zuverlässigkeit, da man so bereits getestete
Komponenten nur noch "zusammenstricken" muss.
Selbstverständlich werfen Web Services aber auch neue Probleme auf. Je geringer bzw. je
automatisierter der Kontakt zum Hersteller des Web Service ist, desto unberechenbarer werden
Faktoren wie Serverabstürze, Wartungen oder gar Firmenpleiten, die den Zugriff auf den Web
Service beeinträchtigen können.
Begriffsdefinition
Das W3C hat einen neuen Standard für Webservices entwickelt, der sich aus den einzelnen
Bausteinen, dazu zählen XML (Beschreibungssprache), SOAP (Internetprotokoll), UDDI
(zentrales Register) und WSDL (Service Beschreibungssprache), zusammensetzt. Dieser Standard
des W3C, auf den sich alle bedeutenden Softwarehersteller, z. B. Sun, SAP und Microsoft,
verständigt haben, vereint alle wichtigen Bausteine für Funktion, Architektur und Distribution
von Webservices.
Was sind nun Webservices? Und was nicht?
Was Webservices nicht sind: weder eine neue Programmiersprache, ein eBusiness Framework
oder gar ein neuer Internetdienst. Vielmehr handelt es sich um einen Standard für Schnittstellen
zwischen z. B. Applikationen und Contentservices im Internet. Das Besondere liegt darin, dass
ein solcher Service von einem anderen Service aufgerufen werden und dessen Funktionen nutzen
kann, als wäre es ein systeminternes Modul. Dritte können den Service aufrufen, ohne die
dahinter liegende Software-Infrastruktur zu kennen: Die Schnittstelle jedes Services in einem
Standard ist dafür gestaltet und definiert. So kann bei Business Anwendungen die leidige Frage
nach der Integrationssoftware der so genannten Middleware zwischen zwei proprietären
Systemen (z.B. SAP, Oracle, Sun, HP, Bea, Microsoft etc.) universell gelöst werden. Damit wird
der Vorgang der Verbindung eines Unternehmens mit einem anderen Unternehmen, Extranet
oder Marktplatz standardisiert und somit vereinfacht.
Diese Standards werden interne Softwaresysteme vernetzen und für Supply Chain Monitoring
und im Customer Relationship Management eingesetzt werden. Ein bedeutender Anteil der
Integrations-Aufwendungen und die Vernetzung von Anwendungen werden damit allgemein
vereinfacht.
Diese Standards vergrößern die Möglichkeiten vernetzter Anwendungen und unterstützten die
Entwicklung von ASP-Lösungen. Webservices können z. B. im eProcurement-Prozess
mehrdimensionale Optimierungsziele verfolgen.
Abbildung: Zwiebelschalenmodel zur Übersicht und Überblick der Technologien:
W e b s e r v i c e P r o v i d i n g
Rudi Ivancsits (
ivancsits@info.fh-eisenstadt.ac.at
)
Seite 4
Mit Webservices ist eine Integration unterschiedlichster Applikationen möglich. Im Internet ist
es so, dass Standards wegen der verteilten Architektur eher auf Protokollen basieren als auf
Implementierungen. Das Internet setzt sich aus ganz heterogenen Technologien zusammen, die
über gemeinsame Protokolle und nicht über eine Middleware mit einander kommunizieren. Kein
Softwarehersteller kann im Internet einen eigenen proprietären Standard durchzusetzen und
keine Programmiertechnik kann als einzige Lösung das Internet dominieren.
Webservice Standards wurden dem W3C zur Anerkennung vorgelegt, nachdem sie von
namhaften Unternehmen gemeinsam in der XML Standard Protokoll Kommission entwickelt
wurden. Mittlerweile hat fast jedes dieser Unternehmen ein eigenes mit ihren
Entwicklungsumgebungen kompatibles Toolkit für SOAP herausgebracht.
Application Server hosten dabei Webservices und machen sie damit für Webservice Protokolle
zugänglich. Die Beschreibungssprache für Webservices heißt WSDL (Webservice Description
Language). WSDL Dokumente wiederum beinhalten die Adresse und alle Befehle zum Aufruf
des jeweiligen Webservice, die zentral im UDDI (Universal Description, Discovery, and
Integration) Business-Verzeichnis gespeichert und abfragebereit zur Verfügung stehen. Diese drei
Standards zusammengenommen determinieren den Webservice Standard.
Abbildung: Aufbau einer Web-Serive Architektur und Ablauf bei Zugriff
0 Kommentare