jBPM 网络服务
我有一个关于 jBPM 的问题。在我们的一个项目中,我开发了一项企业服务(.Net),其他系统(jBPM、Delphi 等)应该从中接收数据。为此我提供了一个 SOAP 接口。
现在有一种情况,当jBPM系统联系服务时,必须完成一些手动工作才能返回系统所需的数据。在这种情况下,SOAP 服务返回“ManualWorkTicketId”。然后可以使用此 id 以 1 分钟的间隔轮询 SOAP 接口。一旦手动工作完成,SOAP 服务就能够将所需的数据返回到 jBPM 系统。 由于企业服务不应该了解任何系统而只需提供用于通信的 SOAP 接口,因此我认为这是处理异步部分的一个很好的解决方案。
但 jBPM 开发人员告诉我这不是一个好方法。相反,他建议将信息写入 ActiveMQ 队列中,我应该听取该信息。当手动工作完成后,我必须写回 jBPM 系统提供给我的另一个队列,其中的消息将由 jBPM 进程使用。
- 问题:由于我不是 jbpm 开发人员,我想知道 jBPM 中是否没有标准模式来处理 Web 服务轮询部分?
- 问题:在这种情况下,您会建议采用哪种方法,同时记住企业服务应该是松散耦合的?
I ve got a question regarding jBPM. In one of our projects I developed an enterprise service (.Net) that other systems (jBPM, Delphi, etc.) should receive data from. For this I am providing a SOAP interface.
Now there's a case that when the a jBPM system contacts the service, some manual work has to be done before the data the system needs can be returned. In this case, the SOAP service returns a "ManualWorkTicketId". This id can then be used to poll the SOAP interface in let's say 1 minute intervals. As soon as the manual work has been done , the SOAP service is able to return the required data to the jBPM system.
Since the enterprise service should not know about any systems and just provide a SOAP interface for communication, I see this as a good solution to handle the asnychronous part.
But the jBPM developer told me that this isn't a good approach. Instead he suggests to write the information in an ActiveMQ queue, that I should listen to. When then manual work is done, I have to write back to another queue the jBPM system provided me, where the message then is consumed by the jBPM process.
- question: Since I am not a jbpm developer, I was wondering if there isn't a standard pattern to handle the web service polling part within jBPM?
- question: Which approach would you suggest in such cases keeping in mind that the enterprise service should be loosely coupled?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您实现 JMS 队列,那么我认为 Delphi 开发人员会抱怨。 SOAP 是一个很好的解决方案。
看看这个,并将其交给 jBPM 开发人员。 (顺便说一句,您使用的是 jbpm 3 还是 4?)
如果完美的时机并不重要,他可以每 X 分钟轮询一次 SOAP 服务并查看结果。
If you implement a JMS queue, then I assume the Delphi developer will complain. SOAP is a good solution.
Take a look at this, and give it to the jBPM developer. (btw, are you using jbpm 3 or 4?)
If perfect timing isn't important, he can poll the SOAP service every X minutes and see the result.