Fehlermanagement als serviceorientierte Technik

Keine SOA ohne Exception-Management

19. November 2007, 15:05 Uhr | Thomas Egeling/jos Thomas Egeling ist Presales Consultant bei Vitria Technology in München.

Die Auftrags-, Produktions- und Distributionsprozesse in den Unternehmen laufen selten so ab wie geplant. Der Auftrag wird nachträglich geändert, Vorprodukte treffen verspätet ein oder der Transport verzögert sich. Ein passgenaues Exception Handling mit einem hinterlegten Regelwerk schafft Abhilfe.

Den perfekten Auftrag, bei dem alles glatt geht, gibt es nur in der Theorie. Die Praxis sieht
ganz anders aus. Denn selbst mit enormen Investitionen in Technik und organisatorische Maßnahmen
laufen nur zwischen 80 und 90 Prozent aller Aufträge völlig ohne Probleme ab. Dies gilt für die
Fertigungsindustrie ebenso wie für die Dienstleistungsbranche. Falsche Basisdaten, fehlerhafte
Kommunikation zwischen den Geschäftspartnern, unvollständige Übermittlung der Aufträge und
Lieferprobleme sind nur einige der üblichen Schwierigkeiten und Problemfälle. Laufen die
unternehmenskritischen Prozesse im Order Management nicht reibungslos ab, sind teure manuelle
Eingriffe in Transaktionen erforderlich.

An Vorschlägen und Maßnahmen, um hier Abhilfe zu schaffen, mangelt es nicht. Speziell in der
Fertigungsindustrie hat man sich lange Zeit darauf beschränkt, Ausnahmefälle (Exceptions) in den
einzelnen Anwendungen der Bereiche Beschaffung, Wareneingang, Lagerwesen, Materialwirtschaft etc.
zu behandeln. Nun konnten die internen Fehlerroutinen noch so gut sein: Spätestens dann, wenn
Geschäftsprozesse mehrere Applikationen ansprechen und deren Daten benötigen, gibt es keine
Routinen mehr, die Ausnahmen und Fehler abfangen könnten. Kommt es an solchen Stellen zu
unerwarteten Ereignissen, wird dadurch der gesamte Verlauf von Geschäftsprozessen negativ
beeinflusst.

SOA strukturiert Prozesse

Gerade dort, wo eine Reihe von Applikationen im unternehmensübergreifenden und mehrere
Lieferantenstufen umfassenden Order-Management in die Geschäftsprozesse involviert sind, kommt
heute bereits SOA als Strukturierungsprinzip zum Zuge. SOA ist jedoch keine Technik, sondern
vielmehr ein konzeptionelles Modell, um möglichst effizient komplexe IT-Infrastrukturen aufzubauen,
die eine Vielzahl von Fachanwendungen integrieren. Dabei sind die Applikationen (in der
SOA-Terminologie: die Services) lose untereinander gekoppelt und agieren daher weitgehend "
eigenständig." Erst im Verbund mit anderen Anwendungen und in umfassende Geschäftsprozesse
eingebunden, entfalten sie ihre volle Leistungsfähigkeit.

Zwischen SOA und einem typischen industriellen Fertigungsprozess gibt es einige Parallelen, etwa
bei der Nutzung vorgefertigter, direkt einsatzfähiger Komponenten. Im Automobilbau beispielsweise
setzen Unternehmen bereits bei der Produktplanung und -entwicklung auf die System- und
Modulbildung. Als Module gelten komplette und funktionstüchtige Komponenten, die einbaufähig
geliefert werden. Antrieb, Ausstattung, Bremssystem, Fahrwerk, Karosserie etc, entstehen, indem
Funktionen aus mehreren Baugruppen, Komponenten und Modulen zusammenwirken. Viele dieser Teile
werden auftragsneutral vorgefertigt. Die auftragsbedingten Bausteine müssen abhängig von bestimmten
Ereignissen individuell geordert werden.

