將 EJB 服務與 WebSphere Process Server 集成

發表于:2007-05-24來源:作者:點擊數: 標簽:ServeProcesswebsphereejb服務
本文介紹如何使用 IBM WebSphere Process Server Version 6 和 IBM WebSphere Integration Developer Version 6 來在不對其進行更改的情況下集成現有 J2EE 應用程序。 引言 IBM WebSphere Process Server 是使用 IBM WebSphere Integration Developer 開發 的
本文介紹如何使用 IBM WebSphere Process Server Version 6 和 IBM WebSphere Integration Developer Version 6 來在不對其進行更改的情況下集成現有 J2EE 應用程序。

引言

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 會話。

  1. 創建名為 Echo 的企業應用程序,該應用程序包含一個 EJB 模塊 EchoEJB。

  2. 創建名為 com.ibm.issw.poc.invokeejb 的包。

  3. 創建無狀態 EJB 會話,將其命名為 Bean Echo。



    圖 2. 創建 EJB
    創建 EJB

  4. 創建一個簡單的方法,將其命名為 echoSimple,并將其提升為遠程接口:

    public String echoSimple(String name){
                    System.out.println("inside echoSimple");
                    return "Hello, " + name;
                    }

  5. 打開 ejb 部署描述符,并留意一下 EJB 的缺省 JNDI 名稱:

    ejb/com/ibm/issw/poc/invokeejb/EchoHome



    圖 3. EJB JNDI 名稱
    EJB JNDI 名稱

  6. 創建將稍后在 SCA 模塊中使用的 EJB 客戶端項目和 jar。

  7. 單擊右鍵,并選擇 EchoEJB => EJB Client Jar => Create EJB Client Project,然后在 name 字段中輸入 EchoEJBClient。



    圖 4. EJB 客戶端
    EJB 客戶端

  8. 運行并測試 EJB 應用程序(請參見圖 5)。



    圖 5. 測試 EJB
    測試 EJB

現在已經創建了 EJB,接下來將對其進行集成。

創建 EJB 組件

要將 EJB 集成到 WebSphere Process Server SCA 組件中,請執行以下步驟:

  1. 創建名為 InvokeEcho 的模塊。

  2. 從 Dependencies editor 選擇 EchoEJBClient 作為依賴 Java 項目,并單擊 Add,以將 EchoEJBCLient 作為依賴 Java 項目添加。



    圖 6. 添加依賴關系
    添加依賴關系

    此時務必添加模塊依賴關系。稍后添加接口時,向導才能夠找到遠程 EJB 接口。

  3. 從 Assembly editor 中打開模塊 InvokeEcho,在畫布上添加一個 Import 組件。將名稱更改為 EchoEJB。



    圖 7. 添加 Import 組件
    添加 Import 組件

  4. 為導入添加接口:

    1. 單擊 Add Interface 圖標。

    2. 在隨即出現的窗口中選擇 Show Java。

    3. 在 Filter by interface 字段輸入 echo。

    4. 從 Matching interfaces 中選擇 Echo。此接口來自項目 /EchoEJBClient/ejbModule(請參閱圖 8)。



      圖 8. 為導入添加接口
      為導入添加接口

  5. 單擊 Ok 并保存模塊關系圖。



    圖 9. 帶接口的導入
    帶接口的導入

  6. 生成會話 EJB 綁定。

    1. 右鍵單擊 EchoEJB 導入,并選擇 Generate Binding => Stateless Session Bean Binding。



      圖 10. 添加綁定
      添加綁定

    2. 請注意導入中的圖標變化(請參閱圖 11)。



      圖 11. 帶接口綁定的導入
      帶接口綁定的導入

    3. 選擇 Properties 視圖,然后選擇 Binding 選項卡??梢钥吹?JNDI name 字段現在已填充(請參閱圖 12)。



      圖 12. 指定綁定的 JNDI 名稱
      指定綁定的 JNDI 名稱

創建 Java 組件

要創建 Java 組件,請執行以下步驟:

  1. 將 Java 組件拖放到 assembly 畫布上,并將名稱改為 InvokeEcho(請參閱圖 13)。



    圖 13. 添加 Java 組件
    添加 Java 組件

  2. 創建名為 InvokeEchoInterface 的接口,其中包含一個單向操作 callEcho 和一個輸入參數:



    圖 14. 創建接口
    創建接口

  3. 選擇 Java 組件,并為其添加一個接口 InvokeEchoInterface。

  4. 將 InvokeEcho 和 EchoEJB 連接到一起(請參閱圖 15)。



    圖 15. 連接 Java 并導入組件
    連接 Java 并導入組件

    請注意已生成了引用 EchoPartner。我們將在 Java 組件實現中使用它(請參閱圖 16)。



    圖 16. 合作伙伴引用
    合作伙伴引用

  5. 選擇并右鍵單擊 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();
                    }

運行并測試方案

要測試方案,請執行以下步驟:

  1. 右鍵單擊 InvokeEcho 并選擇 Test Component。

  2. 在測試配置中,刪除 EchoEJB 的模擬器,因為我們希望調用實際的 EJB 實現。

  3. 在 name 字段中輸入一個值,然后單擊 Continue。



    圖 17. 組件測試 1
    組件測試 1

  4. 請注意是否收到預期結果。



    圖 18. 組件測試 2
    組件測試 2

    請注意 System.out 輸出的結果。



    圖 19. 組件測試 3
    組件測試 3

祝賀您現在已經成功從 SCA 組件 InvokeEcho 中導入 Echo EJB 并進行了調用。在此方案中,SCA 模塊和 EJB 服務在同一服務器上運行。





回頁首


結束語

本文幫助您實現了集成 EJB 服務的 WebSphere Process Server 解決方案。正如您所看到的,從 SCA 組件使用 EJB 服務非常容易。采用這種方式重用基于 EJB 的服務可為 WebSphere Process Server 等集成產品的應用帶來大量機會。

致謝

作者希望感謝 Sam Kaipa 對本文所做的審閱工作。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97