Das Geheimnis der Web-Services

Das Konzept der Web-Services ist für viele nach wie vor ein Buch mit sieben Siegeln.

Artikel erschienen in Swiss IT Magazine 2003/05

     

Eines ist sicher: Web-Services werden die Art der Datenverarbeitung in Unternehmen über kurz oder lang grundlegend verändern. Was bei Microsoft ".Net", bei Oracle "Network Services" und bei Novell "One Net Architecture" heisst, von Sun "Open Network Environment" und von IBM "Web Services" genannt wird, ist daran, sich vom Hype zur Realität zu mausern. So verschieden die Namen und Konzepte auch sind, eines ist ihnen gemeinsam: Alle gehen davon aus, dass Unternehmen künftig Informationen und Applikationen, also die Möglichkeit etwas mit den Informationen zu tun, als Dienste übers Internet zur Verfügung stellen und beziehen werden. Die Grenzen zwischen "Mein" und "Dein" werden sich verwischen.



Aber was sind Web-Services eigentlich? Das Konzept scheint auf den ersten Blick konfus, und die zahlreichen Marketingsprüche und White Papers tragen zur Klärung nur wenig bei. Holger Silberberger, Director Net Business Strategies der Novell-Tochter Cambridge Technology Partners, erläutert: "Web-Services versetzen die unterschiedlichsten IT-Applikationen in die Lage, durch Nutzung standardisierter Internetprotokolle mit anderen Softwarekomponenten Daten und Informationen auszutauschen. Web-Services sind somit eine Softwarekategorie, deren Zweck es ist, von anderen Softwarekomponenten genutzt zu werden."




Web-Services ermöglichen somit, Anwendungen direkt mit anderen Anwendungen über das Internet zu verbinden, und zwar über definierte Schnittstellen, die unabhängig von Plattformen und Programmiersprachen über offene Standards funktionieren und deshalb ohne Anpassungen an den Applikationen nutzbar sind. Damit unterscheiden sich die Web-Services grundlegend von der traditionellen IT-Architektur.



Allerdings können Web-Services auch weniger technisch betrachtet werden. Silberberger: "Web-Services lassen sich auch als via IT abgewickelte (Geschäfts-) Prozesse beschreiben, auf die über das Internet zugegriffen werden kann. Über bestehende Abteilungs-, IT- oder Unternehmensgrenzen hinweg können so bereits existierende IT-Dienstleistungen für eigene, neue Zwecke wiederverwendet werden. Der Aufwand für Applikationsneuentwicklungen verringert sich entsprechend signifikant."


Die Probleme der Vergangenheit

In der herkömmlichen Informationstechnologie besassen Firmen ihre eigene Hardware, haben ihre eigene Software geschrieben oder gekauft und zahlreiche Mitarbeiter beschäftigt, die die Infrastruktur pflegten. Die Systeme waren und sind weitgehend proprietär, selbst wenn sie mit offenen Standards arbeiten.



Diese Methode funktioniert, sie bringt aber auch viele Probleme. Auf diese Weise gewachsene IT-Umgebungen sind meist stark heterogen, viele wichtige Anwendungen laufen auf komplett verschiedenen und getrennten Systemen. Dies wiederum führte dazu, dass viele grosse Unternehmen in den letzten Jahren Unmengen an Geld und Zeit investierten, um die verstreuten Business-Applikationen in hochkomplexen Enterprise-Resource-Planning-Systemen (ERP) zusammenzufassen.




Dadurch wurden einige Probleme gelöst, aber auch neue Probleme geschaffen: ERP-Systeme sind relativ unflexibel, weil sie Firmen in ein Korsett von fixen Geschäftsabläufen zwängen. Änderungen im Markt, Restrukturierungen, neue Partnerschaften - die schnelle und flexible Reaktion auf veränderte Umstände wird mit ERP-Systemen schwierig bis unmöglich. Und häufig genug finden sich - ERP hin oder her - weiterhin zahlreiche Business-Anwendungen auf einer Vielzahl von verstreuten, inkompatiblen Systemen.




Die Lösung der Zukunft

Hier bieten Web-Services einen komplett anderen Ansatz. Grundsätzlich basieren Web-Services auf offenen (Internet-)Standards und stellen damit im Gegensatz zu den mehr oder weniger proprietären, unflexiblen, monolithischen heutigen Systemen eine offene Architektur dar. Firmen pflegen nach diesem Konzept nicht mehr ihre eigenen Systeme, sondern mieten die gewünschten Funktionalitäten von einem externen Anbieter genau dann, wenn sie aktuell gebraucht werden.



