引言
IBM® WebSphere® Process Server 是使用 IBM WebSphere Integration Developer 開發的業務集成解決方案的運行時平臺。公司 IT 基礎設施的現有很多業務功能均基于 Java™ 2 Enterprise Edition (J2EE) 的 無狀態 Enterprise Java Bean (EJB) 編寫的。設計和實現新業務流程集成應用程序時,能夠方便地利用和集成這些功能非常重要。
概略關系圖
本文中使用的方案相當簡單。它由一個服務組件體系結構(Service Component Architecture,SCA)模塊構成,該模塊包含一個 Java 組件,而該 Java 組件將使用導入的 EJB 服務。
必備軟件
需要安裝以下軟件:
本文假定您具有一定的 J2EE 知識,以前曾使用過 WebSphere Studio Application Developer 或 Rational Application Developer。要了解有關這些產品的更多信息,請訪問 developerWorks。
配置
在這一部分,我們將開發一個示例 EJB 應用程序和一個使用該 EJB 服務的 SCA 模塊。
可以首先創建企業應用程序、包和 EJB 會話。
創建名為 Echo
的企業應用程序,該應用程序包含一個 EJB 模塊 EchoEJB
。
創建名為 com.ibm.issw.poc.invokeejb
的包。
創建無狀態 EJB 會話,將其命名為 Bean Echo。
創建一個簡單的方法,將其命名為 echoSimple
,并將其提升為遠程接口:
|
打開 ejb 部署描述符,并留意一下 EJB 的缺省 JNDI 名稱:
|
創建將稍后在 SCA 模塊中使用的 EJB 客戶端項目和 jar。
單擊右鍵,并選擇 EchoEJB => EJB Client Jar => Create EJB Client Project,然后在 name 字段中輸入 EchoEJBClient
。
運行并測試 EJB 應用程序(請參見圖 5)。
現在已經創建了 EJB,接下來將對其進行集成。
創建 EJB 組件
要將 EJB 集成到 WebSphere Process Server SCA 組件中,請執行以下步驟:
創建名為 InvokeEcho
的模塊。
從 Dependencies editor 選擇 EchoEJBClient 作為依賴 Java 項目,并單擊 Add,以將 EchoEJBCLient 作為依賴 Java 項目添加。
此時務必添加模塊依賴關系。稍后添加接口時,向導才能夠找到遠程 EJB 接口。
從 Assembly editor 中打開模塊 InvokeEcho
,在畫布上添加一個 Import
組件。將名稱更改為 EchoEJB
。
為導入添加接口:
單擊 Add Interface 圖標。
在隨即出現的窗口中選擇 Show Java。
在 Filter by interface 字段輸入 echo
。
從 Matching interfaces 中選擇 Echo。此接口來自項目 /EchoEJBClient/ejbModule(請參閱圖 8)。
單擊 Ok 并保存模塊關系圖。
生成會話 EJB 綁定。
右鍵單擊 EchoEJB 導入,并選擇 Generate Binding => Stateless Session Bean Binding。
請注意導入中的圖標變化(請參閱圖 11)。
選擇 Properties 視圖,然后選擇 Binding 選項卡??梢钥吹?JNDI name 字段現在已填充(請參閱圖 12)。
創建 Java 組件
要創建 Java 組件,請執行以下步驟:
將 Java 組件拖放到 assembly 畫布上,并將名稱改為 InvokeEcho
(請參閱圖 13)。
創建名為 InvokeEchoInterface
的接口,其中包含一個單向操作 callEcho
和一個輸入參數:
選擇 Java 組件,并為其添加一個接口 InvokeEchoInterface
。
將 InvokeEcho 和 EchoEJB 連接到一起(請參閱圖 15)。
請注意已生成了引用 EchoPartner。我們將在 Java 組件實現中使用它(請參閱圖 16)。
選擇并右鍵單擊 Java 組件,然后生成缺省 Java 實現。當實現打開后,使用以下代碼替換 callEcho 方法:
|
運行并測試方案
要測試方案,請執行以下步驟:
右鍵單擊 InvokeEcho 并選擇 Test Component。
在測試配置中,刪除 EchoEJB 的模擬器,因為我們希望調用實際的 EJB 實現。
在 name 字段中輸入一個值,然后單擊 Continue。
請注意是否收到預期結果。
請注意 System.out 輸出的結果。
祝賀您現在已經成功從 SCA 組件 InvokeEcho
中導入 Echo EJB 并進行了調用。在此方案中,SCA 模塊和 EJB 服務在同一服務器上運行。
![]() ![]() |
![]()
|
結束語
本文幫助您實現了集成 EJB 服務的 WebSphere Process Server 解決方案。正如您所看到的,從 SCA 組件使用 EJB 服務非常容易。采用這種方式重用基于 EJB 的服務可為 WebSphere Process Server 等集成產品的應用帶來大量機會。
致謝
作者希望感謝 Sam Kaipa 對本文所做的審閱工作。
原文轉自:http://www.anti-gravitydesign.com