拍賣 Web 服務詳細資料 |
利用 XML 開發的 Web 服務,是與「拍賣」應用程式所使用之商品資料庫互動的另一種方式。拍賣 Web 服務的使用者可以新增及刪除資料庫中的商品, 也可以檢視「拍賣」中某一個或所有現行商品的相關資訊。 所謂 Web 服務是一組可以透過網際網路發佈、尋找及呼叫的相關應用程式功能。Web 服務可讓在不同的平台上執行以及以不同語言開發的應用程式,利用 XML 型的元件交互作業。 開發 Web 服務一般有兩種做法:由上而下和由下而上。在由上而下的做法中,Web 服務是以 Web 服務說明語言 (WSDL) 和 XML 綱目定義 (XSD) 檔中所定義的 Web 服務介面和 XML 類型為基礎。接著開發人員可以修改 Skeleton 實作,來和商業邏輯連結。在由下而上的做法中,Web 服務是根據 Java Bean 或 EJB 中現有的商業邏輯為基礎來建立。其會產生 WSDL 和 XSD 檔來說明產生的 Web 服務介面。由上而下的做法可以對所使用的 Web 服務介面和 XML 類型有更多的控制權, 這是開發 Web 服務的建議做法。 拍賣 Web 服務是利用由上而下的做法所開發的,它會先定義 WSDL 和 XSD 檔。WSDL 檔會定義要顯現的介面、要呼叫的作業,以及在這些作業期間傳遞的訊息。WSDL 檔會參照 XSD 檔,以取得這些訊息的確實定義。 對於「拍賣清單」Web 服務應用程式,這些作業提供了下列功能:
以下各節說明如何建立應用程式的這些主要元件,以及整個來看,其對開發「拍賣」範例的重要性為何: 利用 WSDL 和 XSD 編輯器定義 WSDL 與 XSD 檔Web 服務說明語言 (WSDL) 和 XML 綱目定義 (XSD) 檔中定義的 Web 服務介面和 XML 類型, 會定義元素和其相關聯的動作,來說明 Web 服務的外觀與運作方式。 在開發拍賣 Web 服務時,會利用 XML 綱目編輯器來建立新的 XSD 檔,以定義在 Web 服務中傳遞的 XML 綱目類型。 接著,會利用「新建 WSDL 檔」精靈來建立新的 WSDL 檔,如此會建立一個使用預設樣式以及文件文字的 Skeleton WSDL 檔。這是 Web 服務交互作業能力組織 (WS-I) 所建議的選項。WS-I 是一個開放產業組織,其會發佈平台和語言準則,以確保來自不同供應商的 Web 服務彼此可以交互作業。 在建立 Skeleton WSDL 檔之後,可使用 WSDL 編輯器來編輯 WSDL 檔。新的作業、訊息和組件會與一個新產生的連結一起建立在 WSDL 檔中。WSDL 編輯器會與 XML 綱目編輯器緊密結合;您可以在 WSDL 編輯器內開啟 XML 綱目編輯器,使得 WSDL 檔中的組件可以參照 XSD 檔中定義的 XML 綱目類型, 如以下畫面所示。
利用「Web 服務」精靈產生 Java Bean Skeleton您可以利用「Web 服務」精靈從 WSDL 和 XSD 檔建立 Java Bean Skeleton。「Web 服務」精靈會根據 JAX-RPC 程式設計模型來產生 Java 程式碼。它也會根據 Web Services for J2EE 規格來產生 Web 服務部署描述子。 在建立 Skeleton Web 服務時,也可以選擇利用精靈來建立兩個其他的元素:
與 Skeleton Web 服務同時建立 Java Proxy 和範例 JSP,可以更容易地一次測試該 Web 服務所有的元素。 在建立 Web 服務 Skeleton 之後,所產生的 Java Skeleton 實作檔會開啟在 Java 編輯器中,其中含有由 WSDL 檔所定義之必要的方法介面。開發人員可以在此時修改 Skeleton 實作檔,來存取後端商業邏輯。 所產生的範例 JSP 是基本且很好運作的,其內容編排在三個頁框中。左邊的頁框含有使用者可與其互動之所有方法的清單。按一下其中一個方法即可在右上方的頁框中開啟一個輸入區。在將輸入資料鍵入表單之後,按一下「呼叫」按鈕即可呼叫用來處理該輸入的方法,並在右下方的頁框中顯示結果。 針對拍賣 Web 服務,我們變更了產生的範例 JSP 來建立在視覺上更生動的介面, 並增加了處理陣列的支援,因為當作業傳回資料庫中所有商品的清單時,會傳回一個陣列。 |