2015-04-29 4 views
0

Я занимаюсь некоторыми исследованиями концепций рабочего процесса и, в частности, стандарта BPMN. И меня больше всего интересует доступное программное обеспечение по этому вопросу.BPM Engine vs BPM Engine Server

Я уже изучал программное обеспечение, такое как Activiti и jBPM, оба из которых реализованы на Java. Насколько они хороши, я ищу что-то еще. Хотя такое программное обеспечение называют себя BPM Engine, я бы назвал их BPM Engine Servers. Это автономные серверы (с веб-интерфейсом), что делает их очень сложными для их внедрения на других серверах.

Теперь мой вопрос: существует ли концепция BPM Engine в том виде, в котором она выполняет только данный BPM с данными, только один шаг? Без какого-либо GUI или прямого взаимодействия с пользователем (что-то вроде библиотеки)? Что я должен искать? Что называется? Являются ли мои ожидания действительными?

[UPDATE]

Я провел последние часы, изучая инструкцию Activiti в. Я все еще не уверен, могу ли я использовать его так, как хочу! И я буду признателен, если кто-нибудь сможет это подтвердить.

Меня интересует консольное приложение, которое я могу запускать, когда захочу, дать ему ранее запущенный процесс (скорее всего, сериализован как строка). Двигатель должен построить процесс, основанный на данной истории.

Как только процесс будет восстановлен, я хотел бы переместить его на один шаг, сообщив ему, что произошло. Затем он должен сообщить мне о следующих задачах, которые необходимо выполнить и завершить.

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

Я не хочу, чтобы у двигателя была собственная база данных или память. Я хочу, чтобы он полностью отключился, как только это будет сделано. Это то, что я подразумеваю под Engine, без взаимодействия с пользователем, без доступа к хранилищу.

Может ли любой из двигателей BPM работать таким образом?

ответ

1

Возможно, мне не хватает вашей точки, но Activiti - это не что иное, как файл jar, который может быть встроен в любое другое приложение Java. Разумеется, для запуска Activiti каким-либо значимым образом вам потребуется резервное хранилище данных (база данных) и одно или несколько определений процесса, но, как вы можете видеть из модульных тестов, которые являются частью Activiti, база данных может быть в памяти и определении процесса могут быть включены в войну. Существует много примеров Activiti (и, вероятно, jBPM), используемых как просто встроенный конечный автомат без открытого пользовательского интерфейса или взаимодействия с пользователем. Моя компания реализовала ряд таких решений для разных организаций. Если я пропустил вашу точку зрения, не стесняйтесь привести мне пример вашего требования, я уверен, что мы обращались к нему в тот или иной момент.

+0

Если честно, я вообще не разработчик Java. И все, что мне удалось узнать о двух упомянутых программах, это то, что они представляют с первого взгляда. Было бы здорово, если бы вы могли привести меня в какой-то учебник или пример о том, как использовать любой из двух в качестве библиотеки, было бы здорово.Тем самым я не имею в виду, как ссылаться на свои файлы jar в проекте, а на то, как подавать их данные и как они будут сообщать мне об изменениях состояния или полученных сообщениях. Благодарю. – Mehran

+0

Эй, Мехран, чтобы вставлять Activiti (или любой другой конечный автомат) в приложение, важно иметь хорошее понимание Java и как построить проект java. И JBPM, и Activiti - это проекты, которые призваны довести BPM Engines в домене разработчиков Java, а не заставлять разработчиков изучать новые инструменты. Тем не менее, модуль activiti-webapp-rest2 в дистрибутиве, вероятно, является лучшим и самым скудным примером приложения для использования в качестве отправной точки. –

+0

Мехран, то же самое относится к Eclipse Process Manager «Stardust» http://www.eclipse.org/stardust/. Вы можете встроить движок, например. в приложении Spring, настройте базу данных в памяти и подайте ей модель процесса для создания желаемой конфигурации. – RobE

0

Возможно, вас заинтересует Bonita BPM. Это решение с открытым исходным кодом BPM предлагает механизм выполнения, который может использоваться как автономный. Как и его конкуренты, он также предлагает дополнительный графический интерфейс в виде веб-приложения: Bonita Portal.

Смежные вопросы