• 沒有找到結果。

Web Services[7][17][22]是一種允許電腦間彼此以制定格式的訊息自動相互溝通,

由Worldwide Web Consortium(W3C)設計訂定,用來促進跨平台間程式對程式的通訊。

若我們將查詢功能建置成Web Services 形式,並將之推廣使得全世界的查詢食品營養素 之功能也都建置成Web Services 形式,如此一來程式與程式間便能彼此互相溝通。若我 在某個國家網站查詢某一個食品之營養素時,此查詢會自動與世界上其他查詢程式相互 溝通,並同時查詢其他資料庫中之相關資料,查詢資料因此可以變的廣泛多樣化不僅僅 侷限於某一個資料庫來源。

要運用Web Services 功能必須了解有三個元件是 Web Services 所必要的:

z UDDI(Universal Description Discovery and Integration):提供註冊與搜尋 Web Service 資訊的一個標準。

z WSDL(Web Service Description Language):以 XML 撰寫的文件,主要的 用途是「描述 Web Services」,也就是讓用戶端知道如何使用 Web Services,

包括提供服務的種類、呼叫方法、參數傳遞等。

z SOAP(Simple Object Access Protocol)[20]:架構在 HTTP 之上的物件存取 協定,用來在網路上交換結構化和型別資訊。當用戶端程式需要呼叫 Web Services 時,會把要求封裝成 SOAP 呼叫,傳遞給遠端,當遠端 Web Services 收到請求後,會執行指定的工作並利用SOAP 傳回結果。

可以從圖 2-30 看出,當一個用戶端想找尋一個 Web Services 來使用時,先於 UDDI 伺服器中尋找,當尋找到時便以UDDI 所提供的位址,到該 Web Services 所在的位址。

此時向該 Web Services 要求 WSDL 文件,此 WSDL 文件可以提供使用者在使用 Web Services 所需輸入的訊息格式。最後使用者便可依這些資訊向該 Web Services 發出請求 取得服務[3]。

圖 2-30 Web Services 的架構圖

傳統的旅遊訂票流程如圖 2-31 所示,使用者必須自行訂飯店、訂機票以及其他相 關服務,每個服務間無法彼此溝通。而透過Web Services 如圖 2-32 所示,每個服務間 以共通的訊息相互聯繫,如此一來使用者決定了目的地時,系統會自動連繫航空公司自 動找尋可訂購之航班,決定好時間地點後系統會自動聯繫當地飯店的服務系統,自動找 出抵達當日可提供住宿的飯店[12]。

圖 2-31 傳統的旅遊訂票流程

圖 2-32 透過 Web Services 的旅遊訂票流程

因此我們也希望能夠建置一個類似的服務,網路上其他程式或是使用者送出欲查 詢之關鍵字,我們所建置的Web Services 就會根據傳入的字串查詢後端資料庫,再將資 料回傳。如圖 2-33 所示,我們建置一個 QueryNutrient 的 Web Services,我們定義只要 輸入關鍵字便可以傳回所有食品名稱中擁有該關鍵字之食品。

只要世界上各國皆建立類似的Web Services 查詢功能,使用者不須分別到各國資 料庫中查詢食品營養素,只需到其中一個資訊網站輸入查詢關鍵字後,便可以利用Web Services 的便利查詢出與此資訊網站之 Web Services 能相互溝通之所有食品營養資訊,

對使用者來說是非常方便且實用的功能,也能達到查詢資料廣泛且多樣的特性。

圖 2-33 Query Nutrient Web Services

圖 2-34 QueryNutrient 本機測試畫面

相關文件