Eine derartige ereignisgesteuerte Konstellation lässt sich in der IT sehr gut mit einer
asynchronen, lose gekoppelten SOA abbilden und letztlich auch steuern. Voraussetzung dafür sind
Methoden und Verfahren, um die Nachricht (eine Message) vom Auftreten eines bestimmten Events zu
veröffentlichen beziehungsweise empfangen zu können – mit dem Fachterminus: Publish and
Subscribe.

Die gesamte Kommunikation dreht sich dabei um Events. Nun ist die Gefahr jedoch groß, dass jeder
unter einem Event etwas anderes versteht. Geeignet ist in dem Zusammenhang eine von der Gartner
Group vorgeschlagene Definition: Ein Event hat die Form einer Nachricht, die eine Statusänderung
eines Zustands anzeigt. Kommt es im Arbeitsablauf (einem Geschäftsprozess) zu einem Problem,
erfolgt sofort eine E-Mail-Benachrichtigung und es können Maßnahmen ergriffen werden (falsche Daten
korrigieren, fehlende nachtragen, fehlende einholen etc.), um den Prozess ordnungsgemäß
abzuschließen. Auch wenn solche Events häufig einen fachlichen Hintergrund haben, müssen sie
dennoch auch technisch abgebildet werden, denn ansonsten wäre keine IT-Lösung für das Problem
denkbar. Im einfachsten Fall spricht man von Ereignis-gesteuerten Applikationen. Die Terminologie
der Gartner Group bezeichnet dies als "Event Passing": Es wird ein Ereignis erkannt und unmittelbar
darauf reagiert.

Fehlermanagement als SOA-Service

Exakt diese Mechanismen der Übermittlung von Ereignissen (Abweichungen vom Erwarteten,
Ausnahmefälle) macht sich auch Exception Handling zu nutze. Als SOA-Service, ausgestattet mit der
benötigten Verarbeitungslogik, befasst sich eine Lösung wie Vitria Resolution Accelerator mit
Abweichungen, Anomalien und anderen Sonderfällen in komplexen, unternehmenskritischen
Geschäftsprozessen.

Im Unterschied zu reinen Workflow-basierenden Lösungen, die nur die Abläufe selbst beobachten
und notfalls eingreifen, sind hier alle an einem unternehmenskritischen Geschäftsprozess
beteiligten Applikationen als Services in eine Exception-Handling-Lösung integriert. Die
Zentralisierung des Exception-Managements sorgt für eine jederzeitige Transparenz. Dadurch ist auch
gewährleistet, dass alle auftretenden Ausnahme- und Sonderfälle zeitnah angezeigt und gelöst
werden, sei es automatisch aufgrund hinterlegter Regeln oder manuell durch ein Spezialteam. Das
Herzstück einer solchen Lösung bildet eine Rules Engine, die alle anfangs definierten Routinen zur
Fehlerbehandlung enthält. Entscheidend ist natürlich an der Stelle, dass sich die Regeln anpassen
und erweitern lassen: Denn auch das gesamte Umfeld ändert sich ja permanent.

Tritt nun eine Abweichung vom erwarteten Ablauf eines Geschäftsprozesses ein, wird eine
XML-Message an die Exception-Handling-Lösung verschickt. Der SOA-Service filtert die Ausnahmen und
Abweichungen von den üblichen Ereignissen heraus und zeigt ereignisgesteuert, welche Vorkommnisse
wie zu behandeln sind. Die eigentliche Verarbeitung der Messages steuert der Lifecycle Manager,
eine der zentralen Komponenten des Resolution Accelerator. In einem Exception Dictionary überprüft
er, welche Events bereits bekannt und damit klassifiziert sind. Darüber hinaus können weitere
Informationen, die zur Behebung des Problems benötigt werden, über Serviceaufrufe eingebunden
werden.

