Web

CW extraKT: Web Services im "Collaborative Commerce"

31.01.2002
0

"There’s no Business like E-Business" - auf diese Formel ließ sich der Traum vieler Firmenchefs aus der New Economy und mit einer gewissen zeitlichen Verzögerung auch der Old Economy bringen. Doch der Traum ist ausgeträumt. Viele virtuelle Handelsplätze sind an den Gegebenheiten der Praxis gescheitert.

Nun macht sich das B2B-Geschäft daran, das Tal der Tränen zu verlassen: Es beginnt die Zeit der realistischen Selbsteinschätzung, und der Gedanke der Professionalisierung hält endlich Einzug in die Chefetagen. Was E-Markets wirklich bringen und weitere Entwicklungen im Collaborative Commerce lesen Sie in der nächsten COMPUTERWOCHE extra, die am 15. Februar 2002 erscheint. Den folgenden Beitrag bieten wir Ihnen bei Computerwoche online exklusiv als "Appetithäppchen" an.

MÜNCHEN (COMPUTERWOCHE) - Auch wenn die Verbreitung von Web Services noch ganz am Anfang ist, eine Technik, die auf drei recht simplen Standards basiert, verspricht enorme Vorteile: einfache Kommunikation, flexible Prozesse und neue Geschäftsmodelle.

Von Michael Wiedemann*

Es war Liebe auf den ersten Blick. Herrn K. fiel der silbergraue GRAND VITARA V6-2.5 Jeep von Suzuki sofort ins Auge: “Den will ich am liebsten sofort mitnehmen, wenn da nur nicht diese langwierigen Anmeldeformalitäten wären, sprach er vor sich hin. “Kein Problem,” riss ihn der Verkäufer aus seinen Gedanken. “Wir sind direkt mit der Zulassungsbehörde verbunden. Das läuft nun automatisiert ab und wir können Ihr Auto binnen kürzester Zeit anmelden. Sie brauchen sich um nichts zu kümmern.”

Dieses Szenario ist keinesfalls Fiktion, sondern stammt von Suzuki England, das seit Ende 2001 über Web-Services die bis dato manuellen Prozesse der Automobilzulassung automatisiert haben. So können sämtliche Suzuki-Händler ihren Kunden einen Zusatzservice anbieten und den Verkaufsprozess von Neuwagen erheblich beschleunigen. Die Autohäuser werden damit quasi zu einer Art Zulassungsstelle, die die Informationen an die zuständige Dienststelle weitergibt. Allein in Großbritannien verfügt Suzuki über ein Netzwerk von 140 Vertragshändlern, die im ersten Halbjahr 2001 mehr Autos verkauft haben, als jemals zuvor in der Firmengeschichte. Bis zum Jahresende erwartet das Unternehmen einen Gesamtumsatz von 30 000 Fahrzeugen.

Web-Services im Collaborative Commerce

Hinter diesem relativ einfachen und doch sehr wirkungsvollen Workflows zwischen Hersteller, Händler und Zulassungsbehörde steckt ein seit Mitte 2001 aufkommender Standard: Web-Services. Dieser hilft Unternehmen dabei, die Geschäftsprozesse im Collaborative Business mit Hilfe von standardisierten Internet-Technologien (XML, SOAP, WSDL, UDDI etc.) zu verknüpfen. Web-Services verlangen nicht die Integration von gesamten Systemen, sondern zielen darauf ab, einzelne, neue Businessfunktionen zu kreieren, die wiederum auf bestehende Systeme über standardisierte Schnittstellen zugreifen. Die Vorgehensweise lässt sich als zweistufiger Prozess beschreiben: Zunächst werden die bestehenden Systeme wie Datenbanken oder ERP-Anwendungen mit XML in/out-Funktionen ergänzt und somit "Web-Service-fähig" gemacht. Der zweite Schritt lautet nun, einzelne relevante Funktionen zu erstellen. Hierzu lässt sich flexibel auf diverse Systeme unterschiedlichster Herkunft zugreifen und

je nach Prozess können unterschiedliche Parteien eingebunden werden. In den kommenden Jahren werden in der ersten Phase zunächst interne Prozesse und bekannte Nutzer wie Partner oder Behörden in solche Prozesse integriert. Die Integration von Kunden über das öffentliche Internet ist dann der nächste Schritt.

Somit wird klar: Web-Services sind kein revolutionär neuer Ansatz, sondern eine logische Weiterentwicklung von Internet-Standards für die rasche und kostengünstige Einbindung der bisherigen Legacy-Architekturen in moderne E-Business-Prozesse. Der Kern besteht darin, bereits existierende Geschäftsanwendungen durch Internet-Technologien auszudehnen. Den Grundstein dafür legte der Siegeszug des Internets, der die Vernetzung von Geschäftsprozessen ermöglicht.

