我有一个关于 jBPM 的问题。在我们的一个项目中,我开发了一个企业服务 (.Net),其他系统(jBPM、Delphi 等)应该从中接收数据。为此,我提供了一个 SOAP 接口。
现在有一种情况,当一个jBPM系统联系到服务时,需要做一些手工工作才能返回系统需要的数据。在这种情况下,SOAP 服务返回一个“ManualWorkTicketId”。然后可以使用这个 id 以 1 分钟的间隔轮询 SOAP 接口。一旦手动工作完成,SOAP 服务就能够将所需的数据返回给 jBPM 系统。由于企业服务不应该知道任何系统并且只提供一个用于通信的 SOAP 接口,我认为这是处理异步部分的一个很好的解决方案。
但是 jBPM 开发人员告诉我这不是一个好方法。相反,他建议将信息写入 ActiveMQ 队列,我应该听。完成手动工作后,我必须将 jBPM 系统提供给我的另一个队列写回,然后 jBPM 进程会在该队列中使用该消息。
- 问题:由于我不是 jbpm 开发人员,我想知道是否没有标准模式来处理 jBPM 中的 Web 服务轮询部分?
- 问题:在这种情况下,您会建议采用哪种方法,同时记住企业服务应该是松散耦合的?