2015-12-29 73 views
0

我正在嘗試編寫一個BPEL流程來監控文件到達的本地目錄,並對該文件執行某些操作。我使用Jboss EAP 6.4作爲我的服務器,Switchyard作爲我的BPEL運行時和Jboss Developer Studio作爲我的IDE。一般來說,我對BPEL和Web服務非常陌生。我花了最近幾周試圖瞭解我需要做什麼,但無濟於事。我最初的想法是創建一個java web服務來監視目錄,然後讓它調用一個BPEL流程來對文件執行某些操作。我想知道是否我甚至需要一個服務來做到這一點,或者如果您可以在BPEL本身內部完成。我將使用BPEL來調用將使用該文件的服務。任何幫助將非常感激。BPEL流程監控目錄

回答

0

BPEL具有觸發給定處理的事件的概念。有定時器,鬧鐘和傳入消息。傳入的消息在通常的編程語言中就像一個switch語句。

因此,您不能直接在BPEL流程中監聽文件系統。你需要做的是創建一個監聽器(用你想要的任何語言),並在出現一個新文件時調用你的BPEL流程。 BPEL只是關於鏈接對Web服務的調用。或者,如果您願意,BPEL只是一種實現Web服務的方式,可以在其他Web服務之間建立連接。 BPEL流程背後的邏輯僅僅是創建,轉換郵件並將郵件路由到正確的「收件人」。除了將文件(名稱,參考,內容...)傳遞給其他Web服務,您的BPEL流程將無法做更多工作。如果文件內容是XML文件,您可以對其內容執行一些操作(感謝XPath),但我不知道它是否是您的用例。

看着Switchyard,我看到他們使用Apache Camel。 所以,我想你必須能夠配置駱駝組件來實現你想要的。他們提供的編輯器看起來像Eclipse.org上的SCA編輯器。我不知道這個解決方案,但我會嘗試在這個編輯器中創建一個組件,使用「文件」綁定來引用(調用入口點)並查看我們可以對此進行調用。我懷疑Switchyard能夠「生成」偵聽器和新文件出現時調用的進程。但在這種情況下,我們不再真正在做BPEL。它超越了。

+0

謝謝!這清除了很多東西。 –