乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      擔(dān)心未來的 REST 怪物正在形成

       zhbing 2007-11-20

      擔(dān)心未來的 REST 怪物正在形成

      2007-08-28 06:00:50 | 評論 (0) | 被訪問(76)次

      勞虎
        蕭百齡 (筆名:勞虎)--曾擔(dān)任獨立技術(shù)咨詢顧問,并曾服務(wù)于專注于XML數(shù)據(jù)庫及XML相關(guān)領(lǐng)域的德商Software AG公司,擔(dān)任解決方案研發(fā)經(jīng)理。目前就職于SOA軟件的領(lǐng)導(dǎo)廠家- BEA Systems大中國區(qū),擔(dān)任首席SOA顧問(之前為 BEA 臺灣分公司技術(shù)總監(jiān))。 過去任務(wù)涉及Unix/Linux系統(tǒng)及網(wǎng)站管理、HTML、Perl、面向?qū)ο蠓治黾霸O(shè)計、Java、中間件(包括應(yīng)用服務(wù)器、Portal、應(yīng)用與數(shù) 據(jù)集成)、XML、Web services等不同的科技領(lǐng)域。在W3C推廣XML技術(shù)的初期,1999年著作《無廢話XML》。


      REST 的最大價值,在于它的簡約;只要遵循上回帖子中提到的幾個基本原則,便可直接充分利用 HTTP 和 Web 服務(wù)器先天具備的架構(gòu)優(yōu)勢,包括 GET 的請求會被 Web 服務(wù)器有效地緩存,和因不需要維系各別的會話狀態(tài),而達到非常高的伸縮性。Google 和 Amazon 等所提供的 Web services,是最好的明證。這是 REST 的擁護者津津樂道的論點。

      但如果照目前的氣氛繼續(xù)發(fā)展下去,過分炒作“REST 是比 SOAP 更適合于 SOA 的技術(shù)實現(xiàn)手段”、“SOA 未來的希望在 REST”這類危險的觀念(上回談的主題),其最終的結(jié)果,可能是既傷害了 REST,又對 SOA 沒好處的雙輸局面。

      此話怎講?

      目前一般認(rèn)定的(企業(yè)級) SOA 服務(wù),必須具備讓有興趣想調(diào)用該服務(wù)的消費者,自動發(fā)掘確切的服務(wù)端點、接口、和 XML 的 schema 結(jié)構(gòu)的能力。在經(jīng)常被引述、由Thomas Erl 所列的 SOA 八大原則中,便包括了 Discoverability 這條。此外,InfoQ 的 SOA 十大原?中的第三和第七個原則,也都與此相關(guān)(附帶一提,關(guān)于這個“十大原則”,我認(rèn)為它愈到后面,愈有畫蛇添足的感覺,尤其是最后三條)。

      不同于 SOAP,RESTful 形式的 Web services 是沒有信封機制,只有赤裸裸的 payload,而 payload 的內(nèi)容,往往是 POX (Plain-Old XML),當(dāng)然也有人使用 JavaScript 對象表述 JSON。僅單就 XML而言,如果光是一個 instance,是無法確定其確切的 schema 結(jié)構(gòu)到底是什么樣子的。RESTful 的 Web services 先天上既缺乏像 SOAP 那樣的一套信封 header 機制,可以用來注明相關(guān)的元數(shù)據(jù),如 XML schema,又不像 SOAP 還有一個WSDL 搭檔,來描述各種和服務(wù)相關(guān)的元數(shù)據(jù),因此無法滿足上述的 discoverability 原則(有些嘴硬的 REST 擁護者說可以通過 MIME type 來表述服務(wù)的元數(shù)據(jù),但此說實在過于牽強)。當(dāng)然,只要服務(wù)供應(yīng)者通過網(wǎng)站發(fā)布清楚的服務(wù) API 描述,通過事先的設(shè)置,RESTful 的 Web services 同樣可以圓滿達成任務(wù),這樣的例子在Web 2.0 的世界太多了,只是說,這樣的服務(wù),缺乏一套讓消費者自動探索的機制,藉此利用自動化的工具,方便服務(wù)的組裝和開發(fā)。

      不意外地,隨著 REST 的發(fā)燒,愈來愈多人探討 REST 是否也像 SOAP 一樣,需要描述語的問題(例如這里這里)。WADL 正是為滿足 discoverability 需求下的產(chǎn)物。Sun 更已經(jīng)把它納入新的 JAX-RS 的一部分(關(guān)于 WADL,這兒有 篇不錯的簡介)。有人批評 JAX-RS,指出它是想像 JAX-WS 之于 SOAP 那樣,把根源于 CORBA IDL 和 Java interface那套面向?qū)ο蟮木幊虣C制和架構(gòu),硬套到 REST 上。但如上次帖子里談到的,REST 的應(yīng)用設(shè)計理念和這樣的作法,將格格不入。換句話說,它將不當(dāng)?shù)毓膭铋_發(fā)人員把 REST 當(dāng)作“只不過是另一種 SOAP”來看待,而完全忽視 REST 的設(shè)計理念。REST 原始的精神和價值,將因而蕩然無存。

      除了 WADL 之外,如果 RESTful服務(wù)需要注明各種需要強制的服務(wù)戰(zhàn)略 (policy),像服務(wù)水平、安全(身分認(rèn)證、加密、簽名...),另外像可靠性、交易等屬性,是不是也需要有一個像 header 的地方,來放這些屬性?按照這個趨勢繼續(xù)發(fā)展下去,有什么可以阻擋支持 REST 的大廠們,把它變成另一個 SOAP的?

      還記得 SOAP 的誕生,最早可追溯到 Dave Winer 和 Don Box 等最早發(fā)展 XML-RPC 的那段歷史嗎(可參考 Wikipedia 的記載)? 自從 SOAP 的發(fā)展從 RPC 導(dǎo)向轉(zhuǎn)成文件導(dǎo)向,復(fù)雜度升高后,XML-RPC 的創(chuàng)始人 Dave Winer 因種種因素,遂轉(zhuǎn)而去發(fā)展 RSS。我還記得約九年、十年前,RSS 還在 1.0 版本時,一般認(rèn)定 RSS 的全名為 "Rich Site Summary" 或 "RDF Site Summary"。但自 Winer 氏積極參與 RSS 2.0 的制定后,開始將 "RSS" 用來代表 "Really Simple Syndication"。從他對 "RSS" 三個字母所代表的意涵詮釋上,便明確顯示出其對“簡約”的強調(diào)。

      隨著將 REST 用于企業(yè)級 SOA 應(yīng)用的聲浪,REST 看來將承受愈來愈重的包袱,WADL 規(guī)范的推出,只不過是冰山的一角。我們必須好好問問,讓 REST 重演當(dāng)初從 XML-RPC 一路到 SOAP 1.2 的復(fù)雜化歷史,是否具備充分的正面意義?

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多