引言
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 服務。
圖 1. 模塊概況

必備軟件
需要安裝以下軟件:
- WebSphere Integration Developer V6
- WebSphere Process Server V6 測試環境
本文假定您具有一定的 J2EE 知識,以前曾使用過 WebSphere Studio Application Developer 或 Rational Application Developer。要了解有關這些產品的更多信息,請訪問 developerWorks。
配置
在這一部分,我們將開發一個示例 EJB 應用程序和一個使用該 EJB 服務的 SCA 模塊。
可以首先創建企業應用程序、包和 EJB 會話。
-
創建名為
Echo
的企業應用程序,該應用程序包含一個 EJB 模塊EchoEJB
。 -
創建名為
com.ibm.issw.poc.invokeejb
的包。 -
創建無狀態 EJB 會話,將其命名為
Bean Echo。
圖 2. 創建 EJB
-
創建一個簡單的方法,將其命名為
echoSimple
,并將其提升為遠程接口:public String echoSimple(String name){ System.out.println("inside echoSimple"); return "Hello, " + name; }
-
打開 ejb 部署描述符,并留意一下 EJB 的缺省 JNDI 名稱:
ejb/com/ibm/issw/poc/invokeejb/EchoHome
圖 3. EJB JNDI 名稱
-
創建將稍后在 SCA 模塊中使用的 EJB 客戶端項目和 jar。
-
單擊右鍵,并選擇 EchoEJB => EJB Client Jar => Create EJB Client Project,然后在 name 字段中輸入
EchoEJBClient
。
圖 4. EJB 客戶端
-
運行并測試 EJB 應用程序(請參見圖 5)。
圖 5. 測試 EJB
現在已經創建了 EJB,接下來將對其進行集成。
創建 EJB 組件
要將 EJB 集成到 WebSphere Process Server SCA 組件中,請執行以下步驟:
-
創建名為
InvokeEcho
的模塊。 -
從 Dependencies editor 選擇 EchoEJBClient 作為依賴 Java 項目,并單擊 Add,以將 EchoEJBCLient 作為依賴 Java 項目添加。
圖 6. 添加依賴關系
此時務必添加模塊依賴關系。稍后添加接口時,向導才能夠找到遠程 EJB 接口。
-
從 Assembly editor 中打開模塊
InvokeEcho
,在畫布上添加一個Import
組件。將名稱更改為EchoEJB
。
圖 7. 添加 Import 組件
-
為導入添加接口:
-
單擊 Add Interface 圖標。
-
在隨即出現的窗口中選擇 Show Java。
-
在 Filter by interface 字段輸入
echo
。 -
從 Matching interfaces 中選擇 Echo。此接口來自項目 /EchoEJBClient/ejbModule(請參閱圖 8)。
圖 8. 為導入添加接口
-
-
單擊 Ok 并保存模塊關系圖。
圖 9. 帶接口的導入
-
生成會話 EJB 綁定。
-
右鍵單擊 EchoEJB 導入,并選擇 Generate Binding => Stateless Session Bean Binding。
圖 10. 添加綁定
-
請注意導入中的圖標變化(請參閱圖 11)。
圖 11. 帶接口綁定的導入
-
選擇 Properties 視圖,然后選擇 Binding 選項卡?梢钥吹 JNDI name 字段現在已填充(請參閱圖 12)。
圖 12. 指定綁定的 JNDI 名稱
-
創建 Java 組件
要創建 Java 組件,請執行以下步驟:
-
將 Java 組件拖放到 assembly 畫布上,并將名稱改為
InvokeEcho
(請參閱圖 13)。
圖 13. 添加 Java 組件
-
創建名為
InvokeEchoInterface
的接口,其中包含一個單向操作callEcho
和一個輸入參數:
圖 14. 創建接口
-
選擇 Java 組件,并為其添加一個接口
InvokeEchoInterface
。 -
將 InvokeEcho 和 EchoEJB 連接到一起(請參閱圖 15)。
圖 15. 連接 Java 并導入組件
請注意已生成了引用 EchoPartner。我們將在 Java 組件實現中使用它(請參閱圖 16)。
圖 16. 合作伙伴引用
-
選擇并右鍵單擊 Java 組件,然后生成缺省 Java 實現。當實現打開后,使用以下代碼替換 callEcho 方法:
try { System.out.println("in callEcho"); // Create an instance of the ServiceManager ServiceManager serviceManager = new ServiceManager(); Echo echo= (Echo)serviceManager.locateService("EchoPartner"); String result = echo.echoSimple(name); System.out.println("called imported EJB, and response is " + result); } catch (Exception e) { e.printStackTrace(); }
運行并測試方案
要測試方案,請執行以下步驟:
-
右鍵單擊 InvokeEcho 并選擇 Test Component。
-
在測試配置中,刪除 EchoEJB 的模擬器,因為我們希望調用實際的 EJB 實現。
-
在 name 字段中輸入一個值,然后單擊 Continue。
圖 17. 組件測試 1
-
請注意是否收到預期結果。
圖 18. 組件測試 2
請注意 System.out 輸出的結果。
圖 19. 組件測試 3
祝賀您現在已經成功從 SCA 組件 InvokeEcho
中導入 Echo EJB 并進行了調用。在此方案中,SCA 模塊和 EJB 服務在同一服務器上運行。
![]() ![]() |
![]()
|
結束語
本文幫助您實現了集成 EJB 服務的 WebSphere Process Server 解決方案。正如您所看到的,從 SCA 組件使用 EJB 服務非常容易。采用這種方式重用基于 EJB 的服務可為 WebSphere Process Server 等集成產品的應用帶來大量機會。
致謝
作者希望感謝 Sam Kaipa 對本文所做的審閱工作。
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月