Frage

Mein Kunde sucht nach einer BPM -Lösung (Business Process Management). Was sie brauchen, ist ein einfaches Dokumentrouting und ein Genehmigungssystem. Was sind die Treiber für die Implementierung eines BPM -Systems? Wie hoch ist der Schwellenwert, an dem ein Entwickler vorschlagen sollte, eine BPM -Lösung im Vergleich zu einem Workflow -Tool oder einer benutzerdefinierten Entwicklung zu implementieren?

Wann passt JBPM? Wann passt eine staatliche Maschine, die in eine App eingebaut ist? Welche Probleme sollten bestehen, die feststellen, dass Sie eine ähnliche Lösung wie JBPM machen müssen?

Ich suche einige Beispiele in der realen Welt für "Wir haben versucht, die Lösung selbst aufzubauen, aber letztendlich mit aqualogisch/jbpm/lombardisch _"Bitte füllen Sie die Lücke aus.

War es hilfreich?

Lösung

Ich habe eine Workflow -Engine geschrieben, weil mein Arbeitgeber die IP besitzen wollte, modelliert JBPM. Der Grund, warum Sie ein solches Tool verwenden, anstatt Ihre eigene endliche Zustandsmaschine zu erstellen, besteht darin, Änderungen zu berücksichtigen, ohne die Beharrlichkeit zu ändern und Kantenfälle von Workflow -Prozessen zu unterstützen, wie ich es erklären werde.

Veränderungen aufnehmen, ohne die Beharrlichkeit zu verändern

Ihr typischer oder besserer als "naiver", endlicher Zustandsmaschinen -Implementierung nennt es eine Reihe von Datenbanktabellen, die eng mit den verwalteten Daten und dem von ihm fließenden Prozess gekoppelt sind. Möglicherweise gibt es eine Möglichkeit, vergangene Versionen zu halten und zu verfolgen, wer auch während des Prozesses übernommen wurde. Wo dies zu Problemen führt, ändert sich die Daten- und Prozessstruktur. Dann müssen diese eng gekoppelten Tabellen geändert werden, um die neue Struktur widerzuspiegeln, und sind möglicherweise nicht rückwärts kompatibel mit dem Alten.

Eine Workflow -Engine überwindet diese Herausforderung auf zwei Arten, indem sie die Serialisierung zur Darstellung der Daten und des Prozesses und zur Abstracting -Integrationspunkte, insbesondere der Sicherheit, verwendet. Der Serialisierungsaspekt bedeutet Daten und Prozess können sich über das System zusammenziehen. Auf diese Weise können Dateninstanzen desselben Typs vollständig unterschiedliche Prozesse bis zu dem Punkt befolgen, den der Prozess zur Laufzeit verändern kann, indem ein neuer Status hinzugefügt wird. Und nichts davon erfordert die Änderung des zugrunde liegenden Speichers.

Integrationspunkte sind Mittel, um Algorithmen in den Prozess zu injizieren, und die Verbindungen zu Authentifizierungsspeichern (dh Benutzer, die Maßnahmen ergreifen müssen). Injizierte Algorithmen können feststellen, ob ein Zustand abgeschlossen ist oder nicht, während das Beispiel für Authentifizierungsspeicher LDAP ist.

Jetzt ist der Kompromiss eine schwierige Suche. Da Daten beispielsweise serialisiert werden, ist es normalerweise nicht möglich, historische Informationen abzufragen - außer den Datensätzen abzurufen, mit dem Code zu deverialisieren und zu analysieren.

Randfälle

Der andere Aspekt eines Workflow -Tools ist die Erfahrung, die in sein Design und seine Funktionalität eingebettet ist, die Sie wahrscheinlich nicht in Betracht ziehen, Ihre eigenen zu rollen, und kann es bereuen, wenn Sie es benötigen. Die beiden Fälle, die mir in den Sinn kommen, sind zeitgesteuerte Aufgaben und parallele Ausführungspfade.

Zeitgesteuerte Aufgaben weisen nach Ablauf einer bestimmten Dauer eine Akteurverantwortung für Daten zu. Beispielsweise wird beispielsweise eine Pressemitteilung geschrieben und zur Genehmigung eingereicht und dann eine Woche ohne Überprüfung sitzt. Sie möchten wahrscheinlich, dass Ihr System das anhaltende Dokument identifiziert und die Aufmerksamkeit der entsprechenden Parteien lenkt.

