Является ли jBPM тем, что мне нужно?

Привет всем участникам форума,

У меня есть вопрос к вам. У нас есть какой-то сложный проект, который должен иметь рабочий процесс, где пользователь может помещать эти функции в поток

  • пользовательский код java, который обрабатывает данные, например, но нам нужны эти данные позже в других процессах либо
  • необходимость разделения процессов, что под я имею в виду, что я хочу запускать некоторые процессы асинхронно рядом друг с другом
  • Также синхронизирующие точки
  • точки принятия решений: на основе какого-либо результата предыдущего процесса (просто выйдите из кода ИЛИ, возможно, я сделаю некоторый интерфейс, который мы будем реализовывать, чтобы иметь некоторые проверки сложных данных и т.д.), нам нужно иметь функциональность, чтобы решить, где продолжить
  • возможно, некоторые другие вещи, которые я сейчас забыл.

У нас будет сложный GUI для вещей, а также мы должны поместить конструктор рабочего процесса в наше приложение. Мои вопросы:

  • Будет ли jBPM поддерживать вещи, которые я нарисовал выше?
  • Если почти все вещи могут быть выполнены с помощью jBPM полностью, можем ли мы каким-то образом внедрить конструктор в наше приложение?
  • Если 1. или 2. на самом деле не так, есть ли способ программно настроить интерфейс jBPM и т.д.? Я действительно не нашел учебники, как использовать jBPM программно

Спасибо за ваши ответы!

Ответ 1

Я думаю, что jBPM5 идеально подходит для вашего случая использования. Если вы являетесь Java-разработчиком, jBPM5 позволит вам делать практически все по-программному. Если вы хотите моделировать и разрабатывать сложный сценарий, вы можете использовать мощь бизнес-процессов в jBPM5 и Drools для бизнес-логики вашей заявки, делая вещи более декларативными и понятными. Как Андрей упомянул, вы можете встраивать веб-дизайнера в свое приложение. Приветствия

Ответ 2

Посмотрите

  • Bonita Open Solution (http://www.bonitasoft.com/)
  • Activiti (http://www.activiti.org/)
  • JBoss Drools (http://www.jboss.org/drools) и jBPM (http://www.jboss.org/jbpm)
  • Process Maker (http://www.processmaker.com/)

Ответ 3

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

BPEL - это де-факто стандарт для моделирования исполняемых веб-сервисов. Это язык на основе XML, используемый для определения и выполнения бизнеса, а также для научных потоков работы с использованием веб-служб. Сервер бизнес-процессов WSO2 (WSO2 BPS) и движок Director Orchestration Director (ODE) - это два исполняемых сценария рабочего процесса, совместимых с WS-BPEL, которые поддерживают составление веб-сервисов путем организации взаимодействия служб.

Вы можете моделировать бизнес-процессы с асинхронными/синхронными внешними перерывами. Также спецификация WS-BPEL поддерживает ваши требования, о которых вы упомянули, а также предоставляет некоторые важные функции для бизнес-процессов реального мира, таких как обработка компенсации, обработка ошибок и т.д. Вы можете использовать WSO2 Carbon Studio BPEL editor в качестве редактора рабочих процессов, который обеспечивает функциональность для простого моделирования бизнес-процессов с WS-BPEL 2.0 и BPEL4WS 1.1.

С уважением,
Денис Верасири

Ответ 4

Быстро переходя jBPM documentation, ответы следующие:

  • Для пользовательского кода Java вы можете использовать Script Задача или создать, например. веб-службу и использовать Служебная задача для ее вызова.
  • Для процессов разделения вы можете использовать Расходящийся шлюз с типом AND.
  • Для соединения - Конвергентный шлюз с типом AND.
  • Точки принятия решений могут быть реализованы с использованием Divinging Gateway с типом OR и применением Ограничения к нему.
  • Что касается дизайнера, jBPM имеет веб-дизайнер, основанный на проекте с открытым исходным кодом. Вы можете получить этот исходный код и применить его к потребностям вашего приложения или попробовать использовать некоторую интеграцию iframe.