Я занимаюсь некоторыми исследованиями концепций рабочего процесса и, в частности, стандарта BPMN. И меня больше всего интересует доступное программное обеспечение по этому вопросу.BPM Engine vs BPM Engine Server
Я уже изучал программное обеспечение, такое как Activiti и jBPM, оба из которых реализованы на Java. Насколько они хороши, я ищу что-то еще. Хотя такое программное обеспечение называют себя BPM Engine
, я бы назвал их BPM Engine Servers
. Это автономные серверы (с веб-интерфейсом), что делает их очень сложными для их внедрения на других серверах.
Теперь мой вопрос: существует ли концепция BPM Engine
в том виде, в котором она выполняет только данный BPM с данными, только один шаг? Без какого-либо GUI или прямого взаимодействия с пользователем (что-то вроде библиотеки)? Что я должен искать? Что называется? Являются ли мои ожидания действительными?
[UPDATE]
Я провел последние часы, изучая инструкцию Activiti в. Я все еще не уверен, могу ли я использовать его так, как хочу! И я буду признателен, если кто-нибудь сможет это подтвердить.
Меня интересует консольное приложение, которое я могу запускать, когда захочу, дать ему ранее запущенный процесс (скорее всего, сериализован как строка). Двигатель должен построить процесс, основанный на данной истории.
Как только процесс будет восстановлен, я хотел бы переместить его на один шаг, сообщив ему, что произошло. Затем он должен сообщить мне о следующих задачах, которые необходимо выполнить и завершить.
Наконец-то я буду хранить обновленный процесс, получив его как строку (механизм должен сериализовать его таким образом, чтобы впоследствии его можно было неэтериализовать).
Я не хочу, чтобы у двигателя была собственная база данных или память. Я хочу, чтобы он полностью отключился, как только это будет сделано. Это то, что я подразумеваю под Engine
, без взаимодействия с пользователем, без доступа к хранилищу.
Может ли любой из двигателей BPM работать таким образом?
Если честно, я вообще не разработчик Java. И все, что мне удалось узнать о двух упомянутых программах, это то, что они представляют с первого взгляда. Было бы здорово, если бы вы могли привести меня в какой-то учебник или пример о том, как использовать любой из двух в качестве библиотеки, было бы здорово.Тем самым я не имею в виду, как ссылаться на свои файлы jar в проекте, а на то, как подавать их данные и как они будут сообщать мне об изменениях состояния или полученных сообщениях. Благодарю. – Mehran
Эй, Мехран, чтобы вставлять Activiti (или любой другой конечный автомат) в приложение, важно иметь хорошее понимание Java и как построить проект java. И JBPM, и Activiti - это проекты, которые призваны довести BPM Engines в домене разработчиков Java, а не заставлять разработчиков изучать новые инструменты. Тем не менее, модуль activiti-webapp-rest2 в дистрибутиве, вероятно, является лучшим и самым скудным примером приложения для использования в качестве отправной точки. –
Мехран, то же самое относится к Eclipse Process Manager «Stardust» http://www.eclipse.org/stardust/. Вы можете встроить движок, например. в приложении Spring, настройте базу данных в памяти и подайте ей модель процесса для создания желаемой конфигурации. – RobE