Frage

Zum Beispiel verarbeitet das System eine Kundenbestellung von check identification -> validate order context -> make order. Der Systemadministrator kann jedoch den Fluss zur Laufzeit ändern. Der Administrator kann die “überspringen“validate order context”.

Meine Frage ist, ob das System gleichzeitige Auftragsanfragen verarbeitet. Wenn Das System sollte die Durchflussänderung anwenden?

  • A): Wenden Sie die Änderung bis zur nächsten neuen Auftragsanfrage an.

  • B): Wenden Sie die Änderung sofort an, unabhängig von einer Anfrage. Es klingt zu starr.

  • C): Wenden Sie die Änderung bis zu einer bestimmten Zeit an, beispielsweise wird jede Änderung um 00:00:00 angewendet. Ich denke nicht, dass es eine gute Strategie ist.

Was ist die beste Praxis für die Situation? Wenn ich JBMP Framework zur Steuerung des Arbeitsflusss verwende, welche Strategie kann in diesem Fall angewendet werden? Vielen Dank!

War es hilfreich?

Lösung

Alle drei Optionen sind gültig. Die richtige Wahl hängt von dem Problem ab, das Sie lösen. Hier sind einige Beispiele:

  1. Wenden Sie die Änderung an, beginnend mit der nächsten neuen Bestellung. Dies ist eine gute Option, wenn Sie in einem neuen Arbeitsfluss in Phase stammen möchten. Sie könnten dies als "die aktuelle Arbeit mit dem aktuellen Arbeitsfluss beenden, aber alle neuen Arbeiten werden den neuen Workflow verwenden".
  2. Wenden Sie die Änderung sofort an. Dies ist eine gute Option, wenn es wichtiger ist, dass der Currect -Workflow (damit der neue Workflow) für alle Arbeiten verwendet wird (sowohl aktuell als auch neu). Ein Beispiel hierfür könnte sein, dass "wir einen unnötigen Schritt aus dem Workflow entfernt haben".
  3. Wenden Sie die Änderung ab einem Zertifikat an. Dies ist eine gute Option in Situationen, die so beschrieben werden können: "Heute verwenden wir den alten Workflow, aber morgen beginnen wir den neuen Workflow zu verwenden."

Andere Tipps

Ihre erste Option, um sich mit dem nächsten Workflow (dh Order) zu bewerben, ist am sichersten aus Sicht der Parallelität. Das würde ich tun Weil Sie staatliche Objekte nicht beeinträchtigen und es sehr klar ist, dann für einen Beobachter, was passiert ist.

Für die zweite Option müssen vorhandene Workflows gesperrt werden, um sicherzustellen, dass sich keine in der befindet validate order context Zustand. Und wenn überhaupt, schreiben Sie einen Algorithmus, um ihn korrekt aus diesem Zustand zu lösen.

Schließlich ist Ihre letzte Option wirklich nur, die ersten beiden zu planen. Als solches könnte es in beide integriert werden und sollte von Geschäftsregeln (dh Anforderungen) angetrieben werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top