Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

11.10.2002 - 

Neues Potenzial für EAI

Web-Services integrieren Geschäftsprozesse

Enterprise Application Integration (EAI) befasst sich mit der Integration von Geschäftsprozessen. Konnektoren lösten dabei einen Großteil der Probleme - aber nicht alle. Web-Services versprechen nun auf Grund allgemein akzeptierter Internet-Standards auch die Integration von Applikationen, die bislang nur schwer einzubinden waren. Von Thomas Hünerbein*

Das grundlegende Modell von Web-Services ist nicht neu: Unter dem Client-Server-Label ist eine serviceorientierte Applikationsarchitektur seit vielen Jahren gebräuchlich. Konzeptionell betrachtet ändert sich in einer verteilten Infrastruktur auch mit den Web-Services-Ansätzen wenig. Ein Client (Service User) fordert von einem Server (Service Provider) Dienste an, die dieser durch die Abarbeitung bestimmter Funktionen bereitstellen kann. Entscheidend ist, über welche Eigenschaften und Funktionen ein Client und ein Server verfügen müssen, damit beide einander verstehen.

WSDL sorgt für strukturierte Kommunikation

Für die Kommunikation zwischen beiden führt das Modell der Web-Services Funktionen ein, die bewirken, dass der Server seinen Dienst über die XML-basierende Beschreibungssprache Web Service Description Language (WSDL) zur Verfügung stellt. WSDL kümmert sich - unabhängig vom konkreten Kommunikationsprotokoll - um die Definition einer strukturierten Form der Kommunikation. Die WSDL-Spezifikation geht von einer abstrakten Interaktion zwischen Service Provider und Service User aus, bei der beide Nachrichten übermitteln. Jede Message verfügt über strukturierte Inhalte. Einzelne Übertragungen oder auch einzelne Nachrichten haben die Form von Operationen - konkretisiert als Funktionsaufruf mit Rückgabewert.

Die abstrakte, protokollunabhängige Definition umfasst Daten-, Message- und Port-Typen. Durch Binding-Definitionen wird die abstrakte Beschreibung der Dienste auf konkrete Schnittstellen-Spezifikationen für ein bestimmtes Kommunikationsprotokoll abgebildet. Die Message-Typen werden in der XML Schema Definition (XSD) festgelegt. Ein herausragendes Merkmal von XSD ist die umfangreiche Unterstützung von Datentypen.

Eine Operation kann aus ein bis drei Messages bestehen: Input-, Output- und möglicherweise einer Fault-Message, für deren Behandlung Vorkehrungen zu treffen sind. Abhängig davon, ob bei einer Operation eine Input- und eine Output-Message oder nur eine von beiden auftritt, gibt es verschiedene Typen von Operationen in einem Port Type. Zusammengenommen bildet die gesamte Request-Reply-Sequenz einen Web-Service.

Denkbar ist nun eine Internet-Situation, in welcher der Service User den Service Provider nicht kennt. Neben Client und Server kommt dann die dritte Säule des Web-Services-Modells zum Tragen: die UDDI-Registrierdatenbank (UDDI = Universal Description, Discovery and Integration). Sie soll öffentlich im Internet zugänglich sein und programmatische Beschreibungen von Unternehmen sowie den Diensten enthalten, die sie unterstützen.

Zwischen Modell und Realität klafft jedoch wie so oft eine Lücke. Mehrere Hindernisse stellen sich der Nutzung von UDDI gegenwärtig noch in den Weg: Kaum jemand wird seine Serviceleistungen in einem Business-to-Consumer-Szenarium unentgeltlich anbieten - es bleibt das Problem der Abrechnung solcher Dienste. Zudem ist auch im Business-to-Business-Segment kein Modell bekannt, das die UDDI-Services benötigen würde. Darüber hinaus müssten zusätzliche Anforderungen hinsichtlich Workflow-Funktionalität, Zuverlässigkeit, Transaktionsverhalten und Sicherheit erfüllt sein.

Zunächst intern experimentieren

Bis sich der Ansatz der Web-Services im unternehmensübergreifenden Einsatz durchsetzt, dürfte noch einige Zeit vergehen. Einerseits ist eine Reihe von technologischen Hürden zu bewältigen, andererseits müssen sich klare Einsatzgebiete abzeichnen. Ganz anders sieht es unternehmensintern aus. Gerade dort, wo eine Enterprise Application Integration ansteht, existieren vielfältige Ansatzpunkte.

Dabei werden die Schnittstellen der zu integrierenden Anwendungen sowohl auf Client- als auch auf der Server-Seite als Web-Services realisiert. Angesprochen ist hier der Kernbereich eines Integrations-Servers, der sich mit dem Datentransport und dem Abgleich (Mapping) zwischen internen Applikationen befasst. Die in WSDL vorliegenden und Soap un-terstützenden Schnittstellen haben dabei den großen Vorteil, dass sie auf einer Standardtechnologie basieren, die von Anwendungen unterschiedlicher Hersteller verstanden und akzeptiert wird.

Gängige Standardsoftware nicht betroffen

