Appliances stärken die SOA

28.09.2006
Von Roland Haring 
In Service-orientierten Architekturen (SOA) können spezialisierte Geräte den XML-Datenverkehr beschleunigen und Anwendungen von Vewaltungsaufgaben entlasten.
Um die schwerlastige XML-Bearbeitung von einer Applikation zu trennen, kann eine SOA-Appliance als XML-Accelerator vorgelagert oder als XML-Koprozessor über APIs aufgerufen werden.
Um die schwerlastige XML-Bearbeitung von einer Applikation zu trennen, kann eine SOA-Appliance als XML-Accelerator vorgelagert oder als XML-Koprozessor über APIs aufgerufen werden.
Für Integrationszwecke optimiert, übernehmen SOA-Appliances auch die Datenkonvertierung über den XSL-Transformationsstandard (XSLT).
Für Integrationszwecke optimiert, übernehmen SOA-Appliances auch die Datenkonvertierung über den XSL-Transformationsstandard (XSLT).

Der Begriff "Appliance" lässt sich als konfigurierbares Gerät mit beschränkter Funktionalität übersetzen. In der IT denkt man dabei typischerweise an Geräte im Netz, beispielsweise Switches, Router, oder Firewalls: ein geschlossenes Gehäuse, bestehend aus Hardware, Firmware, Netzkarte und Stromversorgung. Früher gab es Router und Firewalls nur in Form von Software. Doch um den wachsenden Datenmengen und den geforderten Antwortzeiten im Netz gerecht zu werden, wandelten IT-Hersteller solche Programme in Appliances um. Diese sind nicht nur leistungsfähiger, sondern auch sicherer und einfacher zu betreiben. Mit Service-orientierten Architekturen kündigt sich ein nächster Evolutionsschritt an, in dem spezialisierte Appliances eine wichtige Rolle spielen könnten.

Hier lesen Sie …

Mehr zum Thema

www.computerwoche.de/

574933: Die besten Tools zur SOA-Verwaltung;

579626: SOA braucht den Enterprise Service Bus;

569662: In zehn Schritten zur SOA.

SOA-Expertenrat

www.computerwoche.de/ soa-expertenrat

XML-bewusste Netze

Analog zum Telex-Netz schuf das Internet die Möglichkeit, weltweit Nachrichten auszutauschen. Mit XML entstand eine Sprache, um diesen Austausch zu erleichtern. Aus XML wiederum entwickelten sich viele industriespezifische "Dialekte" und Präzisierungen wie etwa Schema-Definitionen (XSD) und Namespaces (xmlns), um sich eindeutig ausdrücken zu können. Auch komplexe, hochstrukturierte und wiederholbare Informationseinheiten können in Form von XML-Nachrichten ausgetauscht werden.

Service-orientierte Architekturen ermöglichen den programmiermodell- und plattformneutralen Datenaustausch über XML. Über Web-Services, die XML verwenden, werden Funktionsaufrufe über Applikations-, System- und Unternehmensgrenzen hinaus getätigt.

BPFL und XML

SOA erleichtert nicht nur die Integration von IT-Systemen, sondern gibt Unternehmen mehr Flexibilität, einzelne Bestandteile zu ändern, zu ersetzen oder in neuen Kombinationen zu "Composite Applications" zusammenzusetzen. Um den Informationsaustausch zwischen diesen Kombinationen besser zu steuern und flexibel ändern zu können, entstand BPEL (Business Process Execution Language), ein Standard, der ebenfalls XML verwendet. Entwicklungs-Tools unterstützen diese XML-basierenden Standards.

Vor diesem Hintergrund profitiert die IT-Welt zunehmend von den Mehrwerten einer einheitlichen Sprache wie XML. Doch dies hat auch seinen Preis: Der Nutzdaten-Anteil einer XML-Nachricht wird zu einem Bruchteil dieser; die Bearbeitung von XML beansprucht immer mehr Ressourcen, besonders wenn sie noch in Form von Software realisiert wird. Das war die Motivation, die schwerlastige XML-Bearbeitung auf spezialisierte SOA-Appliances auszulagern, die diese Aufgabe erheblich schneller und effizienter erledigen: SOA-Appliances werden ähnlich wie Router im IT-Netz installiert und für die XML-Bearbeitung konfiguriert. Das Netz wird damit "XML-bewusst" und für diese Datenströme optimiert.

Einsatz von SOA Appliances

