2009-05-11 13 views
9

Nach einigem Suchen in Google und Wikipedia, kann ich immer noch kein klares Bild über den "Unterschied" zwischen BRMS (Business Rule Management System) und BPM (Business Process Management)/Workflow-System bekommen.Geschäftsregel- und Prozessmanagement?

Können diese beiden Konzepte das Gleiche tun? (theoretisch) Eine "Regel" kann auch als "Prozess" modelliert werden. Ist es nicht?

Antwort

9

Business Rule Management Systeme

Ein BRMS (von der Art von ILOG verkauft) ermöglicht es Ihnen, eine Reihe von Regeln einzurichten und verwendet einen Algorithmus, wie Rete basierend auf den Bedingungen zu entsprechen, erzeugen Behauptungen (die wiederum durch andere Regeln angepasst werden können) oder ergreifen Maßnahmen basierend auf diesen Regeln. Diese können in Anwendungen eingebettet und zur Unterstützung konfigurierbarer Geschäftslogik verwendet werden.

Business Process Management System

A BPMS (wie MS Workflow Foundation oder einer der BPEL Motoren auf dem Markt) vor, um eine Anwendung durch eine Reihe von Stufen in einem Arbeitsablauf. Diese Phasen können verschiedenen Personen zugewiesen werden. Ein BPMS kann ein eingebettetes BRMS verwenden, um Entscheidungen darüber zu treffen, wohin ein Workflow geleitet werden soll. ILOG erstellt beispielsweise ein Plug-in, mit dessen Hilfe die Rules-Engine mit MS Workflow Foundation verwendet werden kann.

Der Unterschied zwischen der beide

regel Motor basierten Anwendung verwendet ein eingebettetes Rules Engine (BRMS) mit einem Mechanismus, den Datensatz es funktioniert mit und Haken für Aktionen, die von der Regel-Engine gerichtet zu lesen von der Anwendung ausgeführt werden. Es kann beispielsweise ein XML-DOM lesen, basierend auf dem Inhalt von Knoten innerhalb des DOM abgleichen und Assertionen als andere Knoten aufzeichnen. Andere APIs sind möglich. Die Anwendung kann auch Callbacks registrieren, bei denen Übereinstimmungen Aktionen auslösen können, bei denen die Rules-Engine Rückrufe in die Anwendung aufruft.

Eine Workflow-fähige Anwendung zeigt einem oder mehreren Benutzern unter einem Prozess, der in der Workflow-Engine definiert ist, verschiedene Bildschirme an. Diese Engine kann sich außerhalb der Anwendung befinden, und ein Workflow kann über mehrere Anwendungen hinweg springen. Die Workflow-Engine kann auch explizite kompensierende Rollbacks und Fehlerbehandlung für Anwendungen verwalten, die nicht direkt an verteilten Transaktionen teilnehmen können.

Die beiden Elemente schließen sich nicht gegenseitig aus. Es ist möglich, eine Workflow-fähige Anwendung mit einer eingebetteten Rules-Engine zu haben.Es ist auch möglich, eine Regelmaschine zu haben, die Geschäftslogik antreibt und Verzweigungsentscheidungen in einem Arbeitsablauf instanziiert oder trifft. Viele Workflow-Manager kommen aus genau diesem Grund mit einer Regel-Engine.

2

Eine Regel ist eine Definition, ein Prozess beinhaltet Schritte. Business Rules wäre so etwas wie das Definieren von Inventar als LIFO oder FIFO, während Business Process wäre, dass Joe seine Inventarnummern eingeben muss, die an Linda gehen, die es validiert, und dann die Geschäftsregel an LIFO angepasst wird, und dann wird es an Ralph geschickt, der es auf den 10-Q wirft.

Die beiden sind sehr ineinander verflochten, aber sie sind definitiv zwei verschiedene Dinge.

Edit: Ich sollte beachten, dass oft, bevor es in ein BRMS kommt, die Geschäftsregel an und für sich ein Prozess ist. Konvertieren von Inventar in LIFO ist eine Menge Mathematik, aber es kann manuell von 3 Personen statt systematisch durchgeführt werden. Es braucht einen guten analytischen Verstand, um zwischen Regeln und Prozessen zu brechen.

+0

Business Rules kann jedoch weiterhin Bedingungen, Abläufe oder Prozesse definieren. Recht? Warum brauche ich dann einen Geschäftsprozess, um sie zu modellieren und auszuführen? Ist das wegen der unterschiedlichen Modellierungsfähigkeit, (Entwicklung/Laufzeit) Werkzeuge? Oder vielleicht sollte ich fragen: Was ist der Stand der Technik? :-) – elgcom

+0

In einem reinen Sinne enthalten Business Rules nur systematischen Fluss und erfordern keine andere Benutzeraktion als die ursprünglichen Eingaben. Geschäftsprozesse fließen durch die Organisation, erfordern mehrere Benutzeraktionen und können einige Dinge enthalten, die nicht systematisch sind. Natürlich kann eine Software zu einer Hybride der beiden werden, um sie zu verwirren, aber die beiden in Ihrem Kopf zu trennen ist von größter Bedeutung, um zu dem gewünschten Endergebnis zu kommen. – Eric

3

Ich finde es einfacher, über den Unterschied zwischen Entscheidungen denken und Prozessen. Beide Entscheidungen und Prozesse können Regeln haben, aber sie sind nicht die gleichen - überprüfen Sie diese Liste von Unterschieden in einer Präsentation, die ich bei IBM's recent IMPACT show gab. Entscheidungen beziehen sich auf Geschäftsregeln und die ordnungsgemäße Verwendung von Geschäftsregeln zur Entscheidungsfindung kann Prozesse vereinfachen. Es gibt noch mehr zu diesem Thema in meinem Blog, aber Stackoverflow lässt mich ihm in Verbindung bringen ...