Eine Applikation mit solch einem Interface zu versehen betrifft nun weniger die gängigen ERP-, CRM- und SCM-Produkte, sondern Programme, für die keine vorgefertigten Adapter angeboten werden - sei es, weil sie nur selten in Integrationsprojekten benötigt werden, oder weil es sich um eigenentwickelte Anwendungen handelt. Verfügen Applikationen über Web-Services-Schnittstellen, wird die Technologie auch eingesetzt werden, wo eine direkte Point-to-Point-Kommunikation zwischen internen Applikationen benötigt wird - beispielsweise bei der Anbindung eines neuen Web-Frontends an vorhandene Altanwendungen. Daher bietet diese Technologie die notwendigen Werkzeuge, um einen bedeutenden Evolutionsschritt auf dem Gebiet verteilter Applikationen und der Systemintegration zu erreichen.

Zunächst einmal muss der Client Soap unterstützen und benötigt dazu ein in WSDL erstelltes Stück Software. Um diese Brücke zwischen der Client-Anwendung und der Soap-Message herzustellen, muss entweder Code mit einer Programmiersprache erzeugt werden oder Unternehmen setzen einen Integrations-Server ein, der mit einem entsprechenden Modul die Web-Services-Programmierung verbirgt.

Business-Process-Management

Web-Services ermöglichen eine universelle Verbindung von unterschiedlichen, unternehmenskritischen Systemen, indem sie ein einfaches, standardisiertes Interface für alle Anwendungen bieten. Allerdings bieten Web-Services alleine nur einen Teil des Integrations-Puzzles. Für eine umfassende Integrationsplattform müssen Web-Services mit einem professionellen Support für das Management semantischer Transformationen und Geschäftsprozesse kombiniert werden. Nur so lässt sich eine system- und unternehmensweite Integration von Anwendungen realisieren, deren zentraler Bestandteil das Business-Process-Management (BPM) bildet.

In der Auftragsannahme (Order Management) eines Unternehmens beispielsweise können Web-Services den Kreditrahmen des Anfragenden, die Lagerverfügbarkeit der Waren, die Dauer der Lieferung zusätzlicher Mengen sowie die Preise überprüfen, die Bestellung bestätigen, Produkte ausliefern und die Abbuchung durchführen. Während jeder einzelne dieser Web-Services eine unabhängige Einheit darstellt, die spezifische Geschäftsvorgänge ausüben kann, ist die Kombination von Web-Services mit BPM eine leistungsfähige Anwendung, die Zeit und Kosten bei Transaktionsprozessen einspart. (ue)

*Thomas Hünerbein ist Systems Engineer bei Vitria Technology in der Geschäftstelle München.

Angeklickt

Ein Integrations-Server - ausgestattet mit Web-Services-Modulen - spielt sowohl auf der Client- als auch auf der Server-Seite eine wichtige Rolle. Einer Applikation gegenüber, die eine Funktion aufruft, agiert die Integrationsplattform als Client und bindet weitere Systeme, von denen Daten benötigt werden, als Server ein. Die Kommunikation erfolgt ausschließlich über Soap-Messages, die in WSDL dokumentierte Informationen austauschen. Mit Web-Services lassen sich so mehrstufige Geschäftsprozesse initiieren, die eine Vielzahl interner Systeme einschließen. Denkt man das Modell konsequent zu Ende, dann können einzelne Aktivitäten eines Geschäftsprozesses von mehreren Applikationen gemeinsam verwendet werden.

Web-Services

Einer der großen Vorteile von Web-Services besteht darin, dass sie unabhängig von Programmiersprachen sind. In dieser Sichtweise ähneln sich die Zielsetzungen von Web-Services und Corba (Common Object Request Broker Architecture). Beide befassen sich mit verteilten Applikationen. Während Corba auf die Interface Definition Laguage (IDL) setzt, bauen Web-Services auf das XML-basierende Soap (Simple Object Access Protocol). Die im Rahmen von Corba implementierten Dienste müssen bereits während der Entwicklung einer Applikation hart codiert werden, die Soap-Aufrufe dagegen erfolgen erst zur Laufzeit. Dies macht Soap weit flexibler. Solange ein Web-Service die Soap-Message (das XML-Dokument) erfassen kann, spielt es für ihn keine Rolle, auf welcher Plattform der Service entwickelt wurde und auf welcher er später abläuft. Auch wenn Corba zum gegenwärtigen Zeitpunkt insbesondere in komplexen Anwendungsszenarien leistungsfähiger als Web-Services ist, hat es sich wegen seiner Schwerfälligkeit nie als breit unterstützter Standard durchgesetzt. Während heute nahezu jeder Anbieter von Business-Software die wichtigsten Web-Services-Protokolle unterstützt, bietet kaum einer Corba-Schnittstellen, um seine Applikationen mit denen anderer zu verbinden.

Aussteller

IBM

Halle B3, Stand 359/360

Mercator

Halle A1, Stand 320

Microsoft

Halle A2, Stand 318

Oracle

Halle A1, Stand 100

SAP

Halle A1, Stand 320

Software Solution Area

Halle A1, Stand 300/400

Sun Microsystems

Halle A3, Stand 620

Webmethods

Halle A1, Stand 320

Abb.1: Im Prinzip nichts Neues

Das konzeptionelle Modell von Web-Services sieht vor, dass ein Client (Service User) die Dienste einer anderen Applikation (Service Provider/Server) aufruft. Quelle: Vitria

Abb: Order Request als B-to-B-Szenarium

In der Auftragsannahme können Web-Services den Kreditrahmen des Anfragenden, die Warenverfügbarkeit, die Dauer der Lieferung und die Preise überprüfen, die Bestellung bestätigen und die Abbuchung durchführen. Quelle: Vitria