SOA-Appliances stehen nicht in Konkurrenz zu Routern oder Switches, sondern ergänzen diese. Wenn eine Applikation, zum Beispiel ein Web-Portal, über das Internet eine Transaktion entgegennimmt und an interne Systeme weiterleitet, wird diese Nachricht zur besseren Übertragung in mehrere TCP/IP-Pakete aufgeteilt. Ein Router leitet einzelne TCP/IP-Pakete über verschiedene Netze an ihr Ziel, vorausgesetzt, dass die Sicherheitsregeln einer eventuell dazwischen liegenden Firewall dies zulassen. Eine SOA-Appliances ist aus Sicht dieser Geräte (Router, Firewall, etc.) ein Ziel, das den Inhalt der gesamten Nachricht, also nicht nur einzelne Pakete, bearbeitet. Die Bearbeitung dieser Nachricht bestimmt, an welches Zielsystem diese letztlich weiterzureichen ist. Im Prinzip handelt es sich um ein fachliches Routing der Nachricht. Dabei wird die Nachricht auch XML-spezifischen Sicherheitsprüfungen unterzogen. Die SOA-Appliances müssen die zu übertragende XML-Nachricht deuten und bilden daher eine übergeordnete Ergänzung zu Netzgeräten wie Router oder Firewalls.

Beim Einsatz von SOA-Appliances stellt sich zunächst die Frage, welcher Teil der XML-Bearbeitung auf die spezialisierten Geräte verlagert werden soll, denn die Bearbeitung einer Nachricht erfolgt schrittweise: Zuerst wird sie von einem XML-Parser gedeutet, anschließend kann das Format auf Schema-Einhaltung geprüft und daraufhin für die interne Verwendung vereinfacht und eventuell umformatiert werden.

Rechenzeit sparen

Beispielsweise könnte das System dabei nicht relevante Attribute und Namespaces entfernen. Digital signierter oder verschlüsselter Inhalt wird verifiziert und entschlüsselt, auch Zugriffsrechte für bestimmte Web-Service-Aufrufe lassen sich an dieser Stelle prüfen. Würden alle diese Schritte von der Softwareanwendung selbst durchgeführt, nähme dies eine Menge Rechen- und Speicherkapazität in Anspruch.

Für viele Applikationen ist die Leistung, ausgedrückt in Antwortzeiten und Durchsatz von Transaktionen, ein ausschlaggebender Kosten- und Akzeptanzfaktor. Neben Sicherheit und Performance sind auch die Unterstützung von Standards, Hochverfügbarkeit, die Benutzerfreundlichkeit, SLA-Kontrolle und Nachvollziehbarkeit wichtige Einsatzkriterien für SOA-Appliances. Einige Geräte auf dem Markt bieten zudem erweiterte Integrationsfunktionen, darunter Protokollumwandlung (zum Beispiel von http auf MQ) und Formatkonvertierung (zum Beispiel von XML auf Cobol). Hier gibt es teilweise Überlappungen mit traditionellen Enterprise Application Integration (EAI-) und ESB-Techniken (ESB = Enterprise Service Bus).

Diverse Ausprägungen

SOA-Appliances gibt es in verschiedenen Ausprägungen. Möchten Anwender nur die schwerlastige XML-Bearbeitung von einer Applikation trennen, kann ein "XML-Accelerator" vorgelagert oder als XML-Koprozessor über APIs aufgerufen werden (siehe Grafik "SOA-Appliances als XML-Turbo"). Sind darüber hinaus Web-Service/XML-Security-Dienste zu bewältigen oder SLAs zu kontrollieren, gibt es auch dafür passende SOA-Appliances. Diese werden typischerweise zwischen der Firewall und den internen Systemen in der DMZ platziert. Sie dienen als Web-Services-Proxy und XML-Firewall.

Cobol inbegriffen

Eine weitere Einsatzmöglichkeit sind in Cobol geschriebene Funktionen aus Mainframe-Anwendungen, die über XML oder Web-Services bereitgestellt werden. In diesem Fall lässt sich eine für Integrationszwecke konzipierte SOA-Appliances dem Großrechner vorschalten. Diese unterstützt unter anderem auch Datenkonvertierungen auf Protokolle wie MQ, (siehe Grafik "XML-Integration"). Die Umwandlung zwischen verschiedenen Nachrichtenformaten erfolgt in SOA-Appliances typischerweise über den XSL-Transformations-Standard (XSLT). Damit lässt sich nicht nur XML, sondern beispielsweise auch HTML erzeugen. So kann eine SOA-Appliances auch als Hilfssystem für ein Web-Portal dienen, indem sie aus XML einfache HTML-Seiten erzeugt. (wh)