XML、WebService和WSAD實現
1. 動機
答:1) 今天,萬維網的主要用途是交互式的訪問文檔和應用程序;
2) 大多數時候,這些訪問是通過瀏覽器、音頻播放器或其它交互式的前-後端系統;
3) W3C: “假如萬維網支持應用程序間的交互,Web在能力及應用範圍上能得到引人注目的增長”
2. 技術基礎
答:Web services = XML + HTTP
. XML:通用數據描述語言;
. HTTP:被瀏覽器和Web servers廣泛支持地一種傳輸協議;
3. 什麼是Web Service?
答:1) Web service最近成爲IT業一個被過度傳播的術語;
2) Web service是自我包含、自我描述、模塊化的程序,它能發佈、定位以及通過Web調用;
3) 一個Web service的例子是提供股價或處理信用卡交易。一旦一個web service被佈署,其它應用程序即可發現和調用這個服務。
4) 還有什麼產業能使用web service?
4. web service理念
答:Web service基於這樣的理念:構建應用程序的時候通過發現以及調用網絡上現在的應用去實現某現功能;
5. 自我包含
答:1) 在客戶端,無須附加的軟件;
2) 只須XML和HTTP協議客戶端支持即可開始;
3) 在服務器端,僅需要一個Web服務器和servlet引擎;
4) 對於Web service使一個既存的系統重新可用而無須寫一行代碼是可行的;
6. 自我描述
答:1) 無論是客戶端還是服務器端除了格式和請求內容以及響應信息外無須關注任何事情;
2) 信息格式定義通過消息傳輸;
3) 無額外的無素貯藏庫或代碼產生工具需要;
7. Web services是模塊化的
答:1) Web services標準框架提供了一個組件模型;
2) Web services是一種技術,用於部署和提供Web上的商業功能訪問;
3) J2EE、CORBA和其它標準是實現這些Web services的技術;
8. 發佈、定位以及通過Web調用
答:所需的一些額外的標準:
. SOAP:Simple Object Access Protocol、也可理解爲 service-oriented architecture protocol,基於RPC和通訊協議的XML。
. WSDL:Web Service Description Language, 一個描述性的接口和協議綁定語言。
. UDDI:Universal Description, Discovery,and Integration,一種註冊機制,用於查找Web service描述。
9. 語言無關和互操作性
答:1) 客戶端和服務器端能在不同環境下被實現;
2) 既存的環境爲了實現Web service無須進行改動;
3) 但是在現在,我們假設Java是Web service客戶端和服務器端的實現語言;
10. 基於開放的標準
答:1) XML和HTTP是Web services的技術基礎;
2) 很大部分Web service技術使用開源項目構建;
3) 因此,供應商無關以及互操作性是這時的現實目標。
11. Web services是動態的
答:通過使用Web Services,動態電子商務變得很現實。因爲,使用UDDI和WSDL,Web service描述和發現可以自動進行。
12. Web services是組合的
答:簡單的Web services能組合成更復雜的Web services,無論是使用工作流技術或是調用更底層的Web services。
13. 基於成熟技術構建
答:1) XML + HTML
2) 和其它分佈式計算框架相比,有很多相同點也有很多基礎性的不同。例如,傳輸協議基於文本而非二進制。
14. 因此...新的機會到來了
答:1) 在這個時刻,Web service受到大量關注,產生了許多工作機會;
2) 你應該理解並迅速掌握這項技術便能把握住這些機會。
15. Web Service角色
答:1) service provider創建web service併發布它的接口和訪問信息到服務登記處;
2) service broker(也稱爲service registry)有責任使Web service接口和實現訪問信息對任何潛在的service requestor可用;
3) service requestor爲了使用Web service,使用各種查找操作在broker登記處定義入口以及綁定到service provider。
16. Web services架構體系
答:1) Web services通過service provider部署到Web上;
2) Web service提供的功能使用WSDL描述;
3) service broker幫助service provider和service requestor能互相找到對方;
4) service requestor使用UDDI API從service broker處尋找它所需要的服務;
5) 當service broker返回查找的結果,service requestor可使用這些結果綁定到一個特定服務;
6) Web service描述由service provider創建和發佈;
7) Web service由service broker組織和查找;
8) Web service由service requester定位和調用;
17. Web services組件
答:前面顯示了Web service中用到的三種主要的組件:
1) Service provider: 提供服務並使這些服務可用;
2) Service broker: 爲service provider和service requestor配對;
3) Service requester: 使用service broker查找Web service,然後調用這些服務去創建應用程序;
18. Service provider子角色
答:1) WSDL規範由二部分組成:服務接口和服務實現;
2) 服務接口提供者和服務實現者是service provider的子角色;
3) 二個角色可以,但非必須被同一個事務承擔;
19. Web service操作
答:1) 發佈/取消發佈
. 發佈服務至登記處;
. 移除這些登記的條款
service provider聯繫service broker發佈/取消服務
2) 查找操作由service requestor和service broker共同完成: service requestor描述他們查找的服務種類; service broker遞交最匹配的請求結果。
3) 綁定發生在service requestor和service provider間,他們會協議好以便requestor能訪問和調用service provider提供的服務。
20. WSDL——Web服務描述語言
答:1) WSDL是以XML爲基礎的接口定義語言,它提供了一種分類和描述Web service的方式;
2) WSDL定義了:
. Web service的接口,包括:
a. 操作方式(單向、通知、請求-響應);
b. 定義了Web service的消息;
c. 數據類型(XML schema);
. Web service訪問協議(SOAP over HTTP);
. Web service聯繫的終點(Web service URL);
. 符合要求的服務端應用程序必須支持這些接口,客戶端用戶能從這份文檔中得知如何訪問一個服務。
21. UDDI——統一查找、描述以及綜合
答:1) UDDI提供了一種找到可用Web service的方式;
2) UDDI提供了一個全球的、平臺無關的、開放式框架,使得商業應用能:
. 相互查找;
. 定義它們通過Web交互的方式;
. 在一個全球註冊場所共享信息;
3) 在Web上存在三種開放的UDDI註冊場所, 由IBM、Microsoft和HP發起;
4) 註冊是免費的,在任一註冊處註冊的內容被其它註冊處所複製;
5) 在UDDI商業註冊處提供的信息由三部分組成:
. “白皮書”:包括地址、聯繫以及標識符;
. “黃皮書”:包括基於標準分類學的各產業分類;
. “綠皮書”:所提供的service的技術信息;
6) Web service provider和requester使用SOAP API和UDDI註冊處交流;
22. SOAP——簡單對象訪問協議(Simple Object Access Protocol)
答:1) SOAP是一個網絡中立的、輕量級的協議,用於交換兩個遠端應用程序的信息;
2) SOAP是一個基於XML的協議,由三部分組成:
. 一個定義了一個框架的封套(envelope),這個框架描述了信息的內容以及如何去處理它。
. 一系列的編碼規則,用於表現系統定義的數據類型實例;
. 一個協定,用於表現遠端處理調用和響應