Технологические двигатели для BPMN 2.0
Я провожу сравнение между всеми существующими процессорами BPMN 2.0, например Activiti, jBPM и т. Д. Я подготовил список из 4 процессоров, который выполняет BPMN 2.0, приведенный ниже;
Популярные BPMN 2.0 совместимые движки с открытым исходным кодом:
Activiti: http://www.activiti.org/
jBPM: http://www.jboss.org/jbpm
Bonita: http://www.bonitasoft.com/
Коммерческий двигатель:
ActiveVOS: http://www.activevos.com/products
Буду признателен за помощь, если вы улучшите мои исследования, добавив в приведенный выше список какие-либо Технологические двигатели (для BPMN 2.0) вместе с быстрым сравнением между всеми.
Я бы предпочел очень короткое сравнение со списком только важных функций (отличительные особенности, такие как то, что возможно для одного, а не для других, лицензирование, зависимости от других продуктов, таких как tomcat & JBoss и операционных систем и т. Д.)
PS: Я нашел много на Activiti против jBPM, но все же ваши ответы будут одолжением.
8 ответов
Я не могу предложить вам полноценное сравнение, но могу дать вам несколько советов, которые могут помочь вам в вашей оценке:
- Книга " Активити в действии" только что была опубликована (июль 2012 года), и в ней у вас будет раздел, посвященный другим движкам BPMN-процессов (Раздел 1.2.3 - Знание конкурентов).
- Для Activiti также существует с недавнего времени коммерчески поддерживаемая версия, называемая Camunda Fox Fox Platform. Они также обеспечивают сравнение с добавленной стоимостью, которую они предоставляют здесь.
Я тоже сделал такое исследование. Вот ключевые моменты, которые были актуальны для нашего конкретного варианта использования:
- 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 Sync в бесплатной версии для сообщества, что является отличным примером для производственной среды. Еще одна вещь, которую следует учитывать, это то, что Bonita лицензируется по лицензии GPL / LGPL, что может вызвать проблемы, если вы захотите интегрировать Bonita в другое корпоративное приложение. Кроме того, поддержка сообщества очень слаба. Есть несколько постов, которым более 2 лет, и на эти посты до сих пор нет ответа.
Еще одна важная вещь - Business-IT-Alignment. Моделирование процессов - это совместная дисциплина, в которую вовлечены ИТ и бизнес-аналитики. Вот почему вам нужны адекватные инструменты для обеих групп пользователей (например, Eclipse Plugin для разработчиков и простой в использовании веб-моделлер для деловых людей). Bonita предлагает только Bonita Studio, которая должна быть установлена на вашем компьютере. Эта IDE довольно техническая и не подходит для бизнес-пользователей. Поэтому очень сложно реализовать Business-IT-Alignment с Bonita.
Bonita - это инструмент BPM для очень простых и простых процессов. Из-за подхода нулевого кодирования кривая обучения очень низкая, и вы можете начать моделирование очень быстро. Вам нужно меньше навыков программирования, и вы можете реализовать свои процессы без необходимости кодирования. Но как только ваши процессы станут очень сложными, Bonita может оказаться не лучшим решением из-за отсутствия гибкости. Вы можете реализовать только те варианты использования, которые предназначены Bonita.
jBPM:
jBPM - это очень мощный движок с открытым исходным кодом BPM, который имеет множество функций. Разработчик веб-моделей даже поддерживает готовые модели некоторых шаблонов рабочих процессов Ван-дер-Аальста (workflowpatterns.com). Business-IT-Alignment реализуема, потому что jBPM предлагает интеграцию Eclipse, а также веб-моделлер. Немного хитроумно то, что вы можете определять формы только в Web Modeler, но не в Eclipse Plugin, насколько я знаю. Подводя итог, jBPM является хорошим кандидатом для использования в компании. Нашей демонстрацией было масштабируемость. jBPM основан на правилах-сругах двигателя. Это приводит к тому, что все экземпляры процесса сохраняются как 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-Attribute.
Activiti не придерживается подхода нулевого кодирования, что означает, что вам понадобится немного кодирования, если вы хотите организовать сервисы. Но даже связь со службами SOAP может быть достигнута с помощью Java Service Task и Apache CXF. Усилия по кодированию низкие.
Я надеюсь, что мои ключевые моменты помогут при принятии решения. Чтобы было ясно, это не реклама для Activiti. Правильный выбор продукта зависит от конкретных случаев использования. Я только хочу указать на самые важные моменты в нашем проекте.
С наилучшими пожеланиями Бен
Я разочарован в Activiti. Он должен называться Spring BPM, потому что без него он не работает. Если вы не возражаете против использования Spring, тогда Activiti может подойти лучше. Если вы используете JEE/CDI, то лучше подойдет JBPM.
Nommy, тебе стоит взглянуть на Roubroo - движок процессов, созданный для собственной поддержки BPMN 2.0. Он не имеет наследства старого механизма процессов, который был модифицирован для поддержки нового стандарта. Он поддерживает семантику выполнения BPMN 2.0, включая шлюз IOR, который, я думаю, является ключом к определению бизнес-процессов в сетевом графе. jBPM и Activiti основаны на базовом PVM, который имеет отличную поддержку для некоторых шаблонов рабочих процессов, но не для других. Взгляните на этот исследовательский документ: http://eprints.qut.edu.au/14320/1/14320.pdf и http://www.workflowpatterns.com/evaluations/opensource/
На мой взгляд, в настоящее время Camunda BPM Platform является лидером в области открытого кода. А вы упомянули Open Source? Так что попробуйте camunda, если вам нравится: - Чистый BPMN-ориентированный движок (Shared, Embedable или "remote") - Чистый и работающий REST API - Готовая платформа с базовыми инструментами администрирования и готовыми к разработке API-интерфейсами - Самое большое сообщество с открытым исходным кодом (мое личное мнение) - Лучший в породе подход в экосистеме Java. - Если тебе нравится Java. - Если вы хотите, чтобы ваши процессы были приняты вашей ИТ-аудиторией. http://www.camunda.com/fox/product/details/
Взгляните на Zeebe.io - современный облачный движок рабочих процессов с первоклассной поддержкой Node.js.
Относительно jBPM: jBPM - это механизм рабочих процессов с открытым исходным кодом, написанный на Java, который может выполнять бизнес-процессы, описанные в BPMN 2.0 (или свой собственный язык определения процессов jPDL в более ранних версиях). Он выпущен под ASL (или LGPL в более ранних версиях) компанией JBoss.
- Сильная и мощная интеграция с бизнес-правилами и обработкой событий.
- Совместная работа, мониторинг и управление процессами через репозиторий Guvnor и консоли управления.
- Взаимодействие с человеком с использованием независимой службы задач WS-HT.
По сути, в качестве входных данных jBPM принимает описания графических процессов. Процесс состоит из задач, которые связаны с потоками последовательности. Процессы представляют поток выполнения. Графическая диаграмма (блок-схема) процесса используется в качестве основы для общения между нетехническими пользователями и разработчиками.
jBPM5 не зависит от среды, он не зависит от JBoss, его можно запустить на любом сервере приложений, в контейнере сервлетов или в среде SE. JBPM5 лицензируется с помощью Apache Software License V2, что, на мой взгляд, является действительно хорошей идеей. Вы можете найти дополнительную информацию на официальной странице.
ура
Взгляните также на Imixs-Workflow, который ориентирован на человека. В отличие от обычных движков, рабочий процесс Imixs характеризуется сильной поддержкой ориентированных на пользователя.
Управление бизнес-процессами, ориентированное на человека, означает поддержку человеческих навыков, деятельности и сотрудничества целенаправленным образом. С помощью такого механизма Workflow вы можете защищать и безопасно распространять бизнес-данные в управляемой событиями архитектуре BPM на основе стандарта BPMN 2.0.
Движок Imixs-Workflow имеет открытый исходный код и может быть интегрирован в Jakarta EE oder, развернутый из коробки с микросервисом, работающим в контейнере Docker.