какая стратегия работает, чтобы обновить длительный процесс в SOA - PullRequest
0 голосов
/ 10 августа 2011

В практике SOA какие стратегии работают лучше (или работают вообще) для обновления долго выполняющихся процессов (в частности, для Oracle BPEL)? Например, процесс может включать несколько шагов человека, которые по своей природе занимают много времени. Пакеты SOA поддерживают запуск новых экземпляров в новой версии процесса и продолжение выполнения запущенных процессов. Но что делать, если логику оркестрации необходимо обновить и применить к уже запущенным экземплярам? Предположим, мы не хотим, чтобы заказы на поставку проходили одобрение руководства, и хотели бы, чтобы это изменение было применено ко всем заказам, даже если они выполнялись.

1 Ответ

0 голосов
/ 11 августа 2011

Вы не можете изменить бизнес-процесс для чего-либо, что находится в полете. Изменения могут быть применены только к новым процессам. Это не техническое ограничение, это просто здравый смысл. Помимо всего этого, это может привести к путанице аудита или соблюдению нормативных требований.

Если вы так катастрофически неправильно разработали процесс - «мы забыли включить одобрение руководства для заказов!» "facepalm * - все, что вы можете сделать, это отключить сервер и очистить все неполные процессы. Но это был бы действительно радикальный шаг.

Таким образом, единственная стратегия, которая будет работать, это проверка и приемочные испытания.

...