Domanda

Ad esempio, il sistema elabora un ordine del cliente da check identification -> validate order context -> make order. Ma l'amministratore di sistema può modificare il flusso in fase di esecuzione, amministratore potrebbe saltare la “validate order context”.

La mia domanda è se il sistema sta elaborando le richieste di ordine simultanee, quando il sistema dovrebbe applicare la modifica del flusso?

  • a):. Applicare la modifica fino alla prossima nuova richiesta ordine

  • b): Applicare la modifica immediatamente, non importa qualsiasi richiesta è in elaborazione. Sembra troppo rigida.

  • c): Applicare la modifica fino a un certo tempo, per esempio, verrà applicato alcun cambiamento alle 00:00:00. Non credo che sia una buona strategia.

Qual è la migliore pratica per la situazione? Se uso quadro JBMP per controllare il flusso di lavoro, quale strategia può essere utilizzato in questo caso? Grazie!

È stato utile?

Soluzione

Tutte e tre le opzioni sono valide. La scelta giusta dipenderà dal problema si sta risolvendo. Ecco alcuni esempi:

  1. Applicare la modifica a partire dal prossimo nuovo ordine. Questa è una buona opzione se si desidera fase di un nuovo flusso di lavoro. Si potrebbe descrivere come "finire il lavoro in corso con il flusso di lavoro attuale, ma tutto nuovo lavoro utilizzerà il nuovo flusso di lavoro".
  2. Applicare immediatamente il cambiamento. Questa è una buona opzione se è più importante che il flusso di lavoro currect (con questo, voglio dire il nuovo flusso di lavoro) da utilizzare per tutti i lavori (attuali e nuovi). Un esempio di questo potrebbe essere "Abbiamo rimosso un passaggio inutile dal flusso di lavoro."
  3. Applicare la modifica a partire da un momento Certin. Questa è una buona opzione in situazioni che possono descritto in questo modo: "Oggi stiamo usando il vecchio flusso di lavoro, ma domani iniziamo con il nuovo flusso di lavoro"

Altri suggerimenti

La tua prima opzione per applicare con la prossima flusso di lavoro (cioè ordine) è il più sicuro da un punto di vista della concorrenza. Questo è quello che farei perché non interferire con gli oggetti stateful ed è molto chiaro quindi ad un osservatore ciò che è avvenuto.

La seconda opzione richiede bloccaggio workflow esistenti per garantire nessuno sono nello stato validate order context. E, se ce ne sono, la scrittura di un algoritmo per risolvere spostarlo fuori da quello stato correttamente.

Infine, l'ultima opzione è in realtà solo la pianificazione di tutto il primi due. Come tale potrebbe essere incorporata in uno e dovrebbe essere guidato da regole di business (cioè requisiti).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top