Web-Services im Detail

Im Grunde folgen Web-Services einem sehr einfachen Konzept: Funktionen auf Systemen werden durch das Senden von Anforderungen und Daten zwischen Computern unter Verwendung von XML und HTTP ausgeführt. Jeder, der XML oder HTTP sendet, wendet im Prinzip bereits Web-Services an – wenn auch sehr rudimentär. Das Konzept wird jedoch deutlicher, wenn man einige weitere Standards betrachtet.

Um Anforderungen und Antworten zu verkapseln, verwenden Web-Services einen als SOAP (Simple Object Access Protocol) bezeichneten XML-Standard. WSDL (Web-Services Definition Language), ein weiterer XML-Standard, beschreibt den Kommunikationspartnern, was die Funktionen leisten und welche Daten benötigt werden. Mit UDDI (Universal Description Discovery Integration) - ebenfalls ein XML-Standard - lassen sich Funktionen in einer Registrierung speichern, damit Dritte wissen, welche Services wo verfügbar sind.

Die Verarbeitung verteilter Dienste ist nichts neues. Standards wie Corba, COM und RMI bieten diese Möglichkeit schon seit einigen Jahren. Doch in der Praxis scheiterten diese Ansätze an der Plattformgebundenheit und an ihrer Komplexität. Standards wie SOAP, WSDL und UDDI sind dagegen von der zugrunde liegenden Sprache, dem Betriebssystem oder den Transport-Protokollen unabhängig. Technisch gesehen, müssen Web-Service-Anforderungen nicht einmal über HTTP vorgenommen werden. Sie können per SMTP (E-Mail) oder einen anderen Kommunikationsstandard erfolgen. HTTP ist lediglich der verbreitetste und am einfachsten zu interpretierende Standard.

Im Wesentlichen sieht der Ablauf wie folgt aus: Durch die Verknüpfung mit einem SOAP-Server können Unternehmen im Rahmen einer Collaborative-Business-Strategie eine bestimmte Funktion zu einem Web-Service machen. Wenn eine Anforderung an dieser URL eintrifft, nimmt das System das eingehende XML an und ruft die entsprechende Funktion auf. Zum Auffinden dieses Services stellen Entwickler ein WSDL-Eintrag zur Verfügung . Dritte - seien es Partner, Zulieferer oder eine andere Niederlassung - die diese Funktion verwenden möchten, können das WSDL erhalten und Tools ihrer Wahl verwenden, um einfach SOAP-Aufrufe an den Server machen zu können. Und wenn ein Unternehmen möchte, dass die Verfügbarkeit ihrer Funktion öffentlich oder halb-öffentlich bekannt gemacht wird, kann es eine Beschreibung des Web-Services in einem UDDI-Verzeichnis publizieren.

Web-Services erleichtern es Unternehmen, intern und extern miteinander zu kommunizieren und Funktionen auszutauschen - und das zu geringeren Kosten. Ein weiterer Pluspunkt ist, dass sie nicht nur die Integration mit externen Geschäftspartnern fördern, sondern auch die Verknüpfung von Systemen innerhalb des eigenen Unternehmens.

Sobald eine Funktion als Web-Service zur Verfügung steht, kann grundsätzlich jeder, der dazu befugt ist - Intranet-, Extranet- oder auch Internet-User - unter Verwendung von XML und HTTP auf die Funktion zugreifen. Dabei spielt es keine Rolle, ob das eigene System auf J2EE basiert und das andere System ein Visual-Basic-System ist. Wenn ein Unternehmen und dessen Geschäftspartner Web-Services verwenden, lassen sich Aufrufe in die Geschäftsprozesse einbinden. Die Integration von Systemen kann also exponentiell vervielfältigt werden, was sich darauf auswirken wird, wie wir Geschäfte führen.

Überzeugend und zukunftssicher ist die Rolle von herstellerunabhängigen Standards. Derzeit kann eine Abteilung Microsoft-Tools zur Erzeugung von COM-basierten Systemen verwenden, während eine andere Abteilung J2EE für die Systemerzeugung nutzt. Häufig ist es aber nicht möglich, die in den verschiedenen Abteilungen erzeugten Funktionen gemeinsam zu nutzen. Für eine gemeinsame Nutzung ist dann der Einsatz einer COM-zu-CORBA-Brücke oder das Schreiben eines umfangreichen Codes zur Umleitung von Daten über XML und HTTP erforderlich. Im Web ist keine Brücke erforderlich, da Tools für Web-Services zur Verfügung stehen, die beliebige Java- oder Microsoft-Komponenten unterstützen. Somit ist nur eine geringfügige zusätzliche Programmierung erforderlich, um Anforderungen zwischen diesen Systemen umzuleiten.

