Die Unabhängigkeit von Plattformen, Systemen und Sprachen macht das große Interesse an Web-Services aus. Die verwendeten Basistechnologien selbst sind nicht neu, doch existieren jetzt Standards, so dass ein deutlicher Schub für die Akzeptanz und die Verbreitung entsteht. Die Vielzahl von Software-Firmen, die Web-Services adaptieren, zeigt, dass diese Technologie jetzt für die IT-Strategien eines Unternehmens genutzt werden kann. Dabei spielt in vielen Fällen die Integration der vorhandenen AS/400-Systeme in eine neue, flexiblere DV-Landschaft für die Strategie eine entscheidende Rolle, um die bestehende Infrastruktur weiter nutzen zu können.
Plattformunabhängigkeit ist Trumpf
Vereinfacht kann man Web-Services als eine Sammlung von Techniken bzw. Spezifikationen beschreiben, die es ermöglichen, Dienste über das Web anzubieten, zu suchen und zu nutzen. Aus diesen drei Aktivitäten, ähnlich wie es aus Komponentenmodellen bekannt ist, leiten sich beim Einsatz von Web-Services entsprechende Rollen ab. In Abbildung 1 sind diese dargestellt.
Abbildung 1: Rollen von Web-Services
Ein Dienstleister kann sein Angebot bei einem Dienstmakler bekannt machen (Publish). Der Makler kann die Beschreibung der ihm bekannten Leistungen bei einer Anfrage (Find) an den Suchenden weiterleiten. Dieser hat die Möglichkeit, mit Hilfe der gelieferten Beschreibung einen Dienst zu verwenden (Bind). Vorgänge dieser Art sind sehr dynamisch, da sie zur Laufzeit geschehen. Die lose Kopplung der Funktionsblöcke ist eine wichtige Voraussetzung für die Implementierung von Prozessketten.
In Kombination mit XML bieten Web-Services einige wertvolle Möglichkeiten. Dabei muss das (World-Wide) Web gar nicht unmittelbar im Spiel sein, denn bei Web-Services steht das Web für Web-Technologien, mit Betonung auf Technologien. Web-Services können in vielen Fällen auch in geschlossenen Unternehmensnetzen nutzenbringend eingesetzt werden.
Die Web-Services-Technologien, wie beispielsweise SOAP, UDDI, WSDL, setzen auf vorhandenen Standards wie dem Hypertext Transfer Protocol (HTTP) auf. So wird die Plattformunabhängigkeit erreicht, die in fast jedem Unternehmen gefordert ist. Und dieser Mehrwert ist es, der Web-Services für die IT-Strategie so interessant macht.
Integration und Flexibilität
Viele IT-Abteilungen stehen oft vor dem Dilemma, neue Anforderungen umsetzen zu müssen, ohne ihre vorhandene Infrastruktur aufgeben zu können. Moderne Benutzeroberflächen, schnelle Änderbarkeit der Software, Skalierbarkeit, Verfügbarkeit, Offenheit: All dies sind typische Herausforderungen, denen sich IT-Abteilungen stellen müssen. Genau hier können Web-Services helfen, denn diese neue Technologie zu verwenden bedeutet nicht, alte Systeme sofort ablösen zu müssen. Im Gegenteil, sie ermöglicht es, alte und neue Welten miteinander zu verbinden. So ergibt sich die Option, andere, neue Technologien parallel einführen zu können, um die gewünschten Ziele und den erforderlichen Mehrwert für ein Unternehmen zu erreichen.
Neben den Technologien spielt auch die Architektur eine wichtige Rolle, da durch diese die jeweiligen Systeme zusammengefasst werden. Deshalb wird hier eine Architektur vorgestellt, die für den Einsatz von Web-Services geeignet ist: die „Service Oriented Architecture (SOA)“. Adäquat ist sie unter anderem deshalb, weil sie das dynamische Binden von Diensten zur Laufzeit ermöglicht und die Geschäftsprozess-Steuerung von den einzelnen Funktionsblöcken entkoppelt. Dadurch wird gewährleistet, dass die Dienste bei Bedarf flexibel genutzt werden können. In Abbildung 2 ist eine „Service Oriented Architecture“ dargestellt.
Abbildung 2: Service Oriented Architecture
In der Abbildung ist die Anordnung der einzelnen Schichten eher technisch zu sehen, denn die Prozess-Schicht klammert sowohl die Service- als auch die Präsentations-Schicht. In der Service-Schicht sind die Web-Services zu finden. Der „Presentation Layer“ wird üblicherweise durch Applikationen gebildet. Wie die Klammerung im einzelnen aussehen kann, wird weiter unten erläutert.
Web-Services implementieren
Eine wichtige Aufgabe ist, die vorhandenen Funktionen zu befähigen, als Web-Services zu fungieren. Hier können viele verschiedene Vorgehensweisen und Produkte zum Einsatz kommen, die abhängig von der jeweiligen Infrastruktur auszuwählen sind.
Um zukünftig eine höhere Produktivität zu erreichen, ist es von Bedeutung, parallel dazu neue Methoden bei der Softwareentwicklung einzusetzen. Neue sowie Schritt für Schritt auch alte Komponenten können so flexibler, schneller und kosten-günstiger implementiert werden. Dies schafft schließlich den Mehrwert der IT für ein Unternehmen. Eine sehr effektive Methode ist beispielsweise die automatisierte Softwareerstellung mit Hilfe von Geschäftsregeln, die von Versata angeboten wird.
Mit dieser Lösung können transaktionsfähige Standard-Komponenten (EJB) implementiert und als Web Services veröffentlicht werden. Diese Services können dann unter der Kontrolle eines Business Process Management in beliebigen Prozess-Wertschöpfungsketten eingesetzt werden. Neben der Qualität der Software (z. B. in punkto Stabilität, Skalierbarkeit, Performance) wird eine hohe Produktivität bei der Entwicklung und eine schnelle und einfache Änderbarkeit ermöglicht.
Wie werden diese Vorteile erreicht? Durch die Beschreibung der Geschäfts- bzw. Funktionslogik mithilfe von Geschäftsregeln kann das Erstellen von Software-Komponenten zu einem sehr hohen Prozentsatz automatisiert werden. In vielen Fällen wird ein Wert zwischen 80% und 90% erzielt. Das Besondere ist, dass auf einer höheren Abstraktionsebene das „Was“ beschrieben werden kann. Um das „Wie“ kümmert sich das System. Für die Beschreibung der Geschäftsregeln werden entsprechende Designer angeboten. Ein einfaches Beispiel soll dies verdeutlichen. In Abbildung 3 ist die Umsetzung einer Regel zur Berechnung von Frachtkosten für eine Bestellung dargestellt.
Abbildung 3: Business Rules Designer und Rule Builder
Das Beispiel ist zugegeben einfach, doch muss man sich vor Augen halten, dass eine Komponente aus sehr vielen, mitunter Hunderten Regeln besteht. Um das Optimum aus den so beschriebenen Informationen ziehen zu können, müssen die Regeln analysiert, sequenziert und dann kompiliert werden. Aus diesen Schritten sowie dem Zusammenspiel mit einem über Jahre ständig verbesserten Framework resultiert schließlich der Code, der gute Performance, hohe Stabilität, hohe Skalierbarkeit und vieles mehr garantiert. Zudem wird dieser Prozess bei jeder Änderung neu durchlaufen, so dass alle genannten Vorteile über den gesamten Lebenszyklus der Software erhalten bleiben. Die Analyse ermittelt dabei gezielt die Stellen, die geändert werden müssen.
Eine theoretische Abhandlung dieses Themas findet sich in dem Buch „What Not How: The Business Rules Approach to Application Development“ von C. J. Date, einem der Pioniere im Bereich der relationalen Datenbanken (s. Literaturhinweise).
Web-Services nutzen
Das Zusammenspiel der einzelnen Dienste kann flexibel über ein Business Process Management erfolgen. Für diese Aufgabe kann beispielsweise die Process Logic Engine (PLE) von Versata eingesetzt werden. Das Angebot an Diensten muss dabei nicht auf die eigenen beschränkt sein, denn Services, die über das Web offeriert werden, können ebenfalls interessant sein. Ein Beispiel hierfür wäre das Prüfen einer Kreditkarte, wie es im nachfolgend beschriebenen Prozess zu finden ist.
Als Darstellung einer flexiblen Prozesskette soll ein Vorgang dienen, bei dem eine eingehende Bestellung geprüft und verarbeitet wird. Abbildung 4 zeigt die Umsetzung mit Hilfe des Versata Process Designers.
Abbildung 4: Workflow mit Web-Service-Integration
Im dem dargestellten Prozess sind zwei Web-Service-Aktivitäten zu sehen: „Kreditkarten-Prüfung“ und „Bestellung ausführen“.
Bei den Web-Service-Aktivitäten spielt es keine Rolle, auf welcher Plattform sie laufen bzw. mit welcher Programmiersprache sie implementiert sind. Deshalb können hier Funktionen zum Zuge kommen, die aus vorhandenen Systemen stammen und einen Aufsatz bekommen haben, um als Web-Service fungieren zu können.
Das Ganze funktioniert allerdings nur, wenn jede Komponente des Workflow die jeweils für den Vorgang benötigten Daten zu Verfügung hat. Hierfür sind für Web-Services entsprechende Mechanismen vorhanden, so dass der Datenaustausch leicht durchführbar ist.
Neben den Web-Service-Aktivitäten existieren weitere Elemente in der Prozesskette. Die meisten von ihnen laufen in der Process Engine ab, so dass kein zusätzlicher Aufwand für den Datenaustausch entsteht. Dazu zählen beispielsweise Entscheidungen oder das Generieren von E-Mails. Bei einer bestimmten Gruppe von Elementen ist dies jedoch nicht der Fall: bei den Applikationen. Für sie findet der Datenaustausch üblicherweise über einen von der Process Engine verwalteten Speicherbereich statt.
Die für den Prozess relevanten Daten zur Verfügung zu stellen, ist eine wichtige Aufgabe der Process Engine. Doch dies ist nicht das Einzige, was diese Komponente leisten muss. Weitere Anforderungen an ein modernes Process Management System sind:
– Grafisches Prozess-Design mit Bedingungen und Sub-Prozessen
– Änderbarkeit der Prozesse während der Ausführung
– Eskalationsmanagement
– Sichtbarkeit der Prozesse
– Personen- und Rollenkonzept
– Überprüfbarkeit
– Messbarkeit
– Zuverlässigkeit
– Anpassungsfähigkeit/Integrierbarkeit
– Skalierbarkeit
All diese Funktionen sind wichtig, um einen Einstieg in die prozessorientierte Welt erfolgreich zu gestalten.
Fazit
Web-Services stellen keine Revolution, sondern eine logische Weiterentwicklung von Technologien dar, die den Einzug in die IT-Industrie geschafft haben und somit eine stabile Basis für Web-Services bilden. Die große Akzeptanz bei Herstellern und die plattformübergreifende Einsatzmöglichkeit für Unternehmen lassen Analysten zu einer sehr positiven Bewertung der Web-Service-Technologie kommen. Dies sind deutliche Signale, die bei der Ausrichtung der IT eines Unternehmens berücksichtigt werden sollten. Es war schon immer gut, auf das vorbereitet zu sein, was die Zukunft bringen wird. Zumal wenn die Möglichkeit besteht, auch den vorhandenen Ressourcen eine Perspektive zu bieten.
Der Beitrag zeigt, dass es Technologien gibt, die es Unternehmen ermöglichen, die vorhandene IT in eine moderne Architektur zu integrieren. Diese bietet hohe Flexibilität und Produktivität, was eine immer größere Rolle spielen wird. Der Einsatz von Standardsoftware sollte sich daher nur auf ausgewählte Bereiche eines Unternehmens beschränken. Für das Kerngeschäft sollte die Individual-Programmierung eine tragende Rolle spielen, um Flexibilität und Unabhängigkeit zu gewährleisten. Denn nur so wird man sich von der Konkurrenz abheben können.
Mit dem hier vorgestellten Ansatz können Projekte besser kalkuliert werden und verfügen über eine deutlich höhere Sicherheit bei der Durchführung. Sowohl für Unternehmen als auch für Beratungshäuser ergeben sich somit neue Perspektiven für anstehende Projekte.
Versata GmbH
D–22335 Hamburg
Telefon: 0800/8377282
www.versata.de