Вопрос

Например, система обрабатывает заказ клиента по check identification -> validate order context -> make order. Анкет Но системный администратор может изменить поток во время выполнения, администратор может пропустить «validate order context”.

Мой вопрос заключается в том, обрабатывает ли систему запросы на согласование заказа, когда Система должна применить изменение потока?

  • а): Примените изменение до следующего нового запроса заказа.

  • б): примените изменение немедленно, независимо от того, что какой -либо запрос обрабатывается. Это звучит слишком жестко.

  • C): Примените изменение до определенного времени, например, любое изменение будет применено в 00:00:00. Я не думаю, что это хорошая стратегия.

Какова лучшая практика для ситуации? Если я использую Framework JBMP для управления рабочим потоком, какую стратегию можно использовать в таком случае? Спасибо!

Это было полезно?

Решение

Все три ваших варианта действительны. Правильный выбор будет зависеть от проблемы, которую вы решаете. Вот некоторые примеры:

  1. Примените изменение, начиная со следующего нового заказа. Это хороший вариант, если вы хотите фаза в новом рабочем процессе. Вы можете описать это как «закончить текущую работу с текущим рабочим потоком, но вся новая работа будет использовать новый рабочий процесс».
  2. Примените изменение немедленно. Это хороший вариант, если более важно, чтобы рабочий процесс Currect (под этим я имею в виду новый рабочий процесс) использовался для всей работы (как текущей, так и новой). Одним из примеров этого может быть «мы удалили ненужный шаг из рабочего процесса».
  3. Примените изменение, начиная с сертификата. Это хороший вариант в ситуациях, которые могут описать так: «Сегодня мы используем старый рабочий процесс, но завтра мы начнем использовать новый рабочий процесс».

Другие советы

Ваш первый вариант применить со следующим рабочим процессом (IE ORDER) является самым безопасным с точки зрения параллелизма. Это то, что я сделаю Потому что вы не мешаете состоянию объектов, и это очень ясно, что наблюдателю, что произошло.

Второй вариант требует блокировки существующих рабочих процессов, чтобы убедиться, что никто не в validate order context государство. И, если таковые имеются, написание алгоритма для правильного устранения его выезда из этого состояния.

Наконец, ваш последний вариант - это просто планирование вокруг первых двух. Таким образом, это может быть включено в либо и должен быть обусловлен бизнес -правилами (т.е. требованиями).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top