Neuer Ansatz in der Applikationsentwicklung

Eine der Zielsetzungen von Systemarchitekten und Entwicklern besteht darin, lose verknüpfte Systeme zu erzeugen - das heißt, es sollten modulare, in einzelne Komponenten unterteilte Systeme erstellt werden, die die Wiederverwendung von einzelnen Komponenten erlauben. Web-Services sorgen für eine konsequente Trennung von Geschäftsinhalten und technologischer Implementierung. Grund hierfür ist, dass es keine Rolle spielt, mit welcher Technologie (J2EE oder .NET) ein Service implementiert wird - solange er Web-Services unterstützt, können ihn andere einfach nutzen. Zudem können Entwickler sich bei der Entwicklung auf die Funktionalität selbst konzentrieren und müssen nicht berücksichtigen, wer diese in welcher Form nutzen soll. Bisher wurden Systeme für eine bestimmte Zielgruppe erzeugt. Mit Web-Services sind Zielgruppe und Funktionalität voneinander unabhängig. Als Benutzer eines Services kommen etwa eine JSP-Seite, eine

Visual-Basic-Anwendung oder ein anderes System in Frage. Dies bedeutet eine klare Trennung zwischen den Erzeugern von Services und den Benutzern oder "Verbrauchern" von Services.

Sowohl aus finanzieller als auch aus pragmatischer Sicht ist ein großer Vorteil von Web-Services, dass die bestehenden Systeme lediglich angezapft werden müssen, um sie in ihrer Funktionalität zu erweitern. Der Entwicklungsaufwand ist dabei äußerst gering. Im Rahmen von Collaborative Commerce gilt es, neue Funktionalitäten für eine neue Zielgruppe bereitzustellen. Dies erfordert das Umschreiben von bestehenden Systemen oder das Erstellen einer XML-Schnittstellenebene für bestehende Systeme. Dies ist gewöhnlich kostengünstiger und weniger riskant.

Mit speziellen Lösungen können Entwickler Web-Services als Java-Code speichern oder bestehende Systeme als Web-Services einem neuen Zweck zuführen. So können Unternehmen beispielsweise CICS-Transaktionen, 3270/5250-Terminalsessions, MQSeries-Warteschlangen, Telnet-Sitzungen, SQL-Datenbanken oder EDI-Transaktionen eine neue Verwendung zuordnen. In Zukunft könnten auch Service-orientierte Architekturen für flexible Geschäftsprozesse enstehen, die bis dato in der Regel "hart codiert" (festgelegt) werden. Der Code für einen Geschäftsprozess umfasst jeweils einen Code zur Bestimmung von ablaufenden Prozessen, ein Programm für Aufrufe an Objekte zur Ausführung von Funktionalität, ein weiteres zum Transformieren der Ausgabe einer Funktion in eine Eingabe für eine andere Funktion und schließlich einen Code zur Bestimmung des nächsten Teils eines Prozesses.

Die Verarbeitung dieser Codes findet im Herzstück einer Web-Service-Lösung der Engine statt. Diese ermöglicht die Integration von Geschäftsprozessen und stellt eine Entwicklungsumgebung zur Verfügung. Entwickler können Web-Services, EJBs, Servlets und Java-Komponenten zu einem komplexen flexiblen Workflow zusammenbauen. Die Engine für Geschäftsprozesse ist kompatibel mit der Web-Services Flow Language (WSFL) und vollständig in eine leistungsfähige Engine für Geschäftsregeln integriert. Allerdings sind Web-Services nicht zu empfehlen, wenn sehr performante Systeme oder zeit- und speicherempfindliche Prozessen gestaltet werden sollen. Für diese stehen die bewährten Java-, J2EE-, EAI- oder CORBA-Lösungen zur Verfügung. Auch der Einsatz von UDDI wird weniger spektakulär verlaufen, als viele Web-Service-Protagonisten heute glauben. Sie träumen von öffentlichen und globalen UDDI Registries, doch sind die unmittelbaren

Auswirkungen zunächst innerhalb von Unternehmen interessant: Jede Entwicklungsgruppe, die Web-Services erstellt, veröffentlicht auf einem oder mehreren internen UDDI-Servern. Die Registrierung interagiert dann mit einem zentralen Objektverzeichnis, damit verschiedene Entwicklungsgruppen unternehmensspezifisch Aufrufe zwischen den Systemen machen können.

*Michael Wiedemann ist Geschäftsführer der Silverstream Software GmbH, München.