Я тоже провел такое исследование.Вот ключевые моменты, которые были актуальны для нашего конкретного варианта использования:
1.Bonita:
Bonita использует подход нулевого кодирования, что означает, что они предоставляют простую в использовании среду разработки для построения ваших процессов без необходимости кодирования.Для этого Bonita имеет концепцию разъемов .Например, если вы хотите использовать веб-сервис, он предоставит вам графический wizzard.Недостатком является то, что вы должны написать простой SOAP-конверт XML вручную и скопировать его в графическое текстовое поле.Проблема этого подхода заключается в том, что вы можете реализовать только те варианты использования, которые предназначены для Bonita.Если вы хотите интегрировать систему, для которой Bonita не разработала разъем, вы должны самостоятельно написать такой разъем, что очень болезненно.Например, Bonita предлагает соединитель SOAP для использования веб-служб SOAP.Этот соединитель работает только с SOAP 1.2, но не для SOAP 1.1 (http://community.bonitasoft.com/answers/consume-soap-11-webservices-bonita-secure-web-service-connector).. Если у вас есть устаревшее приложение с SOAP 1.1, вы не сможете легко интегрировать эту систему в свой процесс. То же самое относится и к базам данных.несколько коннекторов базы данных для выделенных версий баз данных. Если у вас есть версия, не соответствующая коннектору, вы должны написать это самостоятельно.
Кроме того, Bonita не поддерживает синхронизацию LDAP или Active Directory вбесплатная версия для сообщества, которая является отличным примером для производственной среды. Еще одна вещь, которую следует учитывать, это то, что Bonita лицензируется под лицензией GPL / LGPL, что может вызвать проблемы, если вы хотите интегрировать Bonita в другое корпоративное приложение. Кроме того, поддержка сообществаочень слабый. Есть несколько постов, которым более 2 лет, и на эти посты до сих пор нет ответа.
Еще одна важная вещь - Business-IT-Alignment . Моделирование процессов - дисциплина сотрудничествав котором яT И бизнес-аналитики привлекаются.Вот почему вам нужны адекватные инструменты для обеих групп пользователей (например, Eclipse Plugin для разработчиков и простой в использовании веб-моделлер для деловых людей).Bonita предлагает только Bonita Studio , которая должна быть установлена на вашем компьютере.Эта IDE довольно техническая и не подходит для бизнес-пользователей.Поэтому очень сложно реализовать Business-IT-Alignment с Bonita.
Bonita - это инструмент BPM для очень простых и простых процессов.Из-за подхода нулевого кодирования кривая обучения очень низкая, и вы можете начать моделирование очень быстро.Вам нужно меньше навыков программирования, и вы можете реализовать свои процессы без необходимости кодирования.Но как только ваши процессы станут очень сложными, Bonita может оказаться не лучшим решением из-за отсутствия гибкости.Вы можете реализовать только те варианты использования, которые предназначены Bonita.
jBPM:
jBPM - очень мощный движок с открытым исходным кодом BPM, обладающий множеством функций.Разработчик веб-моделей даже поддерживает готовые модели некоторых шаблонов рабочего процесса ван дер Аалста (workflowpatterns.com).Business-IT-Alignment реализуема, потому что jBPM предлагает интеграцию Eclipse, а также веб-моделлер.Немного хитроумно, что вы можете определять формы только в веб-моделере, но не в Eclipse Plugin, насколько я знаю.Подводя итог, jBPM является хорошим кандидатом для использования в компании.Нашей демонстрацией было масштабируемость.jBPM основан на движке правил Drools .Это приводит к тому, что все экземпляры процесса сохраняются как BLOBS в базе данных.Это критический шаг, когда вы рассматриваете поиск и масштабируемость.
Кроме того, кривая обучения очень высока из-за сложности.jBPM не предлагает задачу обслуживания, как предлагает стандарт BPMN. Напротив, вам нужно определить свои собственные задачи службы Java и зарегистрировать их вручную в движке, что приводит к программированию довольно низкого уровня.
Activiti:
В итоге мы пошли с Activiti, потому что это очень простой в использовании движок на основе фреймворка. Он предлагает Eclipse Plugin, а также современный AngularJS Web-Modeler. Таким образом, вы можете реализовать Business-IT-Alignment. REST-API защищен Spring Security, что означает, что вы можете очень легко расширить Engine с помощью функций единого входа. Из-за Apache License 2.0 нет авторского лева, что означает, что вы полностью свободны в плане использования и расширяемости, что очень важно в продуктивной среде.
Кроме того, BPMN-покрытие очень хорошее. Не все BPMN-элементы реализованы, но я не знаю ни одного движка, который это делает.
Activiti Explorer - это демонстрационный интерфейс, демонстрирующий использование API-интерфейсов Activiti. Поскольку этот интерфейс основан на VAADIN, его можно очень легко расширить. Сообщество очень активно, что означает, что вы можете получить помощь очень быстро, если у вас есть какие-либо проблемы.
Activiti предлагает хорошие точки интеграции для внешних технологий форм, что очень важно для продуктивного использования. Технологии форм всех кандидатов очень ограничены. Поэтому имеет смысл использовать стандартную технологию форм, такую как XForms, в сочетании с Engine. Даже такие более сложные вещи реализуются с помощью атрибута formKey.
Activiti не следует подходу с нулевым кодированием, что означает, что вам потребуется немного кодирования, если вы хотите организовать сервисы. Но даже связь со службами SOAP может быть достигнута с помощью Java Service Task и Apache CXF. Усилия по кодированию низкие.
Я надеюсь, что мои ключевые моменты помогут при принятии решения. Чтобы было ясно, это не реклама для Activiti. Правильный выбор продукта зависит от конкретных случаев использования. Я только хочу указать на самые важные моменты в нашем проекте.
С наилучшими пожеланиями
Ben