Home
News
Trends
Hefte
Online-Artikel
Kommentare
Service-Angebote
Feedback
Abonnement
Wir-ueber-uns
Tipps
Impressum
Veranstaltungen


»manage it« als

E-Paper  11-12 2011
E-Paper  9-10 2011
E-Paper  5-6 2011
E-Paper  3-4 2011
E-Paper  1-2 2011
E-Paper  11-12 2010
E-Paper  9-10 2010

E-Paper  7-8 2010
E-Paper  5-6 2010
 



 




 

 


 




 


 


 

 

Die unterschätzte Bedeutung von Abstraktion und Datenpersistenz bei SOA

Mit Software-Services zu mehr Produktivität

Software-Services in einer SOA können flexibel in verschiedensten Geschäftsprozessen immer wieder eingesetzt werden. Vorausgesetzt natürlich, dass die IT über die richtige Plattform für Modellierung und Implementierung verfügt. Zwei Schlüsseltechnologien werden jedoch häufig übersehen.

 

D

ie Auswahl der Integrationsplattform stellt einen wichtigen Erfolgsfaktor jedes SOA-Projekts dar. Der Markt bietet heute umfassende und architektonisch durchgängige Lösungen für die Entwicklung, Integration, Orchestrierung, Inbetriebnahme und das Management von Services in einer serviceorientierten Architektur (SOA). Solche Plattformen bauen auf der bereits vorhandenen Infrastruktur auf und bieten die vollständige Funktionalität von Enterprise-Service-Bus-Lösungen (ESB), die in der Regel für eine SOA-Implementierung verwendet werden.

Die optimale Plattform geht aber noch einen Schritt weiter. Sie enthält zwei innovative und grundlegende Technologien, die bei keiner leistungsfähigen SOA-Plattform fehlen sollten – eine umfassende Abstraktionsebene für Anwendungen und Daten sowie ein integriertes Objekt- und Metadaten-Repository. Durch die Abstraktionstechnologie werden die Art, Vielfalt und Komplexität der zu Grunde liegenden Schnittstellen und Daten einer SOA-Implementierung verborgen. Das integrierte Repository und die dadurch gewährleistete Datenpersistenz sind der Schlüssel für eine effiziente Wiederverwendung von Services und für das SOA-Management.

Die Nutzung dieser Technologien in der SOA-Plattform gibt IT-Organisationen die Gewissheit, dass sie über ausreichend Flexibilität verfügen, um schnell Anpassungen an die sich ändernden Geschäftsanforderungen und -prozesse vornehmen zu können. Darüber hinaus bleiben die Investitionen geschützt, weil Fehler durch Änderungen an den zu Grunde liegenden Technologien und Standards isoliert werden können.

SOA beginnt nicht auf der grünen Wiese.

Zusätzlich zu den Grundfunktionen wie Datentransformation, asynchrone und synchrone Verarbeitung sowie verteilten Betrieb und Management unterstützen die meisten SOA-Plattformen Web-Service-Standards wie XML und SOAP, die meisten auch den BPEL-Standard (Business Process Execution Language) zur Orchestrierung von Services in Geschäftsprozessen. Durch diese und weitere Standards können Softwareentwickler Servicefunktionalität ausdrücken, Methoden für den Zugriff auf diese Funktionen über ein Netzwerk und den Geschäftsprozess-Workflow formulieren. Dies geschieht in einem abstrakten Format, das von jedem Tool verwendet werden kann, das diese Standards unterstützt. Diese Abstraktionsebene ist hervorragend für IT-Umgebungen geeignet, die eine SOA mit neuen Services implementieren, die von Grund auf für die Nutzung von Web-Service-Standards erstellt wurden.

Aber für die meisten Szenarien geht dies nicht weit genug. Die IT hat damit nämlich noch keine Möglichkeit, den oft umfangreichen Altbestand an kritischen Geschäftsanwendungen und Daten, die nicht für Web Services ausgelegt sind, in eine SOA zu integrieren. So können die Vorteile nicht im Unternehmen genutzt werden. Und die bloße Einhaltung von Standards alleine macht eine SOA nicht immun gegen die Auswirkungen von sich ändernden Technologien und Standards.

Objekte als »lingua franca« der Integration.

Idealer Weise verwendet die Integrationsplattform das objektorientierte Paradigma und abstrahiert Funktionalität und Daten als konsistente Menge von Objektklassen mit Eigenschaften (Datenelemente, die Objekte einer bestimmten Klasse enthalten) und Methoden (Funktionen, die Objekte einer Klasse ausführen können). Eine solche Abstraktion zeichnet sich durch eine konsistente, einheitliche Ansicht auf die zu Grunde liegenden Systeme und Anwendungen aus – unabhängig davon, welche Plattformen, Sprachen, Datenmodelle, Speicherarchitekturen, Netzwerkprotokolle oder anderen Technologien die zu Grunde liegenden Systeme verwenden.

