Я исследую различные архитектуры рабочих процессов, и это ошеломляет. Система рабочего процесса, которую я создаю, будет почти полностью управляемой человеком. Очень мало, если таковая вообще будет, асинхронная активность будет иметь место.
Одна из возможностей - это просто использовать СУБД и иметь таблицу задач, из которой будут использоваться хранимые процедуры для обеспечения синхронного доступа к каждой задаче. Это кажется очень простым, но мне трудно найти причины, по которым мне может потребоваться более тяжелое решение.
Если в моей системе ~ 500 одновременно работающих пользователей и автоматизированных или асинхронных задач очень мало, я должен даже рассмотреть различные шаблоны / пакеты рабочих процессов, такие как Mule, BPEL / SOA, Spring Work Flow и т. Д.