我很希望B/S快點退出歷史舞臺!
建設一個client and server多對多的互聯(lián)網(wǎng)環(huán)境。并且client的部署和B/S一樣方便,甚至你可以沒有client的概念,而只有獲得服務的概念。
放眼過去,.net戰(zhàn)略最為接近。
我不明白為什么很多認為基于瀏覽器等的所謂Web OS會大放光彩。
顯然由OS延伸來構(gòu)造一個互聯(lián)網(wǎng)應用平臺合理的多。
傳統(tǒng)we作為運行平臺有先天的不足!
就從傳統(tǒng)web說起,一個html瀏覽器(client)<---->html提供者(web服務器)。也就是它也只是傳統(tǒng)C/S架構(gòu)一
種,只是它基于標準而帶來了普及性,使得html瀏覽器(client)逐步演變?yōu)橐粋€基礎(chǔ)設施(平臺)。很多應用在往這個架構(gòu)上移,于是基于這個架構(gòu)的
被稱為B/S的架構(gòu)出現(xiàn)了。然而很遺憾,它原先并不是作為互聯(lián)網(wǎng)應用平臺角度而設計的,于是就有了以下的感慨:
縱觀web的歷程,就是在一個不適合交互的基礎(chǔ)架構(gòu)上搭建交互。
扭曲的發(fā)展!
強扭的瓜的感覺。
所以我們要的是一個更為通用的互聯(lián)網(wǎng)應用平臺,它應該吸取B/S的URL的想法,但是他指向的是實際的程序,并被下載到本地運行。但這個過程某種程度上被透明,所以對用戶來說他完全可以沒有client的概念!當然他首先應該有這樣一個互聯(lián)網(wǎng)應用平臺。
其實這就是讓用戶直接可以面向服務,面向服務是個好概念,所以它并不局限于人于機器之間。軟件不同的組件之間或不同應用之間(可分布在不同物理設備上)可以面向服務的概念集成在一起------即SOA.其中已多對多,松耦合為特點。
實際上通過一個執(zhí)行環(huán)境(運行時)去統(tǒng)一所有的計算設備已經(jīng)被認為是不可行的,曾經(jīng)的很多分布式架構(gòu)以及java都試圖這樣做,java希望世界所有的計算設備上都運行著java,并都通過java來交流。很遺憾,java沒有做到。
所以SOA來了,就目前來說 web 服務 被認為是實現(xiàn)SOA的良好架構(gòu),而 web
服務的核心是什么,不管怎么說我覺得XML必是其一,而XML又是基于公共標準的。這里的關(guān)鍵為了實現(xiàn)應用之間的互聯(lián)互通,我們無需要兩個應用都構(gòu)架于同
一個執(zhí)行環(huán)境(運行時),因為我們僅將我們將要在線上交換的信息達成一致。
這就帶來了松耦合,及強大的靈活性。在SOA下信息孤島確實可以被很好的解決。
所以有人說SOA之于企業(yè)應用,就如同TCP/IP之于互聯(lián)網(wǎng)。
其實html有今天的普及,也是因為它是一個基于文本的公共標準的消息格式不依賴于執(zhí)行環(huán)境,但是它的設計目標性太強不具有通用性的要求。因為它一開始就是為一個具體的應用架構(gòu)而設計的。然而后面對于它的要求不斷拓寬,甚至希望它能變
成一個運行平臺于是xxxscript開始了,但是這時實際上已經(jīng)存在了執(zhí)行環(huán)境的依賴了,因為不同xxxscript有不同的執(zhí)行環(huán)境
所以這時就有這個網(wǎng)頁怎么在這個瀏覽器上不能打開的這樣的說法了。而反過來雖然有了xxxscript但是還是受到B/S架構(gòu)的很多
限制(B/S的頁面模型)。所以與其不倫不類還不如將與人打交道的最終客戶端直接置身于本地的執(zhí)行環(huán)境中,并且這個執(zhí)行環(huán)境要具備“使得client的部
署和 B/S一樣方便,甚至你可以沒有client的概念,而只有獲得服務的概念。”
如果對這個執(zhí)行環(huán)境美其名曰一下:那么就叫它RIA平臺吧!
顯然這個東西沒有一個公共的標準,所以幾路人馬現(xiàn)在是各自而戰(zhàn),來打造這一平臺,并且進行部署。
如Flex那一路,在部署的時候搞的是:悄悄的進行,打搶的不要。因為是目前主流瀏覽器都裝有flash player,等于無形中它的RIA平臺已經(jīng)部署好了。
而MS顯然是大張旗鼓:我是老大我怕誰。一句話,因為對MS來說vista就是RIA平臺。當然細分一下應該是其上的.net平臺來支撐RIA。因為MS原有在桌面OS的壟斷地位,使得它將.net融于vista以大兵團作戰(zhàn),成敗在此一舉!
不管怎么說,vista比起其他幾路人馬,確實是最完整,最強大的RIA平臺。
b/s增強前臺交互能力的方向意味著什么,意味著在要有更強的描述行為邏輯的語言(程序設計語言)寫的東西在本地執(zhí)行,那么這些描述行為邏輯的語言是不是有好多,。。。。。。???!!!!
其二,有很多應用僅憑Http(請求---響應)這種交互方式不夠,比如有些是要請求----回調(diào),還有一些是觀察者模型的交互等
等.比如報價系統(tǒng)就是屬于這種觀察者模型的,客戶端發(fā)送某個報價信息的請求,那么以后這個報價一有變化服務器端就要立刻通知客戶端(這里TGP連接要一直
保持著).
其三,是UI,采用HTML描述的UI過于不足,很多應用需要構(gòu)建豐富的UI.
如果B/S架構(gòu)做到了以上說的,那么還是B嗎???平臺無關(guān)性又如何保證???
其實對于這個問題應該這么說: b/s向基礎(chǔ)平臺發(fā)展是一個扭曲的發(fā)展,
因為它是一個應用架構(gòu).
而由OS延伸則更為合理.
當然如果某個應用符合B/S架構(gòu),那么b/s當然是不錯的選擇.只是它向基礎(chǔ)平臺發(fā)展是一個扭曲的發(fā)展.(再次強調(diào)!)
或者這個話題可以這么說:
希望b/s向基礎(chǔ)平臺發(fā)展可以快點結(jié)束了!
我們來看一個問題。
定義一個描述信息(內(nèi)容)的語言的標準(HTML,XML...),和定義一個一統(tǒng)的程序語言(java ,c,c++,c#,.................)的標準哪一個容易。
事實告述我們應該是前者。也就是說Application背后的運行環(huán)境注定是多樣性的。
那么web為什么能跨平臺呢?因為它們共享的是前者,一個HTML標準,HTML不是Application。然而扭曲就從這里開始,HTML不斷擴展在向Application演進,隨之跨平臺特性不斷削弱。
那么這樣一個演化說明了什么呢?說明我們需要Application,且它要像web一樣易部署。我們可以稱使得這樣的Application得以運行的平臺為互聯(lián)網(wǎng)應用平臺。
但Application終究有很多不同的平臺,互聯(lián)網(wǎng)應用平臺也不例外。但我們想想web演化的最后是不是還是難逃Application平臺的多樣性呢!(而且它走的路扭曲的多)
所以問題關(guān)鍵回到了誰將最有可能成為互聯(lián)網(wǎng)應用平臺的老大,目前來看實力最強還是vista.
其實個人感覺vista一大使命就是要將傳統(tǒng)OS延伸成一個互聯(lián)網(wǎng)應用平臺,很多人似乎忽略了MS的這個野心。
Tim Berners-Lee的說Web是一個"信息空間"。很精辟!
但我們更需要互聯(lián)網(wǎng)是一個"服務空間",技術(shù)一點的話叫"Application空間",只是這些Application要以服務的方式提供出去.所以人性化的講法叫"服務空間".
當然提供信息也是服務,所以前者是后者的一個子集!