Liegt eine solche Abstraktionsschicht über den Konnektivitäts- und Speicherschichten, verbirgt sie die Natur, Vielfalt und Komplexität der zu Grunde liegenden Schnittstellen und Daten. Nur die Funktionen, die für einen bestimmten Geschäftsprozess von Interesse sind, sind als Objekte für alle Komponenten der Lösung sichtbar. So lassen sich problemlos neue Projekte erstellen, die etwa eine SAP-Anwendungs-Suite, eine alte Mainframe-Anwendung mit IMS-Datenbank, eine neue Windows-Anwendung, die Funktionalität als Web-Services bereitstellt, eine mit J2EE-Technologien erstellte Java-Anwendung, sowie eine relationale Datenbank mit umfangreichen Stored Procedures verbindet.

Konkrete Vorteile einer höheren Abstraktion.

Java-basierte Systeme zeichnen sich durch eine starke logische Abstraktion, aber durch eine schwache Datenabstraktion aus. XML-basierte Systeme weisen eine starke Datenabstraktion, aber eine schwache logische Abstraktion auf. Objekte als höhere Abstraktionsebene bietet die fehlende Dimension, um ausgefeilte Geschäftsprozesse konsistent zu unterstützen, die Elemente beider Typen aufweisen. Bei SOA-Plattformen, die J2EE-spezifisch oder Dotnet-spezifisch sind, besteht zudem das Risiko, sich an einen speziellen Anbieter oder eine bestimmte Technologie zu binden.

Die Abstraktion bietet eine konsistente Objektdarstellung verschiedener Programmiermodelle und Datenformate. Dadurch werden die folgenden Vorteile erreicht:

  • Schnelle Entwicklung von Composite Applications und Geschäftsprozessen
  • Einsatz der neuesten Entwicklungs-Tools und -technologien zum Zugriff auf Altdaten und -funktionalität als wieder verwendbare Komponenten, Web Services oder XML
  • Unterstützung für verschiedene Technologie-Frameworks, einschließlich J2EE und Dotnet, die einfach auch auf zukünftige Objektmodelle und Frameworks erweitert werden kann

Persistenz ist gefragt.

Viele SOA-Plattformen sind aus der Messaging-Welt erwachsen und verfügen daher über keinen integrierten oder persistenten Datenspeicher. Nachrichten werden erstellt, durch das System geleitet und sind weg. Daten, die für die gesamte SOA-Lösung von Bedeutung sind, befinden sich in verschiedenen Systemen in den Randbereichen der Umgebung und sind nicht direkt für den orchestrierten Geschäftsprozess verfügbar, zu dem der Service gehört.

Die Anbindung einer optionalen, getrennt zu lizenzierenden relationalen Datenbank eines Drittanbieters verursacht oft zusätzliche Kosten, immer jedoch einen erheblichen Verarbeitungs-Overhead für Aufrufe der Datenbank wie auch für die Zuordnung der XML- und anderen komplexen Datenstrukturen zu und aus zweidimensionalen relationalen Tabellen. Die Performance der gesamten Lösung wird beeinträchtigt, Komplexität und Administrationsaufwand steigen.

Benötigt wird hier ein integrierter, zentralisierter und hochperformanter Datenspeicher, der sowohl die verteilten SOA-Daten als auch alle Metadaten enthält. Eine SOA ohne diese Komponente verfügt über keine Intelligenz – sie funktioniert nur auf der untersten Ebene. Verloren gehen eine Fülle an Daten und Metadaten, mit denen die Entwicklung einer Gesamtlösung vereinfacht werden könnte, und die für die Überwachung der Geschäftsaktivitäten (Business Activity Monitoring), die Verfolgung und Behebung von Problemen, Reporting, Auditing und andere Managementfunktionen verwendet werden können.

Operative Effizienz und Wissen eingebaut.

Die Anforderungen an SOA-Speicher reichen von anwendungsübergreifenden Indizes, durch die mehrere Services zusammenarbeiten können, bis hin zu anspruchsvollen, verarbeitungsintensiven Informationen, für die externe relationale Datenbanken nicht die erforderliche Performance bieten können. SOA-Plattformen mit einer eingebetteten Datenbank unterstützen Funktionen wie die Persistenz von Nachrichten, die Integrität von Transaktionen, Ereignisprotokollierung und -verfolgung und den hochperformanten Abruf von Bitmap-indizierten Daten.

Metadaten sind in SOA das Schlüsselelement für die Bereitstellung von Services. Bevor Services genutzt werden können, muss bekannt sein, welche Services vorhanden sind, wo sie sich befinden und wie man sie verwendet. Hier bietet sich an, die eingebettete Datenbank für die Speicherung von Metadaten wie auch für transaktionale Daten, Nachrichten und andere Objekte zu verwenden. Das gemeinsam genutzte Metadaten-Repository enthält dann Informationen über alle Services und die weiteren Komponenten in der Umgebung. Es stellt die Grundlage für ein allgemeines und konsistentes Framework für die Integration von Services und Datenquellen, die Orchestrierung von Geschäftsprozessen und die Entwicklung von Composite Applications bereit.

Vorteile einer eingebetteten Datenbank.

Durch die stets verfügbaren Metadaten kann eine konsistente Menge an Schnittstellen und Informationen über alle Komponenten in der SOA erstellt werden. Dies beschleunigt die Integration und die Entwicklung, vereinfacht die Verwaltung und bietet eine bessere Erweiterbarkeit.

