Я тоже проводил такое исследование. Вот ключевые моменты, которые имели отношение к нашему конкретному варианту использования:
1. Бонита:
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 в другое корпоративное приложение. Кроме того, поддержка сообщества очень слаба. Есть несколько сообщений, которым более 2 лет, и на эти сообщения до сих пор нет ответа.
Еще одна важная вещь — Согласование бизнеса и ИТ. Моделирование процессов — это совместная дисциплина, в которой участвуют ИТ-специалисты И бизнес-аналитики. Вот почему вам нужны адекватные инструменты для обеих групп пользователей (например, плагин Eclipse для разработчиков и простой в использовании веб-моделлер для деловых людей). Bonita предлагает только Bonita Studio, которую необходимо установить на вашем компьютере. Эта IDE довольно техническая и не подходит для бизнес-пользователей. Поэтому с Бонитой очень сложно реализовать Business-IT-Alignment.
Bonita — это инструмент BPM для очень тривиальных и простых процессов. Из-за подхода с нулевым кодированием кривая обучения очень низкая, и вы можете начать моделирование очень быстро. Вам нужно меньше навыков программирования, и вы можете реализовать свои процессы без необходимости кодирования. Но как только ваши процессы станут очень сложными, Bonita может оказаться не лучшим решением из-за отсутствия гибкости. Вы можете реализовать только те варианты использования, которые предназначены Bonita.
JBPM:
jBPM — очень мощный BPM-движок с открытым исходным кодом, который имеет множество функций. Средство веб-моделирования даже поддерживает готовые модели некоторых шаблонов рабочего процесса Ван дер Алста (workflowpatterns.com). Business-IT-Alignment реализуем, потому что jBPM предлагает интеграцию с Eclipse, а также веб-моделирование. Немного сложно то, что вы можете определять формы только в веб-моделере, но не в плагине Eclipse, насколько я знаю. Подводя итог, можно сказать, что jBPM — хороший кандидат для использования в компании. Нашим преимуществом была масштабируемость. jBPM основан на Drools Rules-Engine. Это приводит к тому, что целые экземпляры процессов сохраняются в базе данных как BLOBS. Это важный показатель, когда вы рассматриваете поиск и масштабируемость.
Кроме того, кривая обучения очень высока из-за сложности. jBPM не предлагает Service Task, как предлагает BPMN-Standard. Напротив, вам нужно определить свои собственные задачи Java Service и зарегистрировать их вручную в движке, что приводит к программированию на довольно низком уровне.
Деятельность:
В конце концов, мы выбрали Activiti, потому что это очень простой в использовании движок на основе фреймворка. Он предлагает плагин Eclipse, а также современный веб-моделировщик AngularJS. Таким образом, вы можете реализовать Business-IT-Alignment. REST-API защищен Spring Security, что означает, что вы можете очень легко расширить движок с помощью функций единого входа. Из-за 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
10.06.2015