簡介
RAD 6.0 提供一套豐富的工具,支援探查、建立、測試、部署及發佈 Web 服務。 可以根據最新標準來開發 Web 服務,也支援部署到多個執行環境。 這些工具也提供許多精靈,支援和協助不同的開發方法。 本文說明 RAD 6.0
提供的各種 Web 服務開發方法,並討論與 Web 服務部署有關的開發注意事項及互運性選項的層次。
開發方法
RAD 6.0 的 Web 服務精靈可讓您採取由上而下或由下而上的方法來建立 Web 服務。 由上而下的方法可讓您從「Web 服務說明語言 (WSDL)」文件開始,產生可用來建立 Web 服務的綱要 Java Bean 或綱要
Enterprise JavaBean (EJB)。 由下而上的方法可讓您利用現有的 Java Bean、EJB、文件存取定義擴充器 (DADX) 檔案、統一資源定位器 (URL) 或 Web 服務部署描述子 (ISD) 檔案來建立
Web 服務。 圖 1 顯示 RAD 6.0 提供的 Web 服務建立方法。
圖 1 - RAD 6.0 Web 服務建立方法
在建立 Web 服務期間,精靈可讓您選擇:
-
建立 Web 服務之後,立即使用「Web 服務瀏覽器工具」進行測試。
-
產生用戶端 Proxy,讓您在用戶端應用程式中可以存取 Web 服務。
-
使用 Universal Test Client (UTC) 工具或此工具產生的 JSP 應用程式範例來測試用戶端 Proxy。
-
使用「Web 服務瀏覽器工具」將 Web 服務發佈到「廣泛描述、探索與整合 (UDDI)」登錄。
在 RAD 6.0 中開發的 Web 服務必須在 Web 或 EJB 專案中建立,且必須包含符合下列標準的工作成果:
-
Web 服務定義語言 (WSDL) 1.1 版
-
簡式物件存取通訊協定 (SOAP) 1.1 版(包括 Apache SOAP 2.2 和 2.3 實作)
-
廣泛描述、探索與整合 (UDDI) 2.0 版
-
Web 服務檢查語言 (WSIL) 1.0 版
-
Java API for XML-based Remote Procedure Call (JAX-RPC),又稱為 JSR-101
-
JSR-109 和 JSR-921(實作企業 Web 服務)
-
Web Services Interoperability (WS-I) Basic Profile 1.0(選用性標準)
-
WS-Security
如需這些主題的相關資訊,請參閱「概念:Web Services for J2EE」。
由上而下的開發
由上而下的開發方法可讓您利用 WSDL 文件包含的 Web 服務抽象定義,並產生具體的實作。 (附註:RAD 6.0 也提供精靈來建立 WSDL 文件)。支援下列兩種方法:
由下而上的開發
由下而上開發的目標將現有的應用程式元件或資源公開為 Web 服務。以下討論各種方法。
-
從 URL 建立 Web 服務
您可以從 URL 建立 Web 服務,直接存取遠端伺服器上執行的 servlet。 此精靈可讓您用埠、操作及參數來描述 servlet 的介面,並產生 WSDL 文件來描述產生的 Web 服務。
這種方式及產生的工作成果有下列注意事項:
-
這種方式僅適用於以 IBM SOAP 做為 Web 服務執行環境的情況(請參閱「部署相依性」)。
-
通常,埠對應於 URL 的網域/主機名稱、操作對應於 Servlet 環境定義根目錄和 URI 部分,參數對應於 servlet 的輸入參數。
-
產生的 Web 服務必須在 Web 專案中建立。
-
由於已由主動式 URL 實作,沒有可部署的 Web 服務。
-
從部署描述子 (ISD) 檔案建立 Web 服務
部署 Web 服務時,配置和執行時期屬性已定義在 ISD 部署描述子檔案中。 這個檔案對於 SOAP 執行環境提供給用戶端的服務提供相關資訊,例如,URI、方法、實作類別(JavaBeans 和
EJB)、序列化常式及解除序列化常式。 您可以利用這項資訊從 ISD 檔案建立 Web 服務。 這可讓您包裝現有的 Web 服務實作,並重新部署為新的 Web
服務,不必重新指定配置和對映資訊。這種方式及產生的工作成果有下列注意事項:
-
這種方式僅適用於以 IBM SOAP 做為 Web 服務執行環境的情況(請參閱「部署相依性」)。
-
產生的 Web 服務必須在 Web 專案中建立
開發準則
下列各節說明在 RAD 6.0 中開發 Web 服務的重要事項。其中根據 Web 服務的部署和 WS-I 標準需求來描述可用的開發選項。
部署相依性
可用來建立 Web 服務的方法(由上而下和由下而上)取決於您鎖定部署的執行環境。RAD 6.0 支援下列 Web 服務執行環境:
-
IBM WebSphere 第 6 版
這是 RAD 6.0 中預設的 Web 服務執行環境,也是正式作業中建議採用的執行環境。 支援 JMS 和 HTTP 傳輸通訊協定,因為可讓 Web 服務用戶端和伺服器透過 HTTP 連線或 JMS 佇列與主題來通訊。
請注意,如果會透過 JMS 傳輸來存取 Web 服務,則 Web 服務必須實作為 EJB。
-
IBM SOAP
IBM SOAP 執行環境支援 Apache SOAP 2.2 和 2.3 版通訊協定(請參閱「資源」),也是 WebSphere Studio 5.0 版和更早以前的版本唯一支援的 Web 服務執行環境。
應該只基於向後相容性來使用。
-
Apache Axis 1.0
此執行環境支援 Apache Axis 1.0 版 SOAP 實作(請參閱「資源」)。 不建議在正式作業中使用,因為可能會有 Web 服務互運性的問題(請參閱工具說明內容的「使用 Apache Axis 1.0
執行環境的問題」)
建議您選擇 IBM WebSphere 第 5 版執行環境,除非部署目標另外需要使用 Apache SOAP 或 Apache Axis 實作 (如真如此,請注意工具的「Web 服務限制」說明內容中描述的相關限制)。 表 1 彙總 RAD
6.0 在每一個執行環境中支援的 Web 服務建立方法。
Approach
|
IBM WebSphere 第 6 版
|
IBM SOAP
|
Apache Axis 1.0
|
從 WSDL 文件建立綱要 JavaBean
|
是
|
是
|
是
|
從 WSDL 文件建立綱要 EJB
|
是
|
否
|
否
|
從 JavaBean 建立 Web 服務
|
是
|
是
|
是
|
從 EJB 建立 Web 服務
|
是
|
是
|
否
|
從 DADX 建立 Web 服務
|
否
|
是
|
否
|
從 URL 建立 Web 服務
|
否
|
是
|
否
|
從 Web 服務部署描述子 (ISD) 建立 Web 服務
|
否
|
是
|
否
|
表 1 - 執行環境支援的 Web 服務建立方法
WS-I 基本設定檔標準
Web Services-Interoperability (WS-I) Basic Profile 是 WS-I 組織公佈的一套需求,提倡跨平台、作業系統及程式設計語言的 Web 服務互運性。 其中定義 WSDL 和通訊協定
(SOAP/HTTP) 流量需求,Web 服務必須滿足這些需求,才符合 WS-I 標準。 RAD 6.0 包含驗證工具,可用來驗證 Web 服務是否符合 WS-I Basic Profile 1.0 需求。 在開發 Web
服務或在開發後執行驗證工具之前,您可以設定工作區或專案的 WS-I 依循層次(需要、建議或忽略(預設值))。
建議您開發符合 WS-I Basic Profile 的 Web 服務。應該遵循下列準則以符合此標準:
-
使用 Document/literal 或 RPC/literal 做為 WSDL 樣式(RPC/encoded 不符合 WS-I 標準)
-
使用 SOAP over HTTP 做為訊息和傳輸通訊協定(SOAP over JMS 不符合 WS-I 標準)
-
不使用 Web 服務的任何安全選項(XML 數位簽章和 XML 加密不符合 WS-I 標準)
用戶端 Proxy 注意事項
-
在建立 Web 服務時,您可以選擇產生兩種用戶端 Proxy:
此 Java Bean 用戶端 Proxy 可讓您透過遠端程序呼叫來呼叫 Web 服務方法。 如果選擇 IBM SOAP 或 Apache Axis 1.0 做為用戶端執行環境,則只能在用戶端 Web 專案中建立。 否則,如果在
IBM WebSphere 第 6 版用戶端執行環境中,則可以在 Web、Java、EJB 或「應用程式用戶端」專案中建立。
這個選項可讓您對於要呼叫的 Web 服務的每一個方法建立 DB2 使用者定義的函數 (UDF)。 資料庫中必須安裝 DB2 Web 服務消費者 UDF 套件和 DB2 XML Extender。 UDF
建立之後要新增至資料庫定義中,而所有相關的用戶端工作成果儲存在 Web 專案中。
-
對 Web 服務和 Web 服務用戶端選取不同的 EAR,以避免發生執行時期錯誤。 切記,用戶端和 Web 服務是不同的應用程式,且 Web 服務主要不是用於應用程式之間的通訊。
資源
如需下列主題的相關資訊,請參閱相對應的鏈結。
|