Parallele Ausführungspfade sind in meiner Erfahrung (Content -Management -Systeme) ungewöhnlich, aber immer noch eine Situation, die oft genug entsteht. Es ist die Idee, dass ein bestimmtes Datenstück zwei verschiedene Überprüfungs- oder Verarbeitungswege gesendet wird, um zu einem späteren Zeitpunkt neu zu rekombiniert. Diese Art von Problem erfordert nützliche Zusammenführungsalgorithmen und die Fähigkeit, das Datenmultiplizieren gleichzeitig darzustellen. Das Weben in einer homspunischen Lösung danach ist viel schwieriger als es scheint, insbesondere wenn Sie historische Daten im Auge behalten möchten.

Fazit

Wenn sich Ihr System wahrscheinlich nicht ändert, ist das Rollen Ihrer eigenen möglicherweise eine einfachere Lösung, insbesondere wenn Änderungen alte Informationen brechen können. Wenn Sie jedoch den Verdacht haben, dass Sie diese Art von Haltbarkeit benötigen oder einige dieser ungewöhnlichen, aber dornigen Szenarien erleben werden, bietet ein Workflow -Tool viel mehr Flexibilität und Versicherung, die Sie sich nicht in eine Ecke malen, wenn die Daten und die Geschäftsprozesse Rückgeld.

Andere Tipps