Die Grundlage für diese Architektur sind die bereits angesprochenen Kommunikationsprotokolle und Standards, die die Verbindung zwischen den verschiedenen Anwendungen überhaupt erst ermöglichen (vgl. Glossar). Stark vereinfacht bestehen Web-Services demnach aus drei technologischen Ebenen: der Transport-Ebene, dem Definitions-Layer und dem sogenannten Service-Grid (vgl. Grafik).




Auf der untersten Ebene stehen die Transport-Protokolle, basierend auf den Internet-Standardprotokollen TCP/IP sowie HTTP. Darauf baut der Definitions-Layer mit SOAP (Simple Object Access Protocol) auf. SOAP dient dabei als Umschlag für einfache, formatierte Nachrichten, die die Anwendungen automatisch generieren, um weitere Services aufzurufen. Auf diese Weise müssen Programmierer sich nicht um proprietäre Schnittstellen von Anwendungen oder Services kümmern, sondern können standardisierte Aufrufe einsetzen - einzige Voraussetzung dafür ist, dass jede involvierte Applikation über ein SOAP-Interface verfügt.



Die eigentliche Kommunikation findet dabei über XML (eXtensible Markup Language) statt, die als Format für den Austausch von Inhalten dient, indem sie einem Service ermöglicht, den Inhalt einer Nachricht zu lesen und zu verstehen. Auch hier steht im Hintergrund die Absicht, die Programmierung zu vereinfachen: Statt für jede eingebundene Anwendung Kommunikationsschnittstellen programmieren zu müssen, reicht es, die Inhalte aus der Anwendung in XML zu übersetzen.



Auf XML basieren darüber hinaus verschiedene grundlegende Komponenten und Standards, darunter WDSL (Web Services Description Language), das beschreibt, wie bestimmte Web-Services miteinander verbunden werden, oder UDDI (Universal Description, Discovery and Integration), das als Verzeichnis für Web-Services dienen wird.



Die Protokolle und Standards der Transport- und der Definitionsebene bilden gemeinsam die Grundlage für den Service Grid, die Implementationsebene der Web-Services. Diese Ebene bietet eine Reihe von Basisdiensten, die von allen Web-Services für die zuverlässige Funktion benötigt werden. Dazu zählen etwa Überwachungs- und Performance-Dienste, aber auch Sicherheits- und Abrechnungsfunktionalitäten.




Die Vorteile von Web-Services

Aus dem bisher Gesagten ist bereits hervorgegangen, dass die Architektur von Web-Services gegenüber der herkömmlichen IT-Architektur einige entscheidende Vorteile bietet. Zunächst steht hier natürlich der wesentlich flexiblere Umgang mit der Informationstechnologie. Indem Web-Services den Unternehmen ermöglichen, bestimmte Funktionalitäten nur dann von externen Anbietern einzukaufen, wenn sie wirklich benötigt werden, helfen sie nicht nur, Kosten zu sparen, sondern können auch den Bedarf an IT-Spezialisten beschränken.



Kommt dazu, dass Web-Services von Drittanbietern ständig auf dem aktuellsten Stand sein müssen, um auf dem Markt bestehen zu können, was wiederum dem Käufer der Dienste zugute kommt.




Mindestens ebenso wichtig ist aber, dass Web-Services eine flexiblere Zusammenarbeit ermöglichen, und zwar sowohl innerhalb einer Firma als auch zwischen einem Unternehmen und seinen Partnern.



Die traditionelle Zusammenarbeit zwischen verschiedenen IT-Systemen funktionierte über Point-to-Point-Verbindungen mit einem speziell angepassten Konnektor, der die beiden Applikationen miteinander verband. Dieser Ansatz funktionierte zwar, verursachte aber bei der Verwaltung und bisweilen nötigen Anpassung der Konnektoren schnell einen unverhältnismässigen Aufwand.



In der Web-Services-Architektur werden die Konnektoren durch lose Koppelungen auf Basis der offenen Standards ersetzt: Informationen werden in XML übersetzt und mit SOAP übertragen. Eine Notwendigkeit, sich mit den proprietären Schnittstellen herkömmlicher Anwendungen zu beschäftigen, besteht damit nicht mehr, die Kompatibilität von Web-Services ist von vornherein gewährleistet.




Die Business-Relevanz von Web-Services

Auf diese Weise werden Web-Services die Geschäftswelt verändern. Erstmals wird es mit den Software-Komponenten aus dem Internet möglich, mit Dienstleistungen weltweit und über alle sprachlichen, kulturellen, informationsbezogenen und System-Grenzen hinweg Handel zu treiben. Proprietäre Systeme ebenso wie unterschiedliche Daten- und Kommunikationsstandards können mit Web-Services künftig überbrückt werden - Web-Services ermöglichen es Unternehmen, eine gemeinsame Sprache zu sprechen.



