Существуют ли механизмы рабочих процессов, не использующие BPMN и BPEL?

Наш бизнес планирует создать довольно большое бизнес-приложение с примерно 2000 пользователями.

Для многих объектов в системе требуется несложная серия согласований, уведомлений и т. д.

По разным причинам наша компания решила отказаться от формального использования BPMN или BPEL. Я ищу механизм рабочего процесса, которому я могу передать эти объекты в качестве средства облегчения, отслеживания и управления состоянием этих объектов. Мы реализуем этот проект, используя EJB 3.1 с WebSphere AS.

Правильно ли я понимаю механизм рабочего процесса? Все кажется привязанным к BPMN или BPEL... я просто что-то упускаю из виду, почему большинство решений, похоже, реализуют BPMN или BPEL? Некоторые советы были бы замечательными!


person Brett McLain    schedule 27.01.2012    source источник


Ответы (3)


Механизмы рабочих процессов обычно играют активную роль в архитектуре предприятия. Они реализуют декларативную модель процесса, которая представляет собой ориентированный граф, состоящий из узлов, представляющих действия или задачи, и ребер, представляющих поток управления между этими ребрами. Такие ребра могут быть аннотированы условиями, позволяющими выразить условное ветвление/слияние. Существует несколько языков моделирования, таких как YAWL, XPDL, jPDL, BPEL и BPMN 2.0, которые основаны на этих абстрактных концепциях и некотором синтаксическом, визуальном и функциональном сахаре, но только последние являются официальными отраслевыми стандартами. Это важно, чтобы избежать привязки к поставщику, сделать модели взаимозаменяемыми (хотя бы до определенной степени), поддерживаемыми экспертами и разными инструментами. Во время выполнения экземпляры процесса создаются на основе модели процесса и выполняются в соответствии с потоком управления, определенным моделью. Таким образом, движок активно переходит от одного действия к другому и, таким образом, «организует» вашу бизнес-логику. Основное различие между BPMN 2.0 и BPEL заключается в том, что BPEL тесно связан с веб-сервисами, т. е. бизнес-функции, которые должны вызываться действиями, должны отображаться как веб-сервисы. Поэтому, если вы хотите оркестровать сервисы WS-*, это по-прежнему лучший выбор, поскольку в BPMN 2.0 отсутствуют четко определенные и стандартизированные привязки к конкретным реализациям сервисов. В любом случае, я бы настоятельно рекомендовал использовать один из стандартизированных языков, так как они широко распространены в отрасли и хорошо поддерживаются различными поставщиками и сообществами открытого исходного кода.

Я попытался объяснить это более подробно, потому что я не был полностью уверен в том, что вы подразумеваете под «облегчением, отслеживанием и управлением состоянием этих объектов». Это звучит немного так, как будто вас больше интересует пассивный мониторинг изменения состояния объекта, а не активный контроль изменений состояния с помощью механизма рабочего процесса. Если это предположение верно, то, возможно, вам больше подойдет абстрактный конечный автомат.

person vanto    schedule 28.01.2012
comment
Спасибо Ванто! Это именно то, что мне нужно было услышать. Наверняка это звучит так, будто нам нужно развернуть собственный конечный автомат и, возможно, связать его с механизмом правил, но я слышал, что вы никогда не должны использовать механизм правил для вещей, связанных с рабочим процессом, поэтому, возможно, я буду избегать этой комбинации. - person Brett McLain; 30.01.2012
comment
Рад, что смог помочь. Что касается комбинации механизма правил и механизма рабочего процесса: это зависит от обстоятельств. Я обычно рекомендую их комбинировать, когда процессу необходимо принять множество решений, а правила принятия решений достаточно сложны и не должны быть жестко закодированы в модели процесса. Таким образом, эмпирическое правило может быть таким: используйте механизм рабочего процесса для вещей, связанных с потоком управления, и механизм правил для потока данных/решений, основанных на данных. Однако не используйте правила для искусственного моделирования явного потока управления. Если поток управления является неявным, и именно данные вызывают изменение состояния, механизм правил — ваш друг. - person vanto; 31.01.2012
comment
Спецификация стандарта BPMN относительно подробна, когда речь идет об определении синтаксических ограничений на модели BPMN, но бессистемна и иногда непоследовательна, когда речь идет об определении их семантики. Отсутствие формальной семантики BPMN препятствует развитию инструментальной поддержки проверки правильности моделей BPMN с семантической точки зрения. источник - person Lorinc Nyitrai; 11.07.2014

Взгляните на jBPM5, он предоставляет очень гибкое ядро, которое позволяет вам создавать на его основе свой собственный предметно-ориентированный язык. Сейчас предоставляется язык BPMN2, но вы можете легко добавить свой собственный. Ваше здоровье

person salaboy    schedule 28.01.2012

Мы создаем продукт, который имеет путь миграции для BPMN 2.0, но не использует BPMN внутри. Мы считаем, что контрольные списки гораздо проще использовать в рабочих процессах в реальном времени, чем блок-схемы. Тем не менее, он по-прежнему имеет правила/триггеры/условия и многое другое — так что это инструмент, который эффективно моделирует процессы как «контрольные списки на стероидах»:

Ознакомьтесь с ним на http://tallyfy.com.

person Amit Kothari    schedule 13.08.2014