BPM -Säure -Test (aus der Modellierung des Essential Business Process von Michael Havey, veröffentlicht von O'Reilly).

... BPM eignet sich nur für Anwendungen mit einem wesentlichen Zustand oder Prozess - dh Anwendungen, die prozessorientiert sind. Eine Anwendung besteht den BPM-Säure-Test, wenn sie legitim prozessorientiert ist. Der Antrag auf Reisebüros beispielsweise besteht den Test, da er am besten im Hinblick auf den Zustand der Reiseroute verstanden wird und jederzeit dadurch definiert wird, wie weit die Reiseroute gewonnen hat. Weitere typische Merkmale einer prozessorientierten Anwendung sind die folgenden:

  • Langlebig -

Von Anfang bis Ende erstreckt sich der Prozess über Stunden, Tage, Wochen, Monate oder mehr.

  • Beharrten Staat -

Da der Prozess langlebig ist, wird sein Status in eine Datenbank bestehen, sodass er den Server hostet

  • Bursty, schläft die meiste Zeit -

Der Prozess verbringt die meiste Zeit im Schlafen und wartet darauf, dass das nächste Auslöserereignis stattfindet. Zu diesem Zeitpunkt wacht er auf und führt eine Flut von Aktivitäten durch.

  • Orchestrierung von System- oder menschlicher Kommunikation -

Der Prozess ist für die Verwaltung und Koordinierung der Kommunikation verschiedener System- oder menschlicher Akteure verantwortlich.

... beispielsweise in einem automatisierten Kassiergerät, mit dem Benutzer ihren Kontostand abfragen, Bargeld, Einzahlungsschecks und Bargeld und Zahlungsrechnungen abheben können - jedes Prozessgefühl ist flüchtig und unerwahrungsvoll; Ein Geldautomaten ist ein Online-Transaktionsprozessor, keine prozessorientierte Anwendung.

Vielleicht könnte ein paar Fragen helfen.

Werden sich die Prozesse ändern? Wird eine ältere Version eines Prozesses live weitermachen, während eine neuere Version des Prozesses entsteht? Sollte die Laufzeit der Prozesse (und jeden Schritt) gemessen werden?

Geht es um Geschäftsprozesse (orchestrieren des Zustands mehrerer Ressourcen) oder Lebenszyklen für Ressourcen (nur der Status eines einzelnen Dokuments/einer einzelnen Ressource)? ...

Entschuldigung, wenn es keine große Antwort ist.

Ich würde mir das Bedürfnis des Geschäfts genauer ansehen, das Ihre Anstrengungen vorantreibt (dh "Business Case"). Nach meinem Verständnis könnte BPM/Workflow eine oder mehrere der folgenden haben Tore:

1. Aktionen automatisieren

Dies ist normalerweise erforderlich, um den Menschen durch die Automatisierung von Aufgaben durch die Automatisierung von Aufgaben zu ersetzen, z. B. das Erstellen von Dokumenten, Archivinformationen, Benachrichtigung von Benutzern usw.

2. Verfolgung der einzelnen Prozesse

Unternehmen müssen nachverfolgt werden, wenn es eine erhebliche Anzahl von Prozessen gibt, und Geschäftsbenutzer verlieren sie im Überblick, wie sie sie normalerweise in Office -Dokumenten und E -Mails ausführen. Jede externe Statusanfrage (z. B. eines Kunden) wird zu einer Untersuchung.

3. Kontrolle festlegen

Für Manager ist es in der Regel wichtig, eine hochrangige Sicht auf den Prozess zu erlangen und statistisch zu studieren: Sehen Sie, ob KPIs in Abspannungen, Ausnahmen usw. gehalten werden.

4. Verwalten Sie In-Process-Dokumentenaustausch und Zusammenarbeit

BPMs dienen häufig als Dokument -Austausch -Tool, da sie häufig Wechsel von E -Mail- und verbaler Kommunikation zu einem nachvollziehbaren Austausch in einem BPM ermöglichen

5. Automatisieren Sie den Datenaustausch zwischen Unternehmenssystemen

Dies ist ein reiner Integrationsfall und wird normalerweise in dem Fall gefordert, wenn bereits eine Reihe von Aktionen mit verschiedenen Systemen ausgeführt werden und der Informationsaustausch unter ihnen automatisiert werden muss.


Jetzt sind die vollständigen BPMs mit vollem vorgestelltem BPM für 2, 3 und manchmal 4. JBPM und andere Workflow-Motoren für 1 und 3 gut, aber mit einer wichtigen Einschränkung-sie erfordern eine komplexe Konfiguration/Entwicklung.

SOA-basierte Prozessorchestrierungsmotoren (manchmal auch BPM genannt!) Sind gut für (5) und (3).

Bitte zögern Sie nicht, die Liste hinzuzufügen und zu streiten! Ich habe dies als meinen Blog -Beitrag gepostet und hier ein bisschen mehr ausgearbeitet: http://processmate.net/do-you-need-a-bpm-or-a-workflow/

Letztendlich sind alle Geschäftssysteme, die sich mit der Verarbeitung von geschäftsbezogenen Informationen befassen, BPM- oder Workflow -Systeme. Die Informationsverarbeitung jedes Unternehmens kann in Bezug auf Arbeitsabläufe oder "Geschäftsprozesse" beschrieben werden, die Rollen und Aktivitäten beinhalten.

Die Tatsache, dass diese Geschäftsaktivitäten häufig in Java, C# oder anderen Programmiersprachen beschrieben werden, ist im Wesentlichen nur das Ergebnis der Automatisierung ohne ausreichend ausreichend ausreichend Technologie für Rezept und Beschreibung von Geschäftsprozessen mit automatischen Agenten.

Der Schwerpunkt lag auf Wachstum, Zeit zum Markt und so weiter, und die Computerisierung wurde ohne ordnungsgemäße Überlegung über langfristige Wartung und Flexibilität durchgeführt. 99% des Code sollten jetzt nicht sein.

Im Gegensatz dazu sind Echtzeit -Steuerungssysteme, Videospiele, Hochleistungs -Computing, Prognosen, Business Intelligence und mathematische Analyse Beispiele für Probleme, die sich nicht für eine grafische Arbeitsablaufbeschreibung eignen. Dies sind Dinge, die von Computern durchgeführt und von Computerexperten gepflegt werden sollten.

Geschäftsprozesse sollten von Business Operations Experten vorgeschrieben, beschrieben und lesbar sein. Die Flexibilitätsergebnisse werden zunehmend als Technologie anerkannt, die es ermöglicht (Workflow-Systeme), besser zu werden, und wird weiter anerkannt, wenn die Weltwirtschaft das "Wachstum" untermauert.

  • Wenn Sie dem Prozess Flexibilität (einfache Änderungen) bieten möchten, auch für laufende Prozesse.
  • Wenn Sie möchten, dass die Geschäftsbenutzer den Prozess steuern. Das sind die Domain -Experten, die die Prozesse besitzen und definieren. Durch die Verwendung einer BPM -Lösung können Sie den Prozess anhand von Modellierungswerkzeugen anstelle von Programmiersprachen steuern. Das ist unerlässlich.
  • Wenn Sie möchten, dass das System leicht skaliert wird. Normalerweise hätten Systemadministratoren die Möglichkeit, das System zu überwachen und zu betreiben. Wenn dies auch für Geschäftsbenutzer möglich sein sollte, ist BPM möglicherweise eine gute Wahl.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top