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.
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.
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.
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.