Я тоже провел такое исследование. Вот ключевые моменты, которые имели отношение к нашему конкретному варианту использования:
- Бонита:
Bonita придерживается подхода с нулевым кодированием, что означает, что они предоставляют простую в использовании среду IDE для построения ваших процессов без необходимости кодирования. Для этого у Bonita есть концепция соединителей. Например, если вы хотите использовать веб-службу, они предоставят вам графический мастер. Обратной стороной является то, что вам придется вручную написать простой XML-конверт SOAP и скопировать его в графическое текстовое поле. Проблема с этим подходом заключается в том, что вы можете реализовать только те варианты использования, которые предназначены 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 Sync в бесплатной версии сообщества, что является серьезным препятствием для производственной среды. Также следует учитывать, что Bonita находится под лицензией GPL / LGPL, что может вызвать проблемы, если вы захотите интегрировать Bonita в другое корпоративное приложение. К тому же поддержка сообщества очень слабая. Есть несколько сообщений, которым больше двух лет, и на них до сих пор нет ответов.
Еще одна важная вещь - это бизнес-IT-согласование. Процессы моделирования - это совместная дисциплина, в которую вовлечены ИТ И бизнес-аналитики. Вот почему вам нужны адекватные инструменты для обеих групп пользователей (например, плагин Eclipse для разработчиков и простой в использовании веб-моделлер для деловых людей). Bonita предлагает только Bonita Studio, которую необходимо установить на вашем компьютере. Эта IDE довольно техническая и не подходит для бизнес-пользователей. Поэтому очень сложно реализовать бизнес-IT-согласование с Bonita.
Bonita - это инструмент BPM для очень простых и простых процессов. Из-за подхода с нулевым кодированием кривая обучения очень низкая, и вы можете очень быстро начать моделирование. Вам потребуется меньше навыков программирования, и вы сможете реализовать свои процессы без необходимости кодирования. Но как только ваши процессы станут очень сложными, Bonita может оказаться не лучшим решением из-за отсутствия гибкости. Вы можете реализовать только те варианты использования, которые предназначены Bonita.
jBPM:
jBPM - очень мощный движок BPM с открытым исходным кодом, который имеет множество функций. Средство веб-моделирования даже поддерживает готовые модели некоторых шаблонов рабочего процесса Ван дер Аалста (workflowpatterns.com). Business-IT-Alignment реализуем, потому что jBPM предлагает интеграцию с Eclipse, а также веб-модельер. Немного сложнее то, что, насколько мне известно, вы можете определять формы только в веб-моделере, но не в подключаемом модуле Eclipse. Подводя итог, jBPM - хороший кандидат для использования в компании. Нашим конкурентом была масштабируемость. jBPM основан на Drools механизма правил. Это приводит к тому, что экземпляры всего процесса сохраняются в базе данных как BLOB-объекты. Это критический момент, когда вы рассматриваете поиск и масштабируемость.
К тому же кривая обучения очень высока из-за сложности. jBPM не предлагает служебных задач, как предлагает BPMN-Standard. Напротив, вы должны определить свои собственные служебные задачи Java и зарегистрировать их вручную в движке, что приводит к программированию на довольно низком уровне.
Активити:
В конце концов, мы выбрали Activiti, потому что это очень простой в использовании движок на основе фреймворка. Он предлагает подключаемый модуль Eclipse, а также современный веб-моделлер AngularJS. Таким образом, вы можете реализовать согласование между бизнесом и ИТ. REST-API защищен Spring Security, что означает, что вы можете очень легко расширить Engine с помощью функций единого входа. Из-за лицензии Apache License 2.0 авторское лево отсутствует, что означает, что вы полностью свободны с точки зрения использования и расширяемости, что очень важно в производственной среде.
К тому же BPMN-покрытие очень хорошее. Не все элементы BPMN реализованы, но я не знаю ни одного движка, который бы это делал.
Activiti Explorer - это демонстрационный интерфейс, демонстрирующий использование API Activiti. Поскольку этот интерфейс основан на VAADIN, его можно очень легко расширить. Сообщество очень активное, а это значит, что вы можете очень быстро получить помощь, если у вас возникнут какие-либо проблемы.
Activiti предлагает хорошие точки интеграции для внешних форм-технологий, что очень важно для продуктивного использования. Форм-технологии всех кандидатов очень ограничены. Следовательно, имеет смысл использовать стандартную технологию форм, такую как XForms, в сочетании с Engine. Даже такие более сложные вещи можно реализовать с помощью атрибута formKey-Attribute.
Activiti не придерживается подхода с нулевым кодированием, что означает, что вам потребуется немного кода, если вы хотите организовать службы. Но даже связь со службами SOAP может быть достигнута с помощью Java Service Task и Apache CXF. Усилия по кодированию невелики.
Я надеюсь, что мои ключевые моменты помогут в принятии решения. Чтобы было ясно, это не реклама Activiti. Правильный выбор продукта зависит от конкретных вариантов использования. Хочу только отметить самые важные моменты в нашем проекте.
С уважением, Бен
person
Ben
schedule
15.06.2015