Является ли 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.