WebSphere DataPower SOA Appliance - Und? - Teil ll

Wissensbeitrag
WebSphere DataPower SOA Appliance

IBM bietet mit der WebSphere DataPower Produktfamilie fünf Appliances an: Die DataPower XA35, die DataPower XS40, die DataPower XI50, die DataPower XB60 und die DataPower XM70. In diesem Blogeintrag sollen nun die ersten drei Appliances vorgestellt werden.

XML Accelerator – WebSphere DataPower XA35

Die „kleinste“ DataPower, und zugleich weltweit erste XML Hardware Appliance, wurde von einer Gruppe von Absolventen des MIT entwickelt und im Jahr 1999 vorgestellt. Sie wird als WebSphere DataPower XA35 angeboten. Ziel dieser Appliance war es, die Verarbeitung des damals gerade aufkommenden und sich schnell verbreitenden XML zu beschleunigen und so gleichzeitig die Applikationen von dieser prozessorintensiven Tätigkeit zu befreien.

So kann die XA35 dazu verwendet werden, das Parsing und die Validierung von XML und die Transformation von XML mit Hilfe von XSLT durchzuführen. Heute wird sie häufig dazu verwendet, um einem Client XML Daten aus dem Backend in HTML zur Verfügung zu stellen. Dabei wird die Performance im Vergleich zu herkömmlichen Lösungen um ein Vielfaches übertroffen. Im Jahr 2005 akquirierte IBM das Unternehmen DataPower und machte die Appliance zu einem Teil seines WebSphere Portfolios.

XML Security Gateway – WebSphere DataPower XS40

Die XS40 ist die zweite Appliance in der WebSphere DataPower Reihe und wird als XML bzw. Web Service Security Gateway oder als XML Firewall vermarktet. Dabei verspricht ein solches Gerät, die Sicherheit an den Grenzen und innerhalb einer Serviceorientierten Umgebung zu gewährleisten. Die XS40 fungiert demnach als eine Art Proxy zwischen Internet und internem Netzwerk, also in der so genannten DMZ. Sie ist darauf ausgelegt, eingehende Service Anfragen auf Sicherheit zu überprüfen und nur dann an die dahinter liegende Umgebung weiter zu geben, wenn von ihnen keine Gefahr ausgeht.

Die Sicherheit in einer SOA umfasst drei wesentliche Bereiche:

  • die Autorisierung und Authentifizierung
  • die Gewährleistung der Nachrichtenintegrität
  • der Schutz der Anwendungen im Backend vor Angriffen

Die DataPower XS40 ist besonders auf diese drei Punkte ausgelegt, wie im Folgenden kurz erklärt werden soll.

Die Authentifizierung und Autorisierung eines Service Requester ist eine der zentralen Aufgaben eines XML Gateways. Eine DataPower XS40 kann dabei Informationen, wie beispielsweise Benutzernamen, Passwörter oder Zertifikate aus einer Nachricht auslesen und mit Diensten, wie beispielsweise einem LDAP Verzeichnis, abgleichen. Dabei werden zahlreiche Standards unterstützt. Auch die Umwandlung dieser Informationen zwischen verschiedenen Standards kann von der DataPower übernommen werden.

Der zweite wichtige Sicherheitsaspekt in einer SOA ist die Gewährleistung der Nachrichtenintegrität auf dem Übertragungsweg. Dabei reicht eine Point-to-Point Sicherheitslösung, wie sie beispielsweise durch SSL angeboten wird, in einer serviceorientierten Umgebung meist nicht aus. Vielmehr muss eine Nachricht vom Beginn bis zum Ende ihrer Übertragung (End-to-End) geschützt werden, auch wenn sie viele Zwischenstationen (Intermediaries) durchläuft. Gleichzeitig muss es aber auch möglich sein, dass Teile einer Nachricht durch diese Zwischenstation bearbeitet werden können, während andere Teile wiederum nicht veränderbar oder lesbar sein dürfen.

Da die grundlegenden Web Service Standards auf diese Anforderungen nicht ausgelegt sind, wurden in den letzten Jahren zahlreiche Erweiterungen entwickelt. Die oben beschriebenen Lücken im Bereich Sicherheit werden so u.a. mit Spezifikationen wie WS-Security und WS-Policy geschlossen. Hiermit wird beispielsweise definiert, wie sicherheitsrelevante Informationen im SOAP Header untergebracht werden können, so dass sie während der Übertragung einer Nachricht erhalten bleiben. Außerdem ist es hiermit möglich, Nachrichten nur in Teilen mit Hilfe von SSL zu verschlüsseln oder zu signieren.

