日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

web服務(2)

系統 2274 0

我發現寫日志可以幫助自己整理思路,有些技術在一段時間不用后,如果以日志的形式寫出來,對于鞏固記憶是十分有效的。比如這個Web服務系列,為了盡量避免錯誤,我會重新查閱資料,在這個過程中又能學到新的知識。不過,Web服務涉及的面太廣了,而且新技術出現那么快,即使全部時間都用來研究它也不可能面面俱到,就像一本很厚很厚的書,經常翻翻反而會有意想不到的收獲。

上一篇 帖子里已經說過Web服務是做什么用的了,在這一篇里要說說Web服務的結構,也就是Web服務的協議棧。協議是各角色間用來溝通的基礎,之所以稱為棧,是由于這些協議是一層層壘起來的,下面一層是上面一層的基礎。就像OSI的七層網絡協議的關系。

現在要向你介紹一些概念了,它們是:XML、SOAP、WSDL、UDDI和BPEL4WS。對于XML相信大家都不會陌生,它是可擴展標記語言(eXtensible Markup Language)的縮寫,是Web服務各種協議的基礎;SOAP是簡單對象訪問協議(Simple Object Access Protocal)的縮寫,它主要用于在服務提供者和使用者之間傳送各種請求和應答數據;WSDL代表Web服務定義語言(Web Services Description Language),服務提供者使用這種語言發布自己的Web服務,供潛在的服務使用者使用;UDDI的意思是統一描述發現和集成(Universal Description, Discovery and Integration),UDDI項目由UDDI社區維護,服務提供者可以將自己的服務注冊到UDDI服務器中,服務使用者可以在服務器中瀏覽和查詢所需服務;BPEL4WS的意思是用于Web服務的業務流程執行語言(Business Process Execution Language for Web Services),它可以將多個Web服務組裝成完整的業務流程,體現了Web服務的真正強大之處(組裝)。

只這么簡單一說,你可能對其中有些概念并不明白,不過沒有關系,在以后的帖子里會對每個概念展開來說明。還要說明一點,列出的這些概念是實際構造和使用Web服務時使用最為廣泛的技術,但Web服務并不一定必須使用這些,除XML外,其他技術都有替代品,只是并不那么流行而已。下面我們就來看看Web服務的協議棧是個什么樣子的吧,如圖所示。

web服務(2)

圖1 Web服務協議棧

最底層是服務傳輸層,在圖中可以看到Web服務可以使用多種(OSI應用層)網絡協議進行消息傳遞,HTTP是使用最為廣泛的,因為HTTP的請求應答模式十分符合RPC類型調用,SMTP主要用于異步方式的調用,例如訂閱信息等等。

服務消息層的協議定義了消息的格式,在這一層里幾乎全部是以SOAP為協議的,至少我還沒見過使用其他協議的例子。SOAP的基礎是XML,也就是說,SOAP消息一定都是XML格式的。

服務描述層的協議用于對如何使用這個Web服務進行描述,描述信息一般包括使用到的數據類型、消息格式、方法名稱和參數(在WSDL里的稱呼有所不同)等等。WSDL也是以XML為基礎的。

服務發布和發現層協議是供注冊中心這個角色使用的,UDDI是目前使用最廣泛的注冊中心,圖中其他幾種方式也有應用。

服務組裝層用于組裝Web服務成為新的服務,這些被組裝起來的服務一般體現了一定的業務流程。其好處是各服務間耦合很小,改變起來十分容易。在這一層里,目前有不少協議正在競爭,BPEL4WS可以說具有一定的優勢吧。

待開發的協議與我們比較小,暫時不說了。圖中右邊三個縱向協議貫穿整個Web服務生命周期,它們是服務管理、服務質量和服務安全。因為將來很多的Web服務是要收費才可以使用的,和錢掛鉤的東西就必須能夠管理、保證質量和安全才行。一直以來,它們都是Web服務研究的難點(因為涉及到太多方面的利益),目前在功能方面Web服務已經做好了準備,如果能夠攻破這些非功能性的難題,我想Web服務距離大規模應用就不遠了。

圖1是比較常見的一種協議棧圖,實際上由于Web服務的使用方式多種多樣,協議棧圖也未必相同。例如w3.org上的是 這樣 ,它把XML也技術表現在圖上,體現了其在Web服務中的基礎地位。

總結一下Web服務的關鍵技術:XML、SOAP、WSDL、UDDI和BPEL4WS。

如果覺得這一篇有點抽象,那很正常,因為出現了新的概念。另外,我自己對Web服務的理解也是來源與書本,項目經驗不足,缺少對這個行業的宏觀認識,所以在寫出來的時候都要斟酌一二,拿不準的盡量不寫。沒關系,下面幾篇講的是具體技術,可以醒醒了:)

web服務(2)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 湾仔区| 巫溪县| 丰城市| 肇源县| 吴旗县| 山阳县| 西和县| 托里县| 利辛县| 延寿县| 梁平县| 新营市| 开阳县| 麻栗坡县| 贺州市| 成武县| 大同市| 苍溪县| 廉江市| 马鞍山市| 建湖县| 噶尔县| 辽阳市| 墨脱县| 基隆市| 北宁市| 兴安县| 拉孜县| 张掖市| 卢龙县| 基隆市| 申扎县| 象州县| 汉中市| 射洪县| 通州市| 临城县| 涿州市| 获嘉县| 武义县| 锦屏县|