0

我有一个关于 jBPM 的问题。在我们的一个项目中,我开发了一个企业服务 (.Net),其他系统(jBPM、Delphi 等)应该从中接收数据。为此,我提供了一个 SOAP 接口。

现在有一种情况,当一个jBPM系统联系到服务时,需要做一些手工工作才能返回系统需要的数据。在这种情况下,SOAP 服务返回一个“ManualWorkTicketId”。然后可以使用这个 id 以 1 分钟的间隔轮询 SOAP 接口。一旦手动工作完成,SOAP 服务就能够将所需的数据返回给 jBPM 系统。由于企业服务不应该知道任何系统并且只提供一个用于通信的 SOAP 接口,我认为这是处理异步部分的一个很好的解决方案。

但是 jBPM 开发人员告诉我这不是一个好方法。相反,他建议将信息写入 ActiveMQ 队列,我应该听。完成手动工作后,我必须将 jBPM 系统提供给我的另一个队列写回,然后 jBPM 进程会在该队列中使用该消息。

  1. 问题:由于我不是 jbpm 开发人员,我想知道是否没有标准模式来处理 jBPM 中的 Web 服务轮询部分?
  2. 问题:在这种情况下,您会建议采用哪种方法,同时记住企业服务应该是松散耦合的?
4

1 回答 1

0

如果您实现了 JMS 队列,那么我认为 Delphi 开发人员会抱怨。SOAP 是一个很好的解决方案。

看看这个,然后把它交给 jBPM 开发人员。(顺便说一句,您使用的是 jbpm 3 还是 4?)

如果完美的时机并不重要,他可以每 X 分钟轮询一次 SOAP 服务并查看结果。

于 2010-02-10T06:23:20.557 回答