Die effizientere Integration von Business-Prozessen zwischen einzelnen Unternehmen, aber auch die erleichterte Auslagerung von ganzen Geschäftsprozessen werden vielen Unternehmen die Grundlage für ein weiteres Wachstum bieten, die internationale Datenkommunikation entscheidend voranbringen und letztlich die Globalisierung der Wirtschaft weiterentwickeln.




Bis dahin wird allerdings noch einige Zeit vergehen. Derzeit sind noch zahlreiche Probleme ungelöst. So sind beispielsweise verschiedene essentielle Sicherheitsmechanismen erst in Entwicklung oder fehlen noch ganz, andere sind zumindest bereits als Standard verabschiedet. Neben technischen Problemen gibt es noch einige grosse wirtschaftliche Fragen zu beantworten. Zum Beispiel die Frage, wie Maschinen in Zukunft untereinander automatisch Konditionen verhandeln sollen.


Glossar

BPEL (Business Process Execution Language): Spezifikation
einer Metasprache, die Web-Services untereinander verknüpft. Kombiniert und ersetzt IBMs WSFL und Microsofts XLANG.



BPML (Business Process Modeling Language): XML-basierende Metasprache zur Modellierung von Businessprozessen.



EAI (Enterprise Application Integration): Oberbegriff für Methoden und Tools, die der Modernisierung und Konsolidierung von herkömmlichen Applikationen und Systemen in Unternehmen dienen.



ebXML (E-Business XML): XML-basierende Metasprache, die anstelle von EDI den standardisierten, sicheren Austausch von Business-Daten ermöglichen soll.



EDI (Electronic Data Interchange): Standardformat für den Austausch von Business-Daten zwischen verschiedenen System. Im Vergleich zu Web-Services unflexibel und komplex.



SOAP (Single Object Access Protocol): ermöglicht die webbasierende Kommunikation zwischen Programmen in heterogenen Umgebungen. Nutzt XML und HTTP als Grundlagen für den Informationsaustausch und funktioniert deshalb auch über Firewalls hinweg.



UDDI (Universal Description, Discovery, and Integration):
XML-basierendes Verzeichnis, in dem sich Firmen aus aller Welt mit ihren Web-Services registrieren können. Hat zum Ziel, Systeme und Anwendungen für den E-Commerce interoperabel zu machen und damit Online-Transaktionen zu vereinfachen.



WS-I (Web Services Interoperability Organization): Organisation von IT-Firmen, die Spezifikationen und Standards für Web-Services kreieren will. Im Vordergrund stehen derzeit Spezifikationen für BPEL, WS-Coordination, WS-Transaction und WS-Security.



WSDL (Web Services Description Language): XML-basierende Metasprache, die die Dienstleistung eines Unternehmens beschreibt und anderen Firmen den elektronischen Zugriff auf diese Leistungen ermöglicht. Zusammen mit UDDI das Rückgrat der Web-Services.



WSFL (Web Services Flow Language): XML-basierende Metasprache zur Beschreibung von Web-Services.



WSIL (Web Services Inspection Language): XML-basierte Metasprache, die es Herstellern von Web-Services ermöglicht, ihre Dienste anzupreisen.



XML (eXtensible Markup Language): flexible Metasprache, die die Entwicklung von Informationsformaten ermöglicht und sowohl die Datenstruktur als auch die Daten beinhaltet und über Netzwerke verteilen kann. Grundlage für zahlreiche Web-Service-Standards wie SOAP, UDDI oder WSDL.


Web-Services Definitionen

Der Begriff "Web-Services" ist schwammig: Je nach Firma, White Paper und Gesprächspartner wird darunter etwas komplett anderes verstanden. Entsprechend vielfältig sind denn auch die Definitionen, die man für die IT-Architektur der Zukunft findet.
Während etwa für die Gartner Group "alles, was entweder SOAP, WSDL oder UDDI" nutzt, automatisch ein Web-Service ist, sieht IBM darin "ein Set von Standards, die beschreiben, wie Systeme sich untereinander verbinden und Information austauschen". Das spezialisierte Webportal Web-Servicesarchitect.com spricht von "sich selbst beschreibenden, unabhängigen, modularen Applikationen, die lokal, verteilt oder übers Internet beliebig mit anderen Web-Services vermischt werden können". Als "Programme, die von anderen Softwarekomponenten genutzt werden können, nicht aber von Menschen", werden Web-Services von Holger Silberberger von Cambridge Technology Partners umschrieben, und für Microsoft stellen sie "die fundamentalen Bausteine auf dem Weg zum verteilten Computing übers Internet und die Plattform für die Applikations-Integration" dar. Die Stencil Group definiert Web-Services als "lose gekoppelte, wiederverwendbare Softwarekomponenten, die einzelne Funktionalitäten zusammenfassen und über Standard-Internetprotokolle sowohl verteilt werden als auch für Programme zugänglich sind". Pragmatisch schliesslich gibt sich die Harvard Business Review, die Web-Services schlicht als "your next IT-strategy" erklärt.



