目前全球信息基礎(chǔ)設(shè)施的特點是,擁有大量的數(shù)據(jù)交換格式。這一點也不奇怪?;ヂ?lián)網(wǎng)幾乎已經(jīng)老了,而“物聯(lián)網(wǎng)”及“大數(shù)據(jù)”正從概念走進(jìn)現(xiàn)實。但我仍然相信,在這一領(lǐng)域還有一股較強(qiáng)的歷史趨勢,推動JSON數(shù)據(jù)格式的應(yīng)用。
十年前,XML是主要的數(shù)據(jù)交換格式。它的出現(xiàn),尤如一股清新的空氣,以及令人驚喜的SGML(標(biāo)準(zhǔn)通用標(biāo)記語言),是一個巨大的進(jìn)步。它使人們能夠做到以前想都不敢想的事情,比如通過HTTP連接交換微軟Office文檔,你的周圍布滿XML文檔,你很容易忽略這把“互聯(lián)網(wǎng)瑞士軍刀”的重要性。
這已經(jīng)不是什么秘密了,但在過去的幾年里,在數(shù)據(jù)交換的世界,一個大膽的改造已經(jīng)開始。更輕巧,更省帶寬的,密集型的JSON(JavaScript對象標(biāo)記),已不僅僅成為XML的另外一套可選技術(shù),而是可能成為一個潛在的完全成熟的接班人?,F(xiàn)在各種各樣的力量匯聚在一起,讓XML的使用越來越少,并視JSON作為未來的全球數(shù)字架構(gòu)的首選格式。我認(rèn)為,唯一的問題是這個時刻何時到來。
我堅信,這種轉(zhuǎn)變可以歸因于四大趨勢,我將依次討論:
1. APIs
不管你喜歡與否,今天的網(wǎng)絡(luò)環(huán)境在很多重要方面仍然嚴(yán)重孤立。有大量你將永遠(yuǎn)接觸不到的信息在那里(如身份驗證信息,應(yīng)該被加密)。但像eBay這樣的公司開始走向開放,API已經(jīng)作為一種通用的力量。
這里有一些例子,像Twitter, Facebook和LinkedIn和其他無數(shù)的機(jī)構(gòu) a)基于信息服務(wù)來交換數(shù)據(jù) (b 對開放各種各樣的信息給第三方越來越有興趣。大量的數(shù)據(jù)永遠(yuǎn)看不到出頭之日(因為他們是孤立的) ?,F(xiàn)在我只想說,這些API是一股不可忽視的力量,并改變著這個空間,在網(wǎng)絡(luò)上留下他們的標(biāo)記?!?
這里很多原始數(shù)據(jù)仍然使用XML而不是JSON,像可編程Web和其他數(shù)據(jù)表明,XML仍然是API的主要數(shù)據(jù)格式,但是“大JSON”正在快速上升。 Twitter的API大約兩年前開始就只支持JSON了。Foursquare也跟進(jìn)了。
Scott Gilbertson大致同意我的判斷: “當(dāng)涉及到數(shù)據(jù)API服務(wù)時, XML仍然是最常用的格式,但JSON是的增長更快。盡管還有很多XML格式的API,但最近的API ,越來越傾向于使用JSON格式。這樣的例子還有很多…… 企業(yè)正在迅速從XML遷移到JSON”。 Scott一年多前就發(fā)表了他的觀點,但沒有什么跡象表明他的觀點有任何變化。
簡而言之:APIs已經(jīng)不再是一個很酷的事情或Web的附屬物,用Gilbertson的話來說,是“互聯(lián)網(wǎng)上的一等公民”。最重要的是,REST正在替代SOAP作為數(shù)據(jù)傳輸協(xié)議。XML跟REST不太兼容,當(dāng)然,如果SOAP使用率急劇下降,那么XML的使用量將與它一起萎縮?! ?
2. 大數(shù)據(jù)
JSON的崛起在數(shù)據(jù)庫方面也扮演著關(guān)鍵角色,這是另一個對XML不好的預(yù)兆。其實大數(shù)據(jù)本身并沒有首選的數(shù)據(jù)交換格式。不過,對于大數(shù)據(jù)來說JSON可能更特殊一點。JSON是一種新興的以網(wǎng)絡(luò)為中心,所謂的“NoSQL”數(shù)據(jù)庫的首選格式。這是因為:a)JSON適應(yīng)大規(guī)模可擴(kuò)展性的數(shù)據(jù)庫; b)天生就是為了無關(guān)系數(shù)據(jù)而設(shè)計的; c))面向Web是他們的核心;
這是有很多知名的例子,像MongoDB,CouchDB,和Riak。這三種數(shù)據(jù)庫都基于JSON,橫向可擴(kuò)展,由Web驅(qū)動。
其他的例子比比皆是:亞馬遜DynamoDB的架構(gòu)是完全基于REST/JSON的。 Neo4j,圖形數(shù)據(jù)庫,有一個REST/JSON API,沒有對應(yīng)XML的支持。 HBase的的REST架構(gòu)目前支持XML,但這種支持正走在被廢棄的路上。
一段時間以來,通過各種手段查詢MySQL,并得到JSON的返回結(jié)果,這一直是可能的。(有很多方法可以做到這一點,但MySQL 4.1中的JSON格式的命令無疑是最方便的)。這同樣適用于Postgres的和其他柱狀數(shù)據(jù)庫。但除了MySQL和Postgres,還沒有其他數(shù)據(jù)庫將JSON作為基石。
Postgres將很快發(fā)生變化。在9.2版本中, Postgres將支持JSON數(shù)據(jù)類型,這將“允許存儲基于文檔的數(shù)據(jù)庫,可存儲JSON文檔,或?qū)?shù)組和行數(shù)據(jù)轉(zhuǎn)換成JSON ”。盡管Postgres支持XML數(shù)據(jù)類型有一段時間了,這種變化令我對JSON的重要性日益增加,增加了一個微妙的確認(rèn)。
還有一些數(shù)據(jù)庫是基于XML的(如MarkLogic),但是還沒有任何類似迅速采用基于JSON存儲之類的動靜。
3. 物聯(lián)網(wǎng)
在這一領(lǐng)域的運動比我所提到的其他領(lǐng)域?qū)じy以辨別。物聯(lián)網(wǎng)仍然是一個概念,但這是特別強(qiáng)大的一個。它還未實現(xiàn),還未被證明可行,以及首選的數(shù)據(jù)格式?;ヂ?lián)網(wǎng)基本上是一大堆電腦連接一直的小事。
但值得一提的是,JSON開始已經(jīng)在這一領(lǐng)域建立立足點。有人使用JSON在Arduino上建了一個庫。在“物聯(lián)網(wǎng)架構(gòu)設(shè)計”(第102頁)一書中,有人認(rèn)為:“JSON可以更好地適應(yīng)[比XML]智能設(shè)備上的功能。此外,它可以被解析成JavaScript對象。這使得它成為集成到網(wǎng)頁中的理想人選?!澳憧梢曰贘SON構(gòu)造LED壓力表。你的下一個溫控器可能也會基于JSON運行。
我們還沒有到那個時侯,幾乎感覺不到的JSON關(guān)聯(lián)著你周圍的一切。誰知道呢?
4. 全棧(全端)JavaScript
除了上面提到的三股力量,還有一個更值得地提到:JavaScript是一種辣味十足且有可能不會很快改變的技術(shù)。node.js已經(jīng)逐漸成為主流,圍繞它周圍的狂熱社區(qū)在快速地產(chǎn)生,新的客戶端JavaScript庫每一天都在增加,JavaScript已經(jīng)在網(wǎng)絡(luò)上廣泛使用,在web開發(fā)世界,參與這個不斷增長的分支的人們,應(yīng)該更喜歡JSON,這僅僅是輕描淡寫的一筆。
當(dāng)然,也有基于node的XML解析器,但它主要是處理遺留的基于XML的服務(wù)。事實是,如果你正在從上往下做全棧式的JavaScript,使用JSON之外的東西是愚蠢的。因為全棧的JavaScript已經(jīng)成為主流。
這樣或那樣,前途光明的JSON
如果上述與JSON本身無關(guān),這將是很另人吃驚的。許多人認(rèn)為,JSON更好,因為它不像XML那么“詳細(xì)”,并且比起純二進(jìn)制更容易被人們理解。
這些因素都對JSON有一定的幫助,但我們的開發(fā)人員Matthew Lyon有一個更為令人信服的理由。他認(rèn)為JSON的崛起,是因為JSON只處理了非常有限的數(shù)據(jù)類型。它本質(zhì)上限制為null, Booleans, numerics, strings, arrays,和 dictionaries。它甚至沒有一個日期數(shù)據(jù)類型。JSON就是這樣,不僅沒有一般XML的冗長:它僅是在使用本身的數(shù)據(jù)類型。它本身的原始數(shù)據(jù)類型的更簡潔,使JSON更深刻,并可以立即與之互操作。
總的來說,我的說法并不是真的如此大膽,因為似乎已經(jīng)顯而易見了。它主要由兩部分組成:(1)為了全球的數(shù)字基礎(chǔ)設(shè)施,需要有無孔不入的數(shù)據(jù)交換格式,像針線一樣將一切融合在一起,建立高清晰度的節(jié)點;(2)有充分理由認(rèn)為,JSON總有一天會在我們的數(shù)字世界中建立霸主地位。我們應(yīng)該期望適應(yīng)這一變化,并相應(yīng)地調(diào)整。
原文 linkedin.com
哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費用,即可穩(wěn)步提升排名至首頁。歡迎體驗最佳的哈爾濱網(wǎng)站建設(shè)。
