Serviceorientierte Architektur (SOA)

Die IT-Landschaft vieler Unternehmen ist im Lauf der Zeit heterogen gewachsen. Zu Beginn waren die Applikationen meist mainframebasiert und wurden später durch Client-Server-Lösungen ergänzt. Bei vielen mittleren und grösseren Unternehmen führte dies über die Jahre zu einer immer komplexer und anspruchsvoller werdenden Bewirtschaftung der essenziellen Kerndaten.

Die wenigsten Unternehmen verfügen über ein einheitliches IT-System. Der weitaus grössere Teil sieht sich – meist historisch bedingt – mit einer Vielzahl verschiedener Technologien und Applikationen konfrontiert. Übergeordnetete Geschäftsprozesse verlangen indes nach einer einheitlichen, homogenen Darstellung sämtlicher Daten aus unterschiedlichsten Quellen.

SOA bietet den richtigen Ansatz (Paradigma), um die vorhandenen EDV-Komponenten (Datenbanken, Server, Enterprise Applikationen, Websites usw.) in Dienste zu kapseln und anschliessend so zu koordinieren (Orchestrierung), dass sie zu übergeordneten Diensten zusammengefasst werden können. Entscheidend sind dabei nicht die technischen Einzelaufgaben (Datenbankabfragen, Berechnungen, Datenaufbereitungen usw.), sondern die Zusammenführung dieser IT-Leistungen zu übergeordneten Zwecken.
Ein einfaches Beispiel dafür ist die Kundenübersicht für den Agent im Call-Center oder den Verkaufsberater. Sie soll auf einen Blick Kundenbasisdaten, Kontaktdaten, letzte Bestellungen, letzte Zahlungen, Jahresumsätze, letzte Kontakte, Instruktionen, Marketing-Informationen, Kundenratings, Reklamationen und anderes mehr darstellen.
SOA ist aber auch der richtige Ansatz für komplexere Geschäftsprozesse wie beispielsweise eine Kreditvergabe. Dahinter verbirgt sich bei einem Finanzinstitut ein Ablaufprozess mit mehreren beteiligten Personen und informationstechnischen Systemen (Bewilligungsprozess, Eröffnung der Geschäftsbeziehung, Kontoeröffnung, Erstellung Kreditvertrag usw.)

Anforderungen an ein SOA basiertes System

  • Einfache Integration und flexible Wiederverwendung von Backendsystemen
  • Reduktion der Komplexität in den Frontend-Applikationen
  • Kurze Entwicklungszeit für die Integration von Daten und Services
  • Kurze Einarbeitungszeit für Service-Integratoren
  • Modularer Aufbau der SW-Architektur ermöglicht rasche Anpassung an neue Rahmenbedingungen
  • Einfaches Definieren zur Orchestrierung von Services
  • Governance zur Definition und Sicherstellung der Kontrolle über Sicherheits- und Geschäftsrichtlinien
  • Kostenreduktion durch effizientes Caching

SOA Architektur

B&P Consulting hat bereits in mehreren Projekten bewiesen, dass sie das SOA Paradigma und die damit verbundenen Technologien beherrscht. Es sind Lösungen entstanden, die eine zuverlässige, skalierbare und verteilte Kommunikation garantieren. Die Implementierung sorgt für die Datentransformation zwischen einzelnen Services und stellt Adapter zu Legacy-Systemen respektive zu Implementierungen verschiedener Hersteller bereit.

Grafik SOA Architektur

Anforderungen an eine SOA Implementierung

  • Breite Basis von Konnektoren zur Integration von Backendsystemen
  • Schnelle, zuverlässige und fehlertolerante Kommunikation
  • Hoch performantes, skalierbares Laufzeitverhalten durch Clustering
  • Organisationsunabhängige Integration
  • Unterstützung von dezentralen Standorten (Remote Zugriff)
  • Zuverlässige und sichere Interoperabilität durch Verwendung von Standardprotokollen

Abstraktion der Backendservices über Datenobjekte

Der In- und Output der Backendservices wird auf Datenobjekte referenziert. Dadurch wird eine transparente Integration von unterschiedlichen Backendsystemen erreicht. Datenobjekte können aber auch durch Aggregation von mehreren Backendservices aus unterschiedlichen Quellen erstellt werden. Businesslogik kann im Bedarfsfall auf der Ebene von Datenobjekten implementiert werden.

Applikationsspezische Interfaces

Die applikationsspezifischen Interfaces werden basierend auf den Datenobjekten auf die Bedürfnisse der Frontendanwendungen ausgelegt. Für die Kommunikation zum Client kommen Standardprotokolle zur Anwendung, sodass Servlets-, Portlets-, .net-Anwendungen und Rich-/Fat- Clients die Services problemlos integrieren können.

Integrationsszenarien

Portal­ und Multichannel­-Integration

Aus Portalen und Frontendanwendungen ist es relativ einfach, auf Datenbanken oder Webservices zuzugreifen. Ungleich schwieriger lässt sich jedoch der Zugriff auf Daten aus Legacy Systemen oder der für Portale übliche gleichzeitige Aufruf mehrerer Datenquellen implementieren. SOA integriert viele verschiedene Frontendapplikationen mit beliebig vielen Backendsystemen. Dabei kapselt der Middle Tier die verschiedenen Backendsysteme für die Frontendapplikationen vollkommen transparent ab. Requests über mehrere Backendsysteme werden hundertprozentig parallel ausgeführt, wodurch eine bestmögliche Antwortzeit erreicht wird. Dabei wird selbstverständlich die Berechtigung auf Daten und Datenräume überprüft.

Automation von Geschäftsprozessen

Die qualitative Verbesserung von manuellen Prozessen und Batchabläufen stellt zweifellos ein wichtiges Ziel verschiedenster Unternehmen aus unterschiedlichsten Branchen dar. Durch den Ansatz, Legacy Systeme einzubinden, können Geschäftsprozesse kontinuierlich automatisiert werden, ohne das Risiko einer Big Bang-Migration einzugehen. Die Legacy Systeme können dabei weitgehend unverändert bleiben. Dadurch kann mit geringem Kostenaufwand die Qualität (Fehlerminimierung, Durchlaufzeit usw.) der Geschäftsabläufe signifkant verbessert werden.

Systeme mit verteilten Daten

Viele Businessprozesse sind darauf angewiesen, dass Daten synchron an Backendsysteme übergeben werden können. Ist eines der Backendsysteme nicht verfügbar, so kann der Prozessschritt nicht durchgeführt werden. In diesem Fall hilft die SOA Implementierung, indem Transaktionen im Online-Fall zwischengespeichert werden. Sobald das entsprechende Backendsystem wieder verfügbar ist, werden die Transaktionen selbstständig ausgeführt. Über diesen Mechanismus kann auch ein automatischer und kontinuierlicher Datenabgleich zwischen Master und Slave erreicht werden.

Antworten auf Echtzeit-(Geschäfts-­)Ereignisse

Echtzeitverarbeitung hängt ab von der schnellen und zuverlässigen Mitteilung von Ereignissen. Die Herausforderung wächst mit der Anzahl der kommunizierenden Teilnehmer. Durch ein beispielsweise auf JMS basierendes Kommunikations-Backbone, wird die SOA Implementierung dieser Herausforderung problemlos gerecht. Dabei spielt es keine Rolle, ob es sich um ein «1 zu n»- oder ein «n zu n›-Szenario handelt.