So unterschiedlich die Definitionen auch sind, letztlich geht es bei allen in der einen oder anderen Form um drei wesentliche Punkte:





• Web-Services ermöglichen Systemen und Applikationen per Standard-Internetprotokoll den Zugriff auf nützliche Funktionalitäten und Inhalte. Als Protokolle kommen dabei meist HTTP und SOAP zum Einsatz.




• Web-Services beschreiben ihre Funktionsweisen und Oberflächen in einer Weise, die es einem Anwender ermöglicht, eine Applikation zu schreiben, die wiederum auf diese Funktionalitäten zugreifen kann. Bei dieser Beschreibung handelt es sich um ein im XML-Dialekt WSDL (Web Services Description Language) geschriebenes Dokument.




• Web-Services werden registriert, damit potentielle User sie via UDDI (Universal Discovery, Description and Integration) schnell finden können.



zur Illustration: Web-Services - Software für Software


Entwicklungsstufen für Web-Services

Der Einsatz von Web-Services in Unternehmen erfolgt sinnvollerweise nicht auf einen Schlag, sondern sollte kontinuierlich erweitert werden. Im Vordergrund für erste konkrete Projekte stehen natürlich Geschäftsbereiche, in denen einem relativ geringen Aufwand und einer schnellen Realisation ein rasch zu erzielender Return on Investment (ROI) gegenübersteht. Wie Holger Silberberger von der Novell-Tochter Cambridge Technology Partners erklärt, ist der Einsatz von Web-Services derzeit vor allem dann sinnvoll, wenn in einem Unternehmen eine grosse Anzahl zu verknüpfender Systeme mit einer gleichzeitig hohen Veränderungsdynamik vorhanden ist, auf die ausserdem mehrere Nutzergruppen zugreifen müssen. Für nur wenige Nutzer oder Systeme dagegen lohnt sich der Aufwand für die Implementation nicht, bei geringer Änderungsfrequenz der Systeme werden Web-Services nicht benötigt.



Dabei lassen sich Web-Services grob in drei Kategorien fassen, die sich gleichzeitig mit den typischen Entwicklungsstufen bei der Einführung und dem Ausbau von Web-Services in Unternehmen decken.





Das Stufenmodell

In der ersten Entwicklungsstufe werden typischerweise unternehmensinterne Integrationsvorhaben durchgeführt. Das Ziel ist dabei, existierende Systeme besser zu nutzen und damit die Produktivität des Unternehmens zu erhöhen. Neben Firmenportalen, die sich als Umgebung für die Sammlung von Erfahrungen besonders eignen, werden auch CRM-, ERP- und weitere Systeme innerhalb der Unternehmensgrenzen und der Firewall mit Web-Service-fähigen Front-ends versehen, um bereits getätigte Investitionen durch die neue Kommunikationsfähigkeit der Applikationen besser zu nutzen.



Auf der zweiten Stufe werden die bisher internen Web-Services auch ausgewählten externen Anwendern zur Verfügung gestellt. Dabei handelt es sich um vertrauenswürdige Kunden und Partner, zu denen meist schon langjährige Geschäftsbeziehungen bestehen. Es liegt auf der Hand, dass auf dieser Stufe wesentlich strengere Sicherheitsmechanismen für die Web-Services benötigt werden. Gleichzeitig öffnen sich durch die zunehmende Verfügbarkeit unterschiedlichster Web-Services auch komplett neue Geschäftsmöglichkeiten.




Im letzten Entwicklungsschritt schliesslich stehen die Web-Services sämtlichen, auch bisher unbekannten Partnern und Kunden zur Verfügung. Auf dieser Stufe beginnt die Realität, den Visionen der Hersteller der Web-Service-Frameworks zu entsprechen. Unternehmensinterne Systeme sollen dann ohne menschliches Zutun automatisch auf dem Markt nach Kooperationspartnern suchen, die für die effiziente, IT-gestützte Abwicklung bestimmter Geschäftsprozesse notwendig sind, wie Silberberger erklärt. Neben UDDI als Web-Service-Verzeichnis spielen auf dieser Stufe natürlich äusserst wirksame Sicherheitsmechanismen eine herausragende Rolle. Damit die komplette Automatisierung des Integrationsprozesses überhaupt möglich wird, müssen die Web-Services ausserdem über Fähigkeiten zur selbständigen Verhandlung von Konditionen (beispielsweise Preise, Nutzungsbedingungen) verfügen.



zur Illustration: Business Impact Roadmap



Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Was für Schuhe trug der gestiefelte Kater?
GOLD SPONSOREN
SPONSOREN & PARTNER