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