Auf Basis dieser Informationen liefert der SOA-Service dann Anweisungen, wie die Ausnahme zu
beheben ist. Über einen Benutzerdialog unterstützt Resolution Accelerator bei Bedarf eine manuelle
Bearbeitung. Die Software lenkt den Bearbeiter in seinem Entscheidungsverhalten, gibt Hinweise
darauf, für welche Fälle eine sofortige Einleitung von Gegenmaßnahmen notwendig wird, und
ermöglicht so eine weitere Systematisierung der Fehlerbehandlung. Im optimalen Fall gelingt es
damit, Regel-gesteuert die Auflösung der Fehler zu automatisieren.

Ein wichtiger Aspekt dabei, der die IT besser als bislang mit dem Business verknüpft: Das
Exception Handling sollte sowohl technische als auch fachlich bedingte Ausnahmen in den Prozessen
behandeln und auflösen. Enorm hilfreich in dem Zusammenhang ist eine Funktion namens "Mass Repair":
Damit lässt sich in einem Anlauf das mehrfache Vorkommen eines Problemfalls beheben.

Die grafische Benutzeroberfläche eines als SOA-Service existierenden Exception Handling
vereinfacht es, unternehmenskritische Geschäftsprozesse zu überwachen und zu analysieren. Diese
Sicht auf das Große und Ganze wird ergänzt durch die Analyse im Detail. Denn eine genaue
Betrachtung der identifizierten Ausnahmen, aber auch der Fehler in einem Ablauf, liefert wichtige
Hinweise zur weiteren Prozessverbesserung. Diese Feedbackschleifen sind allein schon deshalb
bedeutsam, weil dadurch die Möglichkeit besteht, dass die Event-Management-Lösung aus den Fehlern "
lernen" kann und die Problemlösungsregeln angepasst werden können.

Gute Ergänzung zu SOA Governance

Allein mit diesen hier kurz skizzierten Funktionen zeigt sich bereits der enorme Nutzen des
Exception Handling für SOA. Je mehr SOA zu den unternehmenskritischen Geschäftsprozessen vordringt,
desto eher ist Exception Handling unentbehrlich. Gerade als lose gekoppelte Infrastruktur benötigt
SOA eine Reihe spezialisierter Funktionen, die gemeinsam den Wert einer derartigen Architektur
steigern. Neben dem Exception Handling ist dies SOA Governance. Darauf spezialisierte Tools
ermöglichen anhand vorgegebener Policies die Überwachung der Abläufe in einer SOA: Ist die
gewünschte Verfügbarkeit gegeben wie sie in Service Level Agreements definiert sind? Werden die
Sicherheitsrichtlinien von den Servern über die Transportnetze bis zu den Endgeräten eingehalten?
Kommt es zu Aussetzern bei der Ausführung einzelner Services? Bei der Aufklärung der Ursachen und
der Beseitigung der Fehlerfälle erweist sich Exception Handling als das Mittel der Wahl.

Während SOA Governance vereinfacht ausgedrückt für das Monitoring zuständig ist, zeigt Exception
Handling seine Stärke bei der Ursachenforschung und der Behebung der Probleme. Durch Rückgriff auf
regelbasierte und metadatengesteuerte Dictionaries ermöglicht eine Exception-Handling-Lösung die
Ursachen für Fehler, Anomalien und Probleme aufzuspüren und die deswegen unterbrochenen
Geschäftsprozesse wieder in Gang zu bringen. Dadurch werden alle Schritte zum Aufspüren und zur
Beseitigung von Ausnahmefällen transparent gemacht und es entsteht ein tragfähiges Fundament für
eine grundlegende Korrektur von Schwachpunkten in den Geschäftsprozessen. Durch ein detailliertes
Auditing und Logging aller Details des Lösungsweges sind Untenehmen zudem in der Lage, auf komplexe
und umfangreiche Anforderungen gesetzlicher Vorschriften, Vorgaben und Verfahrensregeln
nachzuweisen.

Jörg Schröper.

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+