Процессоры для 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

Буду признателен за вашу помощь, если вы расширите мои исследования, добавив любые существующие Process Engine (для BPMN 2.0) в приведенный выше список вместе с быстрым сравнением всех.

Я бы предпочел очень короткое сравнение, в котором перечислены только важные функции (отличительные особенности, такие как то, что возможно для одного, а не для других, лицензирование, зависимости от других продуктов, таких как Tomcat и JBoss, а также операционных систем и т. Д.)

P.S: Я многое нашел об Activiti vs jBPM, но все же ваши ответы будут полезны.


person nommyravian    schedule 18.07.2012    source источник
comment
возможный дубликат Какой движок рабочего процесса выбрать?   -  person Aravind Yarram    schedule 18.07.2012
comment
Я проходил по этой ссылке раньше, но мне больше интересно узнать больше о существующих движках, например, я нашел ActiveVOS и Camunda fox (в ответе Рафаэля в текущем сеансе).   -  person nommyravian    schedule 18.07.2012


Ответы (9)


Я не могу предложить вам полноценное сравнение, но могу дать вам несколько советов, которые могут помочь вам в оценке:

  1. Только что была опубликована книга "Activiti в действии" (июль 2012 г.), и в ней у вас будет раздел, посвященный другим механизмам процессов BPMN (Раздел 1.2.3 - Знакомство с конкурентами).
  2. Для Activiti с недавнего времени также существует коммерчески поддерживаемая версия под названием camunda fox BPM Platform. Они также предоставляют сравнение с добавленной стоимостью, которую они предоставляют здесь.
person Rafael Cordones    schedule 18.07.2012
comment
Большое спасибо. Это было очень полезно. На самом деле я потратил целый день и обнаружил множество функций, но все же есть некоторые неясности в отношении возможностей интеграции серверов приложений. - person nommyravian; 18.07.2012

Я разочарован Activiti. Его следует называть Spring BPM, потому что без него он не работает. Если вы не против использования Spring, возможно, вам подойдет Activiti. Если вы используете JEE / CDI, то вам больше подойдет JBPM.

person Bob Thule    schedule 07.12.2013

Я тоже провел такое исследование. Вот ключевые моменты, которые имели отношение к нашему конкретному варианту использования:

  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 в другое корпоративное приложение. К тому же поддержка сообщества очень слабая. Есть несколько сообщений, которым больше двух лет, и на них до сих пор нет ответов.

Еще одна важная вещь - это бизнес-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
comment
Основываясь на вашем отличном ответе, я тоже начал оценивать Activity. Версия для сообщества работает хорошо, даже если я обнаружил несколько ошибок всего за 2 дня программирования. Но их графический интерфейс основан на Vaadin, который нам не подходит. И проводник не предназначен для использования в продакшене. Коммерческая версия основана на AngularJS и имеет хороший дизайнер графического интерфейса. Но это очень дорого 48 000 евро / год. Какой графический интерфейс вы используете? - person Oleg Pavliv; 28.07.2015
comment
Спасибо за ваш отзыв. В Activiti 6 Activiti Explorer будет заменен на Angular JS Frontend (даже в версии с открытым исходным кодом): activiti.org/slides2015paris/activiti6_ui.pdf. Для Activiti 5.17 мы используем настраиваемый список задач с XForms в качестве технологии отрисовки форм. Возможно, вы захотите изучить код Activiti 6 на github, чтобы получить представление о новых функциях: github.com/Activiti/Activiti/tree/activiti6 - person Ben; 28.07.2015

Номми, вам стоит взглянуть на 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/

person Vishal Saxena    schedule 24.07.2012

На мой взгляд, в настоящее время Camunda BPM Platform является лидером в области открытого исходного кода. А вы упомянули Open Source? Так что попробуйте camunda, если вам нравится: - Чистый движок, ориентированный на BPMN (общий, встраиваемый или «удаленный») - Чистый и рабочий REST API - Платформа из коробки с базовыми инструментами администрирования и готовыми к разработке API - Крупнейшее сообщество разработчиков ПО с открытым исходным кодом (мой личное мнение) - подход Best of Breed в экосистеме Java. - Если вам нравится Java. - Если вы хотите, чтобы ваши процессы были приняты вашей ИТ-аудиторией. http://www.camunda.com/fox/product/details/

person aholbreich    schedule 10.10.2013

jBPM5 не зависит от среды, он не зависит от JBoss, вы можете запускать его на любом сервере приложений, контейнере сервлетов или в среде SE. jBPM5 имеет лицензию Apache Software License V2, и я считаю, что это действительно хорошая идея. Конечно, вы можете найти больше информации на официальной странице.

Ваше здоровье

person salaboy    schedule 18.07.2012
comment
Привет, спасибо за ответ, но, насколько я знаю, Activiti также зависит не только от tomcat. Скорее всего, все 4 вышеупомянутых движка могут быть развернуты в JBoss, tomcat, IBM WebSphere, Oracle WebLogic и т. Д. - person nommyravian; 18.07.2012
comment
Я прочитал следующее на activiti.org/userguide/#demo.setup Обратите внимание, что демонстрационная установка Activiti - это способ максимально просто и быстро продемонстрировать возможности и функциональность Activiti. Однако это не означает, что это единственный способ использования Activiti. Поскольку Activiti - это «просто баночка», ее можно встроить в любую среду Java: с Swing или на Tomcat, JBoss, WebSphere и т. Д. Или вы вполне можете запустить Activiti как типичный автономный сервер BPM. Если это возможно на Java, это возможно с Activiti! - person nommyravian; 18.07.2012
comment
То же самое и с jBPM5, только баночки - person salaboy; 11.10.2012

Что касается jBPM: jBPM - это движок рабочего процесса с открытым исходным кодом, написанный на Java, который может выполнять бизнес-процессы, описанные в BPMN 2.0 (или на собственном языке определения процессов jPDL в более ранних версиях). Он выпущен под ASL (или LGPL в более ранних версиях) компанией JBoss. Он включает в себя:

  • Сильная и мощная интеграция с бизнес-правилами и обработкой событий.
  • Совместная работа, мониторинг и управление процессами через репозиторий Guvnor и консоли управления.
  • Взаимодействие с людьми с использованием независимой службы неавтоматизированных задач WS-HT.

По сути, jBPM принимает в качестве входных данных графические описания процессов. Процесс состоит из задач, связанных с потоками последовательностей. Процессы представляют собой поток выполнения. Графическая диаграмма (блок-схема) процесса используется в качестве основы для общения между нетехническими пользователями и разработчиками.

person Subhadra    schedule 03.06.2015

Также обратите внимание на Imixs-Workflow, который представляет собой механизм рабочего процесса, ориентированный на человека. В отличие от обычных движков, рабочий процесс Imixs характеризуется сильной поддержкой ориентированности на пользователя.

Управление бизнес-процессами, ориентированное на человека, означает поддержку человеческих навыков, действий и сотрудничества в соответствии с конкретными задачами. С помощью такого механизма рабочего процесса вы можете защищать и безопасно распространять бизнес-данные в рамках управляемой событиями архитектуры BPM, основанной на стандарте BPMN 2.0.

Механизм Imixs-Workflow имеет открытый исходный код и может быть интегрирован в Jakarta EE или развернут из коробки с помощью микросервиса работает в контейнере Docker

person Ralph    schedule 12.05.2018

Взгляните на Zeebe.io - современный облачный движок рабочих процессов с первоклассной поддержкой Node.js.

person Josh Wulf    schedule 06.11.2019