使用 EGL 建立 Hello World 服務 >
< 上一個課程 | 下一個課程 >

第 4 課:將專案設為用戶端

與服務專案相似,用戶端專案使用 EGL 部署描述子檔案。然而,在用戶端專案中,EGL 部署描述子將保留在哪裡尋找服務的相關資訊。您將從服務匯入您建立的 WSDL 檔,EGL 將新增適當的連結資訊至 EGL 部署描述子,以讓用戶端可以找到該服務。

在該程序中,EGL 會建立介面組件,用於代表用戶端專案內的服務。將介面組件連結至實際服務之後,您可以使用該介面組件,如同它是服務本身一樣。

顯示說明文件

設定 EGL 部署描述子檔案

  1. 開啟用戶端專案的 EGL 部署描述子檔案,方法是在「專案瀏覽器」視圖中按兩下 EGLClient/EGLSource/EGLClient.egldd。 請注意,EGL 部署描述子與「Java 部署描述子」資料夾(該資料夾也位於 EGLClient 專案中)沒有任何關係。
  2. 在部署描述子編輯器中,請跳至服務連結標籤。
  3. 在「服務連結」標籤上,按一下新增。
  4. 在「新增服務連結」視窗中,按一下 Web 連結。
  5. 按下一步。
  6. 選取從工作區中選擇 WSDL 檔並將其複製到現行專案勾選框。
  7. 按一下瀏覽。
  8. 選取 HelloService.wsdl 檔(位於 EGLSource\wsdl 資料夾內的 EGLService 專案中),然後按一下確定。
  9. 在介面選項下面,選取從 WSDL 檔產生 EGL 介面圓鈕。 選取此選項之後,EGL 將自動建立您存取服務時所需的組件。
  10. 接受頁面上其他欄位的預設值並按下一步。 「新建 EGL 介面」頁面會顯示 WSDL 檔中所說明之所有服務的清單。EGL 將為您在此頁面上選取的每一個服務,在用戶端專案中建立一個介面組件。現在,這裡只列出了您在服務專案中建立的服務。
  11. 確保已選取 HelloService 服務的勾選框,然後按下一步。 下一頁容許您設定新介面組件的建立位置以及名稱。您也可以從服務中選取在介面組件中包括哪些函數。依預設,會包括服務組件中的所有函數。
  12. 在來源資料夾欄位中,確保已指定用戶端專案的來源資料夾:EGLClient\EGLSource。
  13. 在套件欄位中,確保已指定服務套件。
  14. 請確保在函數清單中已選取 SayHello 函數旁邊的勾選框。 該視窗與此圖片相似:
    「新增服務連結」視窗
  15. 按一下完成。 現在,您已建立了服務連結。透過使用此連結,您在此專案中建立的網頁可以存取服務。部署描述子檔案中的連結與此圖片相似:
    用戶端的部署描述子檔案
  16. 儲存並關閉部署描述子檔案。 請注意,EGL 已在專案的服務套件中建立了介面組件。 介面組件與此圖片相似:
    新介面組件

    此介面與您在服務應用程式中建立的介面類似,但是此介面具有其他內容,用於參照部署描述子檔案中的連結。

  17. 與您在 EGLService 專案中執行的作業相同,請確保部署描述子出現在用戶端建置描述子檔案中:
    1. 按兩下專案的建置描述子,以在建置組件編輯器中開啟它。 此檔案名為 EGLClient.eglbld,位於專案的 EGLSource 資料夾。
    2. 在建置描述子選項清單中,應該將名為 deploymentDescriptor 的選項設為 EGLClient。
    3. 按一下確定並關閉檔案。

在網頁中使用服務

  1. 開啟適用於網頁的「JSF 處理程式」,名為 ClientPage.egl。
  2. 在「JSF 處理程式」中,從介面組件建立變數。 通常,採用下列方法使用內容輔助來建立變數是最簡單的:
    1. 在「JSF 處理程式」檔案中,將游標放置在緊跟在您於前一小節中建立的三個變數之後的空白行中。
    2. 在該空白行中,輸入下列程式碼,作為介面組件的前幾個字元:
      he	
    3. 按 ALT+/。 內容輔助將使用下列程式碼為您完成該程式碼行:
      helloService HelloService {@bindService};
      內容輔助還新增 import 陳述式至「JSF 處理程式」,這樣您無需指定組件的完整位置,就能使用此組件。結果與下列圖片相似:
      內容輔助完成程式碼行
  3. 在 getHello() 函數的空白行中,呼叫服務中的 SayHello() 函數,方法是傳遞給該函數 name 和 city 變數並指定 output 變數的輸出:
    output = helloService.SayHello(name, city);
    請記住,您可以透過先輸入關鍵字或組件的前幾個字元,然後按 ALT+/ 來使用內容輔助。 「JSF 處理程式」與此圖片相似:
    「JSF 處理程式」中的程式碼
  4. 儲存並關閉「JSF 處理程式」。
  5. 產生整個用戶端專案,方法是在「專案瀏覽器」視圖中用滑鼠右鍵按一下專案,然後按一下產生。
  6. 接下來,出於測試目的,您必須讓您的應用程式伺服器知道您計劃要呼叫的服務。在「伺服器」視圖中,用滑鼠右鍵按一下 WebSphere Appplication Server 6.1 版並按一下新增和移除專案。
  7. 在「新增和移除專案」頁面上,請驗證是否已將 EGLClientEAR 和 EGLServiceEAR 列為已配置的專案。 如果 EGLServiceEAR 位於可用的專案直欄中,請按一下 EGLServiceEAR 以強調顯示它,然後按一下新增和完成。 該視窗與下列圖片相似:
    已完成的「新增和移除專案」視窗會將 EGLServiceEAR 顯示為已在伺服器上進行配置
    。現在,可立即使用網頁。
  8. 在「專案瀏覽器」視圖中,用滑鼠右鍵按一下 WebContent 資料夾(不是「JSF 處理程式」)中的 ClientPage.jsp 網頁,然後按一下執行方式 > 在伺服器中執行。
  9. 在「定義新的伺服器」視窗中,按一下選擇現有伺服器的圓鈕,然後按一下 WebSphere Application Server 6.1 版。按一下完成。 這時,伺服器會發佈該頁面並在內部 Web 瀏覽器中顯示該頁面。如果您偏好使用外部 Web 瀏覽器,則可以從內部 Web 瀏覽器中複製 URL,並將該 URL 貼到外部 Web 瀏覽器的 URL 欄位中。
  10. 在名稱和城市欄位中分別輸入名稱和城市,然後按頁面上的按鈕。 頁面上的輸出欄位會根據您輸入的名稱和城市,顯示一個字串,例如「Bill,歡迎來到紐約!」,如下圖所示:
    已完成的頁面
這似乎對於簡式作業來說工作太多,但這些專案示範了 EGL 如何可以建立服務及/或用戶端,以及這些應用程式如何搭配工作。透過在服務導向架構中使用 Web 服務和用戶端,您可以採用靈活且模組化的方式來整合各種 EGL 和非 EGL 應用程式。
< 上一個課程 | 下一個課程 >