• 沒有找到結果。

2. 文獻探討

2.2. XML Web Services

2.2.1. Web Services 簡介

Web Services(網路服務),可以說是一種分散式系統的方式之ㄧ,可以把它 當作就是存在於網際網路上面的一種應用程式。不同於本機端開發的應用程式,

每個功能模組都可以自行定義及開發,透過Web Services的機制,任何人可以在 網際網路上面尋找自己想要的應用程式模組,將其納入所要開發的應用程式中,

也可以將自行開發完成的應用程式模組,經過註冊後提供給網際網路上使用者使 用。圖 2-1所示為Web Services的基本架構概念圖,從此圖中可以更清楚的了解 Web Services 的 運 作 機 制 是 由 三 個 單 元 組 成 , 分 別 是 服 務 提 供 者 ( Service Provider)、服務需求者(Service Requester)及服務註冊機構(Service Registry),

而三者之間的關係分別存在有發行(Publish)、尋找(Find)及聯結(Bind)。

圖 2-1 Web Services 基本觀念圖[4]

根據喻瀚寬等人的歸納,Web Services 運作行為依順序有下列幾個步驟 [3]:

z 描述:Web Services提供的功能以及連結方式,需要一種標準的描述語言,

來 讓 Web Services 需 求 者 知 道 。 WSDL(Web Services Description Language)正是W3C定義出來的標準描述語言。一個以XML為基礎的 語言,定義了Web Services訊息交換的各式與類型、連接位址與方式 等等。WSDL為Web Services提供了服務內容的描述,也是一個辨別 Web Services身分的一個參考。

z 發佈:在廣大的網路之中,Web Services提供的服務想要被需求者找到,就 得透過服務發佈的過程。UDDI(Universal Description, Discovery and Integration)的功能正是如此,如同電話簿黃頁一般,給予每個Web Services發佈找尋自己的相關資訊。

z 尋找:Web Services 如何要在網路中找到提供服務的 Web Services 就需要透 過尋找的機制。透過 Query 向 UDDI 詢問有登錄的服務是否合用,

來尋找適用者。

z 組裝:根據取得之 Web Service 描述資訊(WSDL),建構一個連結到該 Web

Service 的代理程式。一般程式語言會產生一個 Proxy Class 來代與 Web Services 溝通。Proxy Class 會控制該有的輸入輸出格式,以避免 不一致的問題產生。

z 呼叫:透過 Internet 加上 SOAP(Simple Object Access Protocol)傳遞適當訊息 參數,呼叫該 Web Service。一般常見的模式有文件模式或 RPC 模式 兩種。

z 整合:利用上述機制,整合其他 Web Services 以建構出自己的應用程式或是 新的 Web Service。

根據上述的六個網路服務的運作行為,圖 2-2呈現了更清楚的運作行為與相 關 協 定 的 關 係 。 UDDI ( Universal Description, Discovery and Integration )、

WSDL(Web Services Description Language)與SOAP(Simple Object Access Protocol) 代表的是整個Web Services架構的核心,分別涵蓋了服務發佈與發現、服務內容 描述以及資料傳送協定。目前也廣被各方所接受,成為主要的標準。

圖 2-2 網路服務簡單輪廓圖 [3]

2.2.2. Web Services 的特性

本研究針對相關技術文件整理後,提出兩點來說明:

A. 非緊密連結 (低耦合性)

Web Services 的第一個特性是非緊密結合,亦稱之為低耦合性。過去,分散 應用程式邏輯需要一個分散物件模組,如 DCOM、CORBA、RMI 等。在進行企 業內系統整合或更新時,利用這樣的架構,開發人員除了可以保有舊有的應用程 透過以訊息為導向(Message-oriented)的技術,使用 HTTP 或 SMTP 的通訊協 定達到高效能的同步或非同步的呼叫。

另一方面,訊息導向的技術建構出網路訊息交換架構。傳輸訊息者只需要假 設被發出的訊息內容能被接收者了解就可以了,完全不用擔心訊息接收時會發生 什麼狀況,或者是訊息傳輸中途會有什麼突發狀況。因此,建立獨立的網路訊息

交換架構的優點是顯而易見的,例如,訊息接收者可以在任何時間變動而完全不 會影響到信息發送者,只要它能了解相同的訊息內容。接收的一方隨時可以進行 更新而不需要終止現有的應用程式。傳輸者甚至不需要任何的特殊的軟體來與接 收者溝通,只要他們維持在相同的訊息結構裡,接收的一方就能夠回應。

B. 開放式標準

一個架構的能否被廣泛的使用端賴於其架構所建構底層標準是否具有開放 性的原則,也就是是否具有彈性跟延伸性。XML 的資料格式是使網路服務能跨 越網域及不同異質平台架構的關鍵,網路服務需要 XML 的原因有三項:基本線 上傳輸格式(basic wire format)、服務描述(service description)、及服務搜尋(service discovery)。而這三個不同的需求也分別被 SOAP、UDDI 和 WSDL 這三個以 XML 為基礎的標準所滿足。

因此,建築在 XML 之上的 Web Services 將可以繼承 XML 跨平台的特性。

公開的開放式標準與其強大的功能與展望,吸引了許多大廠的目光。包括:

Microsoft、Sun、Borland 等等,也紛紛把其公司的產品加入對 Web Services 的支 援。Java、.Net、C++、Python、Perl、Delphi 等等,愈來愈多語言也漸漸支持 Web Services 的標準,一個跨語言、跨平台的 SOA 分散式的解決方案,蓬勃地 發展著。

相關文件