кстати, этот ответ стал более интересным. теперь есть Activiti - движок BPMN с открытым исходным кодом, лицензированный Apache (рабочий процесс, такой же, как jBPM), созданный людьми, создавшими jBPM, но с тех пор оставленными.
Таким образом, вы можете использовать Activiti для поддержки сценариев рабочих процессов, в которых вам нужно управлять состоянием, и вы можете позволить себе создавать потоки в системе рабочих процессов для управления этим состоянием. Итак, Activiti обеспечивает сильную оркестровку.
Spring Integration - это интегрированная среда - ее можно использовать для вывода состояния из событий, которые не обязательно связаны друг с другом. Обычно это делается путем передачи метаданных - таких как заголовки - чтобы обеспечить «иллюзию», что все шаги являются частью одного и того же процесса. Becauee Spring Integration может подключаться к множеству различных систем и работать с точки зрения их API, что также идеально подходит для интеграции различных систем. Spring Integration позволяет вам реагировать и навязывать потоки сообщений, хотя я бы не назвал эту оркестровку таким же образом, как Activiti.
Spring Integration и Activiti могут выполнять последовательности, совпадения, разделители / разветвления, агрегаторы / объединения и т. Д. Activiti может управлять людьми, Spring Integration может адаптировать любую систему. Таким образом, у каждого из них есть свои роли и, честно говоря, они довольно хорошо работают вместе. В изолированной программной среде есть адаптер Activiti для Spring Integration, который позволяет запускать процесс Activiti, который, в свою очередь, может делегироваться Spring Integration для обработки бизнес-логики на разных этапах. Перейдя в Spring Integration, вы можете сделать все, что захотите, используя Spring и Spring Integration, а затем отправить ответное сообщение обратно на шлюз Activiti, сообщая, что процесс activiti может быть возобновлен.
http://git.springsource.org/spring-integration/sandbox
Полное раскрытие: я являюсь коммиттером в проектах Activiti и Spring Integration, и я являюсь основным автором в момент поддержки SPring Integration Activiti.