Ein in eine SOA-Plattform integrierter Datenspeicher bietet entscheidende Vorteile:

  • Leistungsfähige Auswertungs- und Analysefunktionen über den Nur-Lese-Zugriff auf ein Warehouse mit Nachrichten von beliebiger Komplexität mit vollständigem transaktionalen Zustand.
  • Hochgradig zuverlässige, lang laufende Geschäftsprozesse. Wird der Zustand aller ausgeführten Geschäftsprozesse automatisch gespeichert, ist die Wiederherstellbarkeit im Falle ungeplanter Systemausfälle oder anderer Störungen in hohem Maße gewährleistet.
  • Zugriff auf Konfigurationsdaten und andere Metadaten mit denselben Vorteilen bei Zuverlässigkeit, Skalierbarkeit und Performance wie bei den Unternehmensdaten in der Lösung. Auf Metadaten sollte aus Programmen über SQL sowie als Objekte oder visuell über ein Management-Portal zugegriffen werden können.
  • Die Datensynchronisierung verwendet einfache Formeln und Lookups in Datentabellen (intern oder extern), die durch benutzerdefinierte Funktionen auf beliebige Komplexitätsgrade erweiterbar sind. Gekoppelt mit der Abstraktionsfunktionalität Daten universell zwischen Anwendungen unterschiedlicher Technologien synchronisiert werden.
  • Performance-Optimierungen, da Kopien von Daten, auf die häufig zugegriffen wird, im Cache zwischengespeichert werden können. Durch eine solche persistente Cache-Funktionalität wird der typische Engpass in Integrationsszenarien vermieden – die Erfordernis, auf Daten in überlasteten Unternehmensdatenbanken zuzugreifen.
  • Datenanalyse in Echtzeit. Eine transaktionsorientierte Bitmap-Indizierung bildet die Basis für schnelle Abrufvorgänge, die für die Unterstützung von Business Intelligence und Business Activitiy Monitoring in Echtzeit entscheidend sind.

Management von SOA.

Serviceorientierte Architekturen bestehen grundsätzlich aus lose gekoppelten Services und stellen deshalb im Management eine besondere Herausforderung dar. Asynchrone Geschäftsprozesse und nachrichtenorientierte Services erschweren die Verfolgung von Abläufen und damit die Fehlersuche. Auch für dieses Problem bietet eine persistente Speicherung Abhilfe. Für die effiziente Verwaltung einer SOA-Plattform wird eine Fülle von Diagnosedaten und Werkzeugen zur Analyse in Echtzeit benötigt:

  • Die Fähigkeit, gespeichertes Nachrichten und andere Informationen zu analysieren und die Nachrichtenpfade zu verfolgen
  • Pflege des Message-Warehouse
  • Konfigurationssteuerung
  • Überwachung von Warteschlangen und Prozessen
  • Detaillierte Event-Logs
  • Nutzungshistogramme

Resümee.

Während einige SOA-Plattformen im Grunde nur eine Zusammenstellung von unabhängigen Tools sind und schon deshalb nicht über die benötigte Integrationsfähigkeit verfügen, fehlen anderen Plattformen höhere Abstraktionstechnologien oder integrierte Datenspeicher. Bei der Auswahl ist darauf zu achten, nicht auf ineffiziente Entwicklungsumgebungen mit eingeschränktem Support für wichtige Anwendungsschnittstellen, Datenformate und Technologien zu setzen.

Eine integrierte SOA-Plattform mit innovativer Abstraktions- und Datenpersistenz-Technologie andererseits bildet eine zuverlässige Grundlage für Integrationsprojekte beliebiger Komplexität, insbesondere mit folgenden Vorteilen:

  • Direkte Ausrichtung auf die Verbesserung der Geschäftsprozesse, anstatt sich lange mit der zu verwendenden Technologie zu beschäftigen
  • Einfachere und schnellere Entwicklung und Inbetriebnahme von IT-Assets als Services in einer flexiblen serviceorientierten Architektur
  • Einfachere Integration von Funktionalität aus Altsystemen in die serviceorientierte Architektur
  • Einfachere Anpassung von IT-Assets an die sich häufig ändernden Geschäftsanforderungen und -prozesse
  • Unkomplizierter Einsatz in vorhandenen Frameworks und Methodologien
  • Der Umstieg auf eine serviceorientierte Architektur ist kostengünstiger und weniger risikobehaftet.

Peter Mengel

___________________________________________________________

Peter Mengel, Marketing Director CEE, Intersystems GmbH

 

 

Klare Architektur

Quelle: Intersystems


 

Funktionale Architektur der universellen Integrationsplattform Ensemble.

 

 

 


 

Durch die Speicherung aller Nachrichten, die durch das System fließen, einschließlich der zugehörigen Metadaten, stehen leistungsstarke Verfahren zur Verfolgung von Geschäftsprozessen sowie für das Debugging und Reporting zur Verfügung.

 

 


Folgen Sie »manage it« auf Google+




 


 


 

 

 
Copyright © 2003-2012  ap Verlag GmbH