Mit den Erweiterungen werden die Nachrichten allerdings gleichzeitig wieder komplexer und deren Verarbeitung prozessorintensiver. Auch hier setzt die DataPower an, indem sie die Verarbeitung übernimmt.

Der dritte Ansatzpunkt eines Security Gateways ist es, dafür zu sorgen, den Inhalt einer Nachricht keine gefährlichen Daten enthält, die den Backendservern oder -applikationen schaden könnten.

Da die Kommunikation in einer Web Service basierten Umgebung in den meisten Fällen über SOAP basierend auf HTTP bzw. HTTPS und TCP/IP läuft, werden Nachrichten von herkömmlichen Firewalls unberührt durchgelassen und an die Anwendungen im internen Netzwerk oder einen Enterprise Service Bus weiter gegeben. Deshalb werden die Nachrichten auf XML-Ebene meist nur auf ihre Validität überprüft. Dies bietet Raum für Angriffe, die sich in diesen validen Nachrichten verstecken und enormen Schaden anrichten können – so genannte XML Threats. Hier setzt wiederum die DataPower XS40 an. Indem sie nämlich in der Lage ist, den Inhalt von Nachrichten genau auf diese Gefahren hin zu überprüfen. Eine solche Überprüfung des Nachrichteninhalts softwareseitig zu implementieren, wäre ungleich schwerer zu realisieren.

Man sieht also, dass die DataPower XS40 wiederum viele Funktionen, die vorher von Backendsystemen erbracht werden mussten, übernehmen kann. Auch an dieser Stelle hat dies wieder die bekannten Vorteile. So werden auf der einen Seite die Backendsysteme entlastet und auf der anderen Seite die Verarbeitung beschleunigt. Im Bereich Sicherheit bietet eine DataPower allerdings noch einen weiteren Vorteil. Sie ist nämlich von Grunde her derartig Sicherheit ausgelegt, dass eine Manipulation von außen ohne entsprechende Administrationsrechte unmöglich ist. Besonders in sehr sicherheitskritischen Umgebungen und Use Cases ist dieser Vorteil nicht zu vernachlässigen.

Integration Appliance – WebSphere DataPower XI50

Die DataPower XI50 wird von offizieller IBM Seite als “Hardware Enterprise Service Bus” beworben. Obwohl schon von vielen Institutionen und Anbietern versucht wurde, für den Begriff des ESB eine allgemein gültige Definition zu schaffen, gehen die konkreten Umsetzungen in der Realität doch oft sehr weit auseinander. Einigkeit gibt es allerdings darüber, dass ein ESB zumindest die Konzepte des Routings und der Mediation bieten sollte. Und genau diese Funktionen bietet auch die DataPower XI50.

Mediation meint in diesem Zusammenhang die Integration verschiedener Protokolle und Datenformate. Nach außen hin können so beispielsweise auch Legacy Anwendungen als Web Services dargestellt werden.

Der Begriff Mediation umfasst zwei wesentliche Punkte. Zum eine muss eine Nachricht mit einem Transportprotokoll übertragen werden, welches die zu integrierenden Anwendung auch verstehen kann. Die Datapower XI50 bietet hier mit HTTP/HTTPS, FTP/FTPS, WebSphere MQ, NFS, IMS, WebSphere JMS und TIBCO EMS eine breite Auswahl, so dass fast alle bekannten Backend-Systeme angesprochen werden können. Der zweite wichtige Aspekt der Mediation ist die Abbildung verschiedener Datentypen und Formate. Hier ist es zum einen wichtig, die Datenstruktur einer Nachricht so abzubilden, so dass sie auf das von der Applikation verwendete Format passt. Bei der Umwandlung zwischen den verschiedenen Formaten ist es zum anderen ein einfaches Mapping essentiell. Durch die Integration einer Laufzeitumgebung für den WebSphere Transformation Extender (WTX) bietet die DataPower XI50 auch in diesem Bereich zahlreiche Möglichkeiten. Mit Hilfe des WTX Design Studios erstellte Nachrichtenbäume und Mappings können problemlos auf einer DataPower XI50 deployed und durch diese verarbeitet werden.

