2010-02-10 78 views
0

我有一個關於jBPM的問題。在我們的一個項目中,我開發了一個企業服務(.Net),其他系統(jBPM,Delphi等)應該從中接收數據。爲此,我提供了一個SOAP接口。jBPM Web服務

現在有一種情況是,當jBPM系統聯繫服務時,必須在系統需要的數據可以返回之前完成一些手動工作。在這種情況下,SOAP服務返回一個「ManualWorkTicketId」。這個ID然後可以用來輪詢SOAP接口,比如說1分鐘的時間間隔。手動工作完成後,SOAP服務能夠將所需數據返回給jBPM系統。 由於企業服務不應該知道任何系統,只是提供了一個用於通信的SOAP接口,我認爲這是處理異步部分的一個很好的解決方案。

但jBPM開發人員告訴我,這不是一個好方法。相反,他建議將信息寫入ActiveMQ隊列中,我應該聽取。當手動工作完成後,我必須回寫jBPM系統爲我提供的另一個隊列,然後消息被jBPM進程使用。

  1. 問題:由於我不是一個jbpm開發者,我想知道是否沒有標準模式來處理jBPM中的web服務輪詢部分?
  2. 問題:在這種情況下,您會建議哪種方法記住企業服務應該鬆散耦合?
+0

你有沒有做出決定? – Bozho 2010-02-11 12:59:17

+0

感謝您的回答。你寄給我的文章非常有用。今天我們有一個會議,並決定使用經紀人作爲支持這兩種通信技術的中間件。 – Chris 2010-02-11 15:18:39

回答

0

如果你實現了一個JMS隊列,那麼我認爲Delphi開發者會抱怨。 SOAP是一個很好的解決方案。

Take a look at this,並把它交給jBPM開發者。 (順便說一句,你使用jbpm 3或4?)

如果完美的時間不重要,他可以每隔X分鐘輪詢SOAP服務並查看結果。