Business Rules

Transcription

Business Rules
Maria Deeg
Business Rules
Flexibel agieren mit
modellierten Business Rules
Im Hype der serviceorientierten Architekturen (SOA) sind nun Geschäftsregeln – auch Business Rules genannt – in aller Munde. Warum beschäftigen sich Unternehmen mit Geschäftsregeln und wie hängen diese
mit der Beschreibung von Geschäftsprozessen zusammen? Weil Geschäftsprozesse und Geschäftsregeln
strikt getrennt werden und Änderungen von Geschäftsregeln erfolgreich bewältigt werden können.
Im letzten Modeling Magazine wurden die
grundlegenden Prinzipien für die „Geschäftsprozessmodellierung als Basis für eine SOA“
beschrieben. Da dabei die Modellierung von
Geschäftsregeln nur ansatzweise erläutert wurde, geht dieser Artikel näher darauf ein.
Bei vielen Geschäftsprozessen müssen sich
die Mitarbeiter an Vorgaben halten. Über eine
Vielzahl an Regeln wird gesteuert, wie der Geschäftsprozess abläuft. Die IT-Anwendungen
werden in zunehmend mehr Unternehmen auf
die Prozesse und Regeln abgestimmt, um eine
höhere Prozessqualität zu erreichen.
modelliert, im Prozess wird jeweils nur auf die
Regeln verwiesen. Der Vorteil dieser Vorgehensweise: Die Änderungen müssen an einer
einzigen Stelle durchgeführt werden und sind
sofort an allen relevanten Stellen verfügbar.
Geschäftsregeln
beschreiben
Im Detail wird in einem Prozess, dessen Ablauf durch eine Regel gesteuert werden soll,
Wird eine Geschäftsregel geändert – sei es
durch die Unternehmensleitung oder durch den
Gesetzgeber – geht in vielen Unternehmen
die fieberhafte Suche los, welche Prozesse
und Anwendungen davon betroffen sind. So
können scheinbar kleine Gesetzesänderungen
große Effekte haben: Wie sieht die Umsetzung
aus und können sie rechtzeitig implementiert
werden?
Ein Beispiel: Es ist durch den Gesetzgeber
geregelt, wer, wann, wieviel Mehrwertsteuer
zahlen muss.
Jetzt geht es darum, die Prozesslogik (Wenn etwas mehrwertsteuerpflichtig ist, dann muss …)
von der Entscheidungslogik ( Welcher Umsatz
ist mehrwertsteuerpflichtig und wie hoch ist die
Mehrwertsteuer?) strikt zu trennen. Mit anderen Worten, in dem Geschäftsprozessmodell
werden folglich die Geschäftsregeln getrennt
6
die Ablaufvariante modelliert. D. h. es werden
die verschiedenen möglichen Pfade, die der
Prozess durchlaufen soll, beschrieben. In
unserem Beispiel wird einerseits ein Pfad mit
Addition der Mehrwertsteuer festgelegt und
ein weiterer für die Fälle, in denen keine Mehrwertsteuer anfällt.
An der Entscheidung wird die Bedingung lediglich abstrakt modelliert. In diesem Fall heißt
die Bedingung „Umsatz ist mehrwertsteuerpflichtig“. Die Entscheidungslogik, wann die
Mehrwertsteuer addiert werden muss, wird in
der Regel „Mehrwertsteuer zu Nettopreis“ definiert. Im Prozess wird die Regel nur referenziert.
Ebenso beschreibt eine eigene Regel, wie sich
die Höhe der Mehrwertsteuer berechnet.
Die Beschreibung des Prozesses wird dadurch
einfacher und leichter zu verstehen, da die
komplexe Logik in der Regel gekapselt ist.
werden durch die Prozessmaschine
orchestriert.
Regeln werden also nur einmal zentral
modelliert und implementiert und stehen
dann zur Verwendung in verschiedenen Prozessen und Anwendungen zur Verfügung.
Die Regeln selbst werden in der Wenn-DannForm strukturiert:
UÊ7
Ê`iÀÊ iÌ̜«ÀiˆÃÊrÊ *Ê՘`Ê`iÀÊ
i…ÀÜiÀÌÃÌiÕiÀÃ>ÌâÊrÊÃ-ʈÃÌ
UÊ ÊLiÌÀB}ÌÊ`ˆiÊi…ÀÜiÀÌÃÌiÕiÀÊrÊ *ÊIÊÃDer WENN-Teil der Regel wird als Regelprämisse bezeichnet, der DANN-Teil als
Konklusion.
In diesem Beispiel handelt es sich um eine
strukturelle Regel. Sie sind unbeugsam und man
spricht daher auch von „Unumgänglichkeiten“.
Fazit
Umsetzung in der
SOA
Operative Regeln steuern dagegen direkt den
Ablauf des Prozesses. Der DANN-Teil ist eine
Aktion:
UÊ7 Ê`iÀÊ1“Ã>Ìâʓi…ÀÜiÀÌÃÌiÕiÀ«vˆV…̈}ʈÃÌ
UÊ
ʓÕÃÃÊâÕ“Ê iÌ̜«ÀiˆÃÊ`ˆiÊi…ÀÜiÀÌsteuer addiert werden
Operative Regeln sind daher beugsam, d. h.
sie können übertreten werden.
Operative Regeln gibt es in einer Vielzahl von
Bedeutungen. Im Beispiel handelt es sich um
eine Pflicht („muss“). Es können aber auch
Zulässigkeiten („darf“) oder Möglichkeiten
(„kann“) beschrieben werden.
In einer serviceorientierten Architektur
(SOA) wird die Trennung von Geschäftsregeln und Prozessen auch in der Architektur sowie in der Realisierung beibehalten. Die Regeln werden als ein weiterer
Service betrachtet, der bei Bedarf genutzt werden kann. Die Implementierung
erfolgt über eine Regelmaschine (Rule
Engine), die dafür verantwortlich ist, die
Regeln für konkrete Geschäftssituationen
auszuwerten. Die Prozesslogik greift auf
den Regel-Service zu, d. h. die Regeln
Modelliert man im Rahmen der Geschäftsprozessmodellierung die Geschäftsregel
explizit getrennt von der Prozesslogik und
führt diese Trennung in der Implementierung fort, so werden Änderungen von
Geschäftsregeln offensichtlich und damit
beherrschbar.
Dies gilt sowohl für die Analyse und Abschätzung bei anstehenden Änderungen
als auch für die Umsetzung und den Test
von Änderungen.
Im Geschäftsprozessmodell können Prozessänderungen unabhängig von Regeländerungen modelliert werden, was die
Komplexität des Modells deutlich reduziert. Die Fachabteilung erhält dadurch
Planungssicherheit, die Realisierungzeiten
werden verkürzt.
Der entscheidende Vorteil ist allerdings,
dass die geschäftlichen Regeln in der Fachabteilung transparent verfügbar werden
und damit gesteuert werden können. Die
Abhängigkeit von einzelnen IT-Experten,
die wissen, wo-was-wie zusammenspielt,
kann somit aufgelöst werden.
Neuer MID Akademie Workshop
Von der Geschäftsprozessmodellierung
bis zur SOA in 2 Tagen
Im zweitägigen Workshop machen Sie praxisnah den Durchstich von der Geschäftsprozessmodellierung (GPM) bis zur Generierung verschiedener SOA-Artefakte wie
WSDL (Web Service Description Language) oder BPEL (Business Process Execution
Language). Sie identifizieren im Geschäftsprozessmodell die Business Services und verstehen den Zusammenhang zwischen den Business Services im Geschäftsprozessmodell
und den Use Cases in der fachlichen Analyse. Darauf aufbauend leiten Sie eine
Architektur ab und definieren die zu realisierenden Services.
Maria Deeg
Project Manager, MID
Am 16. und 17. Februar 2009 in Nürnberg
Info und anmelden: www.mid.de/akademie/WorkshopGPM2SOA
7