Das zweite grundlegende Konzept eines ESBs ist das Routing. Ein ESB entscheidet dabei zur Laufzeit und abhängig von verschiedenen Kriterien, an welche Anwendung ein Service-Request weitergeleitet wird. Ein Vorteil der DataPower ist dabei, dass sie ein wirkliches „content-based Routing“, also ein Routing abhängig vom Inhalt einer Nachricht, ermöglich. Die Routingfunktionen werden durch die Möglichkeit der einfachen Orchestrierung von Services noch erweitert. Mit der DataPower XI50 ist es also möglich, mehrere Services durch sequentielle Aufrufe nach außen hin als ein Service darzustellen.

Ein zusätzliches Feature liefert die DataPower XI50 mit ihrem eingebauten Web Service Management und hebt sich damit auch von anderen ESB Lösungen ab.

Es ist hiermit möglich, verschiedenen Service-Requestern unterschiedlich Service Level und Rechte zu geben. So kann man Anfragen beispielsweise priorisieren oder die Benutzung von Services auf eine gewisse Anzahl von Aufrufen in einer bestimmten Zeit limitieren

Betrachtet man die Funktionen einer DataPower XI50 zusammenfassend, kann man sie in der Tat als Enterprise Service Bus bezeichnen. Bevor man sie allerdings in einer SOA als vollwertigen ESB einsetzt, müssen die Anforderungen sehr genau definiert werden. Es muss eingeschätzt werden können, ob der Funktionsumfang einer DataPower ausreichend ist, um den vorliegenden Usecase abzubilden. Dabei muss man sehr genau abwägen, ob die softwarebasierten ESB Varianten, wie ein WebSphere Message Broker (WMB) oder ein WebSphere Enterprise Service Bus (WESB), vielleicht passender oder notwendig sind. Beispielsweise sind die Abbildung komplexer Serviceorchestrierung oder andere Zusatzfunktionen mit der XI50 schwer oder gar nicht zu realisieren.

Entscheidet man sich allerdings für die „Hardware ESB“ Variante, bietet die DataPower XI50 neben den schon erwähnten Vorteilen der um ein Vielfaches besseren Performance, noch den Mehrwert, dass sie auch die oben beschriebenen Sicherheitsfunktionen der XS40 enthält und so viele softwarebasierte ESBs im Bereich Sicherheit im Funktionsumfang und der Performance übertrifft.

Ein Blick in die Zukunft

Zusammenfassend kann man also feststellen, dass die DataPower Appliances sehr viele Funktionen innerhalb einer SOA, besonders Transformationen und Sicherheit betreffend, übernehmen. Die DataPower XI50 ist dabei sogar in der Lage, in nicht allzu komplexen Szenarios einen kompletten softwarebasierten ESB zu ersetzen. Alle Appliances bieten die schon zu Beginn benannten Vorteile der besseren Performance und des, im Vergleich zu vielen Softwareprodukten, einfachen Installation, Konfiguration und Bedienbarkeit.

Wagt man einen Blick in die Zukunft, werden, denke ich, SOA Appliances immer häufiger in Service Orientierten Lösungen Verwendung finden, sei es als Ergänzung und Entlastung der vorhandenen Middleware oder als alleiniger Enterprise Service Bus.

Interessant wird auch die weitere Entwicklung der DataPower Produkte seitens der IBM. Mit der XB60 und der XM70 spezialisiert IBM die Appliances in bestimmte Richtungen und auf spezielle Anforderungen hin. Ob dieser Weg weiter gegangen wird oder ob eine vorhandene Appliance, wie die XI50 weiter in Richtung eines vollwertigen ESB entwickelt wird, bleibt abzuwarten.

Die DataPower auf der WebSphere Technical Conference 2009 – Besuchen Sie uns

Wenn Sie Interesse haben, sich von der Funktionsweise der DataPower Appliances zu überzeugen, besuchen Sie uns im Solution Village auf der WebSphere Technical Conference vom 19. bis 23. Oktober 2009 in Hamburg. Hier werden wir Ihnen mit kleinen Szenarios verschiedene Usecases eine DataPower Appliances „live“ vorstellen und für Fragen zur Verfügung stehen. Weitere Informationen finden Sie auch unter

Autor

Wolfgang Schmidt
(ehemaliger) GeschäftsführerX-INTEGRATE Software & Consulting GmbHKontakt