Denkt man heute an BPM, so verbindet man damit zumeist die Kernfunktionalitäten Modellierung Automatisierung, Interaktion, Integration und Monitoring. Bei unkritischen Sekundärprozessen sind diese Funktionalitäten vielfach ausreichend. Genauer hinschauen muss man jedoch, wenn BPM-Suiten die Kontrolle von geschäftskritischen Prozessen übernehmen oder strategisch eingeführt werden.
Der umfangreiche Einsatz einer BPM-Suite führt dazu, dass der Ausfall oder Teilausfall des Systems gravierende Störungen im Geschäftsbetrieb nach sich zieht. Als zentrales System der Prozesssteuerung und -überwachung können BPM-Systeme damit im schlimmsten Fall zur Achillesferse eines Unternehmens werden – sie werden „mission-critical“. Umso wichtiger ist es, die potentiellen Gefahren für die Nichtverfügbarkeit eines BPM-Systems zu kennen, und neben der BPM-Kernfunktionalität auch auf die sogenannten System-Management-Funktionen einer BPM-Suite zu achten, die dazu dienen, diesen Gefahren zu begegnen.
Beim Betrieb einer IT-Lösung im Allgemeinen sowie einer BPM-Suite im Speziellen lauern zahlreiche potentielle Gefahren: Hardware-Defekte einzelner Komponenten oder eines vollständigen Servers treten nicht selten auf. Sind die Verfügbarkeitsanforderungen moderat, kann ihnen relativ einfach begegnet werden. Die redundante Auslegung der Komponenten eines Servers schafft hier bereits eine deutliche Unempfindlichkeit gegenüber Ausfällen. Komplexer wird das Ganze, wenn eine vollständige Redundanz über mehrere Standorte sowie verlässliche Umschaltmechanismen und die garantierte Fortführung der laufenden Prozesse gefordert werden. Hier sind entsprechende Software-Mechanismen in Kombination mit der redundanten Hardware unerlässlich und müssen in der Architektur einer BPM-Suite Berücksichtigung finden.
Software-Defekte, d. h. Fehler, die nur unter bestimmten Umständen auftreten, sind − ähnlich wie Fehlkonfigurationen und Fehlbedienungen durch das Betriebspersonal − schon deutlich heikler. Sie erfordern ein striktes Vorgehen bei der Konfiguration des Systems, die Anwendung von systematischen Tests auf der Ebene der Fachprozesse sowie die Nutzung von spezifischen System-Management-Funktionen innerhalb der BPM-Suite. In diese Kategorie fallen auch Gefahren, die durch die Weiterentwicklung von Prozessen, d. h. die Aktualisierung während des laufenden Betriebs, bedingt sind.
Auslaufende Zertifikate, temporäre Störungen im Netzwerk oder den integrierten Systemen führen ebenfalls zu Risiken, die nicht außer Acht gelassen werden dürfen. Auch Peak-Belastungen sind keine Seltenheit, wenn beispielsweise zum Monatsende eine hohe Anzahl von Prozessen im Bereich der Rechnungsautomatisierung laufen und andere Prozesse dadurch temporär in Mitleidenschaft gezogen werden.
Schließlich sind die sicherheitsrelevanten Aspekte zu nennen. Wird eine BPM-Suite für unternehmensübergreifende Prozesse genutzt, so werden zumindest Teilfunktionen der Suite zwangsläufig über das Internet erreichbar sein. Hier sind besondere Schutzmechanismen gefordert, um den vielfältigen Gefahren durch Angriffe ruhigen Gewissens begegnen zu können. Vergessen werden hierbei leicht die Gefahren durch Angriffe von innen, d. h. aus dem eigenen Corporate Network des betreibenden Unternehmens heraus. Für alle diese sicherheitsrelevanten Risiken sind spezifische Eigenschaften und System-Management-Funktionen gefordert. Sieht man darüber hinweg, so können je nach Unternehmen und Einsatzszenario leicht Schäden in Millionenhöhe entstehen.
inubit ist sich als BPM-Anbieter der immensen Tragweite dieser Gefahren bewusst. Daher bietet die inubit BPM-Suite umfangreiche Sicherungsmechanismen − die wichtigsten werden im Folgenden näher vorgestellt.
Eine sichere Weiterentwicklung von Prozessen erfordert eine zentrale Prozess- und Service-Registry, in welcher alle Prozessartefakte einheitlich verwaltet werden und zugreifbar sind. Diese müssen über integrierte Testmechanismen testbar sein, und natürlich versioniert werden. Ein auf der Versionsverwaltung aufsetzender Tagging-Mechanismus unterstützt die Release-Bildung, da sich produktive Releases von Prozessen typischerweise aus unterschiedlichen Einzelversionen der beteiligten Artefakte zusammensetzen.
Eine weitere Voraussetzung ist die Trennung von Systemen für die Entwicklung von Prozessen, das Testen sowie die eigentliche Produktion. Dieses sogenannte Staging sollte nicht in einer Instanz einer BPM-Suite abgebildet werden, sondern über getrennte Systeme. Natürlich muss es auch möglich sein, die Konfigurationsstände von einem System auf das andere komfortabel zu übertragen. Bei diesem Deployment sind nämlich nicht nur einfache Kopien anzufertigen, sondern auch automatisch bestimmte Konfigurationen anzupassen, da eine BPM-Suite typischerweise mehrere andere Systeme integriert, die je nach Staging-Stufe unterschiedliche Adressen, Accounts, Passwörter usw. haben.
Gerade beim Deployment auf die Produktiv-Umgebung ist außerdem zu beachten, wie mit den bereits laufenden Prozessinstanzen (vor allem bei langlaufenden Prozessen) umgegangen wird. Denn hier muss sichergestellt sein, dass die Prozesse sauber zu Ende ausgeführt werden, und neue Instanzen auf dem neuen Release entstehen.
Aus Sicht des Betriebs werden verschiedenste Anforderungen an eine BPM-Suite gestellt. Grundvoraussetzungen sind u.a. Möglichkeiten zum umfassenden technischen Monitoring des Systems (z.B. integrierter Watchdog, Monitoring von Auslastungskennzahlen wie CPU, RAM, Disk). Um eine Einbindung in die meist vorhandenen Monitoring-Systeme zu erlauben, müssen die Informationen aktiv über SNMP (Simple Network Management Protocol) bereitgestellt werden. Zudem sind aggregierte Auswertungen erforderlich, die ein Monitoring der Process-Performance und -Verfügbarkeit − insbesondere im Kontext von Service Level Agreements (SLAs) – erlauben.
Um in Problemsituationen schnell und effektiv handeln zu können, sollte die BPM-Suite Remote Support, also eine Konfiguration und Administration über einen zentralen Client, erlauben. Idealerweise kommuniziert dieser Client über ein standardisiertes Protokoll wie http bzw. https und bietet dabei auch Sicherheitsfunktionen wie z. B. eine Client-Server-Authentifizierung. Das über diesen Client erreichbare Monitoring bietet dann umfassende Logging-Information, Status-Sichten zu aktuellen Systemauslastung sowie die Möglichkeit, Prozessinstanzen temporär zu stoppen, diese neu zu starten oder zu beenden.
Für den Fall der Fälle muss ein Backup zur Verfügung stehen, das durch die BPM-Suite selbst erzeugt wurde, um wirklich einen wiederaufsatzfähigen und konsistenten Systemstand zu haben. In sehr kritischen Umgebungen kann ein normales Backup durch ein sogenanntes Point-in-Time Recovery ergänzt werden, welches die Wiederherstellung des Systems zu jedem beliebigen Zeitpunkt erlaubt.
Natürlich spielt auch die Skalierbarkeit des Systems eine große Rolle, gerade um die bereits angesprochenen Peak-Situationen abzufangen, aber auch, weil erfolgreiches BPM zu einer immer stärkeren Nutzung des Systems führt. Deshalb sollte eine moderne BPM-Suite Mechanismen zum Clustering und zum Farming bieten sowie virtualisierte Umgebungen unterstützen, welche heute zunehmend an Bedeutung gewinnen. Diese besitzen bereits Mechanismen, die die Ausfallsicherheit des Systems erhöhen − aber eine BPM-Suite muss auch nativ entsprechende Gesamtarchitekturen ermöglichen. Abhängig von den Anforderungen kommen dabei Cold-, Warm- oder Hot-Standby-Systeme zur Anwendung, welche in den oben angesprochenen Deployment-Mechanismus eingebunden sein müssen.
Neben der technischen Absicherung, ist es besonders wichtig, dass die Möglichkeit zur Priorisierung der Prozessabarbeitung besteht. Damit ist sichergestellt, dass in Phasen einer hohen Systembelastung die wichtigen Prozesse weiterhin zur Verfügung stehen und unkritische Prozesse solange „geparkt“ werden, bis wieder ausreichend Systemleistung zur Verfügung steht.
Im Bereich Security gibt es eine Reihe von Funktionsbereichen, die notwendig sind, um das System wirklich sicher zu gestalten. Dies sind nicht nur die typischen Funktionalitäten zum Signieren und Verschlüsseln, wie z. B. die Unterstützung von verschiedensten Zertifikatstypen oder die Bereitstellung eines zentralen Security Token Service. Auch das User Management mit seinem Rollen- und Rechtekonzept ist ebenso ein wichtiger Baustein wie ein Audit Log, in dem alle Änderungen am System sowie alle Log-in-Versuche protokolliert werden und somit eine Nachvollziehbarkeit aller Aktivitäten gewährleistet wird.
Eine ausgeprägte Mandantenfähigkeit des Systems trägt durch die Trennung der Konfigurationen der einzelnen Anwenderkreise (z.B. Standorte, einzelne Tochtergesellschaften) zusätzlich zur Erhöhung der Sicherheit bei, und unterstützt außerdem aktuelle Betriebsmodelle wie Cloud Computing.
BPM auf strategischer Ebene eingesetzt wird nur erfolgreich sein, wenn auch der Betrieb der Prozesse in einer angemessenen Qualität sichergestellt ist. Es reicht nicht aus, die modellierten Geschäftsprozesse nur technisch umzusetzen. Das gesamte BPM-System muss den hohen Sicherheitsanforderungen entsprechen, um nicht zum Stolperstein zu werden. Integrierte System-Management-Funktionen helfen hier gezielt.
Dr. Torsten Schmale, inubit AG