У меня вопрос по поводу jBPM. В одном из наших проектов я разработал корпоративную службу (.Net), от которой другие системы (jBPM, Delphi и т. Д.) Должны получать данные. Для этого я предоставляю интерфейс SOAP.
Теперь есть случай, когда система jBPM связывается со службой, необходимо выполнить некоторую ручную работу, прежде чем данные, необходимые системе, могут быть возвращены. В этом случае служба SOAP возвращает «ManualWorkTicketId». Затем этот идентификатор можно использовать для опроса интерфейса SOAP, скажем, с интервалом в 1 минуту. Как только ручная работа завершена, сервис SOAP может вернуть необходимые данные в систему jBPM.
Поскольку корпоративная служба не должна знать о каких-либо системах и просто предоставляет интерфейс SOAP для связи, я считаю это хорошим решением для обработки асинхронной части.
Но разработчик jBPM сказал мне, что это не очень хороший подход. Вместо этого он предлагает записать информацию в очередь ActiveMQ, которую я должен слушать. Когда ручная работа завершена, я должен записать обратно в другую очередь, предоставленную мне системой jBPM, где сообщение затем используется процессом jBPM.
- вопрос: Поскольку я не являюсь разработчиком jbpm, мне было интересно, не существует ли стандартного шаблона для обработки части опроса веб-службы в jBPM?
- вопрос: Какой подход вы бы предложили в таких случаях, имея в виду, что служба предприятия должна быть слабо связана?