< 上一個課程 | 下一個課程 >

第 4 課:公開 RPC 配接器服務

在此課程中,您學習如何建立傳回 JSON 回應的 RPC 配接器服務。「遠端程序呼叫 (RPC)」配接器是 Web 遠端處理的 IBM 實作。
  1. 公開 RPC 配接器服務:
    1. 在「頁面資料」視圖(視窗 > 顯示視圖 > 頁面資料)中,按一下服務標籤。
    2. 用滑鼠右鍵按一下 RPC 配接器,並選取公開 RPC 配接器服務,以開啟「公開 RPC 配接器服務」視窗。 如果在「頁面資料」視圖中無法使用「RPC 配接器」選項,請開啟 ShowMovies.html 檔,然後按一下「頁面資料」視圖。
    3. POJO 類別欄位中,按一下瀏覽,以開啟「選取要公開的 Java 類別」視窗。
    4. 選取項目欄位中,鍵入 MovieService
    5. 在「相符項」清單中,按一下 MovieService - web2,然後按一下確定
    6. 在「方法」清單中,按一下 getMovieList(),然後按下一步 所顯示的 URL 會在它啟動時呼叫 getMovieList 方法:
      呼叫 getMovieList 方法的 URL。
    7. 按一下完成

      這時會在「頁面資料」視圖中建立 RPC 配接器服務。

      「頁面資料」視圖中的「RPC 配接器服務」MovieService。

      這時會建立 RPC 配接器配置檔 RpcAdapterConfig.xml

      RPC 配接器配置檔。
      RPC 配接器配置編輯器會顯示已公開的 getMovieList() 方法。
      RPC 配接器配置編輯器會顯示已公開的 getMovieList() 方法。

  2. 依預設,會將 RPC 配接器配置成將所有服務呼叫傳回作為 JSON。若要查看 RPC 配接器的工作方式,請啟動您在 Web 瀏覽器中公開的服務。
  3. 測試 RPC 配接器服務:
    1. 在「頁面資料」視圖中,按一下服務標籤。
    2. 展開 RPC 配接器
    3. 用滑鼠右鍵按一下 getMovieList() 方法,然後選取執行方式 > 在伺服器中執行
    4. 在伺服器清單中,選取 WebSphere Application Server 8.0 版,然後按一下完成 這時,RPC 服務 URL 會開啟,並傳回 .json 檔。
    5. 這時會開啟一個瀏覽器視窗,詢問您如何處理 getMovieList 檔。請儲存檔案。
    6. 在文字編輯器中開啟檔案。
      {"result":[{"actor":"Vivien Leigh","title":"Gone with the Wind","director":"Victor Fleming","description":"Going with the wind"},{"actor":"Michael J Fox","title":"Back To The Future","director":"Robert Zemeckis","description":"Going back to the future"},{"actor":"Harrison Ford","title":"Star Wars","director":"George Lucas","description":"Wars in the stars"}]}

      會將影片清單序列化為 JSON。

提示: RPC 配接器會顯示目前已公開的所有服務和方法。在伺服器執行時,開啟 Web 瀏覽器,然後將下列 URL 輸入到位置列中:
http://localhost:<port>/MyMovieProject/RPCAdapter/httprpc/
瀏覽器會將已公開的服務顯示為一個表格:
已公開的服務。
按一下服務時,會列出服務的個別方法:
已公開的方法。

Web 遠端處理是一種型樣,用來提供對 JavaScript 或用戶端程式碼的支援,以直接啟動伺服器端邏輯。使用此型樣,您可以從 JavaScript 啟動 Java 方法。該呼叫是透過 JSON-RPC 呼叫來執行。最常用的用法是使用 XmlHttpRequest 進行非同步呼叫。資料會採用「JavaScript 物件表示法 (JSON)」格式,在伺服器與用戶端之間進行傳送。因此,此型樣在本質上是 JSON Web 服務的一種形式。

Web 遠端處理的 IBM® 實作是 IBM 的「遠端程序呼叫 (RPC)」配接器。RPC 配接器旨在協助開發人員,採用補足 Ajax 應用程式及其他輕量型用戶端的程式設計樣式的方式,迅速建立指令型服務。透過實作為一般 Servlet,RPC 配接器會向已登錄的 JavaBeans 提供 HTTP 介面。

RPC 配接器。

RPC 配接器會向已登錄的 JavaBean 提供 HTTP 介面。它會將輸入解除序列化,並呼叫 JavaBean 中的對應方法。它會將輸出從 JavaBean 序列化為 JSON/XML 格式。

目前,RPC 配接器支援兩種 RPC 通訊協定:
  • HTTP RPC,它會將 RPC 呼叫編碼為包含 query 參數的 URL(針對 HTTP GET),或包含 form 參數的 URL(針對 HTTP POST)。
  • JSON-RPC,支援 Dojo dojo.rpc.JsonService API 所利用的 SMD 服務描述子。

「遠端程序呼叫 (RPC)」配接器向 AJAX 型使用者介面提供用於公開伺服器端 Java 物件的機制。

課程回顧

建立用於傳回 JSON 回應的 RPC 配接器服務。
已學內容:
  • 如何使用「頁面資料」視圖,來公開 RPC 配接器服務。
  • RPC 配接器如何向 AJAX 型使用者介面公開伺服器端 Java 物件的資訊。
< 上一個課程 | 下一個課程 >

意見