以上是我個人繪制的一張IT業界技術概覽圖,現在新技術太多,而且新技術細分的越來越厲害,尤其很多新技術都是A+B型,也就是既能解決A領域的問題,也涉及到解決B領域的問題,但都不是解決A或B最佳的技術方案,這就令人尷尬。但是仍然有一些技術,是專門解決A和B領域整合的技術,它們尤其需要受到關注。如此玲瑯滿目的技術,如果不把他們歸好類,明白他們是屬于什么領域,是否是值得自己關注的領域,他們是為了解決什么問題而產生的,他們是從哪些現有技術衍生而來的,如果不明白這些問題,我們面對技術就茫然、盲從,最終追逐潮流、一無所獲。
我沒有在嵌入設備層上寫什么,因為我對這一技術領域非常陌生,現在自動化控制、嵌入式開發在工業、家電、數碼、通信、交通、汽車等等許多領域頗為繁榮,是中國最需要的IT技術,我卻沒有從事,而且IT業界的媒體也很少深入報道這一塊。
我也對網絡游戲、娛樂產品領域非常陌生,而這恰恰是中國IT消費品非常賺錢的一塊。
我一直從事企業IT領域,關注的一直是企業在互聯網、在內部管理的應用,雖然企業在創新產品、加快生產、穩定生產上非常需要嵌入技術,但是這和純粹軟件技術仍然隔的比較遠。我個人觀點,未來面向企業服務的IT提供商,純粹的提供IT產品的廠商一定無法存活,他們必定在企業咨詢、企業IT建設、企業業務外包、企業上下游整合、企業生產流水線嵌入設備制造、企業產品設計、企業嵌入產品制造上面深度切入。我們現在已經看到許多公司,說是媒體不像媒體,說是IT不想IT,說是渠道不像渠道,說是電子商務公司不像電子商務公司,他們的目標是使面對的行業企業更有競爭力,而非辯解自己是一個什么公司,因為只有確實有用,企業才會買單,而現在,單純解決一個企業方面問題的IT提供商,是無法產生綜合競爭力的,也無法持續營業額增長。很多公司做行業企業,卻遠遠站在企業的另一邊,認為自己只是一個擅長編碼的軟件公司,顯然無法真實而有效的解決企業問題。這是我對2008年企業級市場風云變幻現狀總結后得出的一種對未來的判斷。
在這樣的判斷下,來尋找我需要什么技術,我需要關注哪些技術,我需要專注哪些技術,只有了解了客戶未來的變化,需要什么才能明晰。這是我的一貫分析思路。許多人只是看新技術一波又一波,卻不明白為什么這些技術會興起。其實技術的興起都是為了暗合企業未來的變化與挑戰。我沒有一上來就對2008年技術做評頭論足,就是希望告知大家,研究技術,一定要在一個大背景下去研究,不要純粹為了學習學會某個技術而去學技術。
好了,咱們接下來用這張概覽圖來一一總計一下2008年全年技術熱點。
在最底層,當然是硬件層面。我把硬件層面一向是看為四個層面:服務器硬件領域、個人電腦領域、移動設備或手持設備領域、嵌入式設備領域。每個層面的硬件能力不同,解決的問題不同,所以對于不同硬件層面的軟件系統也不一樣,所以我們看到JAVA和.NET,對應各個硬件層面都有相應的Framework。
前面我也說了,嵌入式設備層面我不了解,我就說說移動設備層面。2008年是移動計算設備領域的熱點年。首先,Andriod聯盟發布,源代碼開放,應用軟件開發大賽舉辦,并且第一款真正的Android真機發布。因為Andriod的發展戰略是開放聯盟型的,所以最近爆出不少關于這方面的新聞,中國移動要有自己的Android機型,聯想也開發了自己的Android機型,華為也同樣。如果把聯發科比作是山寨手機硬件標準,讓手機硬件制造成本速降,那么Android就是山寨手機軟件標準,這些是手機最大的成本所在,一旦這些都降了下來,大家想想聯發科給手機行業帶來的震動,就可想未來手機行業必然會發動一場新的革命。
顯然,大家都已經看到了這場革命。比Android更提前看到并且做到的就是iPhone。在iPhone之前,手機還是咱們平常意義的手機。但iPhone來了,手機實質上已經變成了一臺人手都可拿的一部筆記本電腦。雖然,大家表面上看到的iphone,可能是被它的外形工業設計所傾倒,但它實質給移動設備業界帶來的革命實在巨大,手機不僅僅是那個打電話發短信的東西了。
顯然,手機最大份額廠商Nokia也看到了這一個手機革命,Nokia迫不及待的宣布自己轉型成為互聯網提供商。通信轉型互聯網,華為制造Android手機也是這個想法。而最近另外一個大消息就是李一男擔任百度CTO,互聯網、通信的不斷互相侵入對方互相融合,是天下大勢。中國移動也從通信轉型互聯網,在郵箱、IM、個人空間這些最基礎的最有增值效應最有粘稠度的互聯網應用上面發力,而且打通手機通信和3G網絡,是很高的招??雌饋恚ㄐ判袠I上下游各個鏈條都在轉型互聯網,Nokia當然不甘落后。全額掌控Symbian,并且開源,是Nokia面對華為、聯發科、Android、iPhone、中國移動轉型格局必須要這么做的。
在個人電腦和服務器硬件領域,多核編程是2008年繼續發展的軟件技術。2006就多核CPU的發布,多核編程被大家關注,2007年業界廣為關注的Erlang,但仍然沒有普及,但發展非常迅猛。2008年,多核編程仍然在路上,包括微軟聲稱發布F語言,函數式編程、多核編程在2008年仍然暗潮迅猛,但仍未露出海面。因為中國目前的開發大多都在應用層面,應用多核優化,也一般都交給了操作系統來辦,所以多核編程再發展也只能是小眾群體。但是對于做中間件和服務器系統軟件的,不關注多核是不行的。做應用,還是做中間件或服務器系統軟件,主要也是看大家所處的目標客戶和技術實力。雖然說中間件或服務器系統軟件在中國大部分還都在國外廠商的控制之下,但我們的應用領域,如大型網站、大型網絡游戲都需要很堅實的中間件和服務器系統軟件,這是我們的機會。雖然我們現在對開源中間件和服務器系統軟件使用的多貢獻的少,但我已經欣喜的看到許多大型互聯網企業在開源這塊已經進步不少。但開源的盈利模式仍然模糊,給中間件和服務器系統軟件的開源項目發展帶來不少不確定,現在全世界的商業公司,如IBM、SUN等等都在燒錢深度參與與支持開源行業,如何平衡商業和免費開源之間的利益,仍然值得不斷探索,至少Red Hat活的仍然不好,可見模式仍然有問題。360安全衛士一舉打破安全領域這塊豐厚利潤市場,免費,但如何盈利,現今仍未看到。不過從共享軟件捆綁插件來看,免費的未必無法盈利,但這個盈利的方法值得商榷。
在操作系統層面,2008年的Linux在業界沒聽見大的聲響,可能一直專注Linux領域的人知道發生了更多的大事,但是對我這個經常關注業界新聞的人來說,沒有看到大聲響。windows Server2008雖然今年發布,算是操作系統界的一個大事,但我仍然沒有關注。微軟似乎已經陷入自己做的一個局里面了,微軟的三大當家花旦:Windows、SQLSERVER、OFFICE,大家都沒怎么升級,雖然2005、2008等等不斷推出,但人們主流還在停留在2003年之前的版本。更由于Vista的差強人意,讓大家對Windows7也沒什么可期盼的。XP在易用、安全、穩定方面達到了一個很好的均衡,影響了windows后續版本的銷售。微軟一直有個理念是不要太好,剛剛好。但顯然,微軟自己這次違背了自己的初衷。
在虛擬系統層面上,可是今年的熱點。我之所以把這一層面的技術都統稱為虛擬系統層面,是由于這些技術實現的是操作系統的功能,但又和咱們現在使用的操作系統不太一樣。他們就是云計算、虛擬化、虛擬機Framework。尤其以云計算和虛擬化為今年的熱點代表。
其實,這些技術都和過去用戶的需求是暗合的,簡化IT投資,簡化IT維護,安全隔離?,F在的PC與PC服務器計算能力越來越強,如何一機多用還能彼此隔離,如何讓更多的廉價PC服務器集群達到全球計算網絡,讓互聯網就是一個巨大的虛擬計算機成為現實,是用戶和IT廠商共同的心愿。如果把互聯網堪稱一個巨大的虛擬計算機,每個互聯網上的計算機都可以看作是這個虛擬計算機的一部分,這個巨大的虛擬計算機有無數個分散的CPU,無數個分散的硬盤和內存,那么如何把這些分散的硬件計算資源在軟件的層面上抽象成一個統一的,這些你的應用計算就可以使用無限強大的CPU和內存和硬盤存儲。那么這個統一的軟件層面就是云計算。
但是不同的云技術廠商,自己處的競爭位置不同,所以說的都是云技術,但都從自己利益出發,把客戶導向有利于自己的一方面。Google和Amazon和SalesForce來源于互聯網,當然希望大家把他們的計算資源當作云操作系統就可以了。但對于IBM、微軟、SUN公司,他們強于服務器操作系統和服務器硬件,他們希望給客戶提供一個云技術,讓客戶自己搭建自己的用。
到底是讓客戶自己搭建云,還是客戶直接把應用托付給Google這樣的大云,這和SaaS的考慮是一樣的。有人認為自己去搭建SaaS環境,有人認為沒有必要完全托管到專業的SaaS廠商就可以。這兩類都是現實的客戶需求,與其說服,不如都提供。所以現在國內的800app就在這么做。
操作系統層面說完了,就輪到數據層面了。今年數據庫領域最大的事件就是MySQL被收購。現在,數據庫領域,MySQL憑借LAMP異軍突起,在SQLSERVER/ORACLE/DB2這三大主流數據庫產品中又擠入了第四席,當然不得不讓人側目。而業界誰最需要數據庫產品?數據庫產品在操作系統之上,中間件之下。能擁有這兩類產品的廠商但又不擁有數據庫產品的廠商實在不多。隨著未來的競爭加劇,最令人擔心的收購就是Red Hat和JBOSS。大家可以看看各個巨無霸公司的產品線,從ERP、OFFICE、開發工具、軟件工程工具、中間件、數據庫、操作系統、硬件服務器來看,看看微軟、ORACLE、IBM、SUN、Sybase、Borland。為什么Oracle要吃掉BEA,不就是中間件是在數據庫之上,但又在ERP之下?從這里來看,大家就能明白Red Hat和JBOSS的命運了吧,花落誰家,各位自想。
說完數據庫,就到了中間件級別了,雖然說數據持久層嚴格意義來說就是中間件,但它還是相對靠近開發框架,不太屬于拿來配置就用的數據庫產品或中間件產品。但數據持久層作為相對獨立的一層,必然要單獨拿出來。Hibernate是發源于XML配置型的數據持久層,而ADO.NET走的是另外的思路,雖然中間還冒出一個LINQ,但又被合并進下一代ADO.NET框架中。我在行業信息化領域工作多年,非常關注數據持久化這一領域。我個人觀點是,未來數據持久化層面,必定是DSL腳本類型的語言配合框架。ADO.NET的思路是最先進的,但發展歷史有些彎彎繞,有不少包袱。而Hibernate在配置型上走的太遠,反而DSL腳本型一直轉型不佳。
大家可以想想,未來的企業管理軟件,客戶端UI是XML描述的(這就是腳本型了,不是二進制了),客戶端操作是JAVASCRIPT了,也是腳本了,中間數據處理層,也是DSL腳本了,雖然可以改,不需要編譯不需要開發工具,而數據庫層,也是SQL這樣的DSL語言了。做企業管理軟件開發的,一直夢想著靈活更改,只有所有的都是腳本型的,解釋型的,才有可能實現這個目標。所以我一直很關注PHP,這是目前最成熟的解釋型語言,應用啊、類庫啊、開源項目啊、技術文檔啊、技術社區啊,可以和JAVA、.NET這樣的主流語言相比。大家想想XML UI(FLEX和SilverLight都是這樣子的UI技術)+Javascript+DSL中間數據處理技術+PHP+數據持久層框架+SQL數據層技術,都是腳本型了,有問題,打開文件,改完保存就OK。根本不用安裝開發工具、第三方控件、調試跟蹤。有人說都是這樣的明腳本了,很容易被人盜去源代碼,這不就沒有競爭力了么?大家可能對企業市場還理解不夠,在企業市場,并不害怕盜版,因為企業市場看重的是提供商的品牌、成功案例、行業經驗、穩定、可持續服務。大家都知道,一個ERP,不同的人來實施,效果就可能不同,而現在IBM這類企業市場的巨無霸都在不斷探索開源,不斷轉型服務,人家標桿都這么做了,我們這些企業市場的小蝦米還不跟進未來趨勢?
在業務組件層面,過去的CORBA組件、EJB組件、COM+組件、.NET組件,現在為了這些組件之間互通,都需要包裝一個統一的殼,而且還可以跨互聯網訪問,那必然是一個統一的組件模型,還需要配合底層的WebService技術才能達到統一并且跨互聯網。那么這個統一的組件模型,就是SCA/SDO了。有統一的組件模型,就有了組件運行的容器環境,那自然就是ESB的發揚天地。組件之間的數據交互,統一為SDO數據格式,組件之間的交互消息事件觸發,由BPEL引擎驅動。這就是SOA的三大落實技術:SCA/SDO+ESB+BPEL。在企業級領域,這是最好的技術。不過,如果你的產品,根本沒有采用組件,也不用跨組件模型和互聯網訪問,那么SOA對你來說用處不大。有人說現在企業都還在上第一代軟件,有的企業在整體重新上第二代軟件,少部分企業在做老系統整合和上下游整合,所以有SOA需求的僅僅是這少部分企業。我也曾經這么認為,是因為我也片面的把SOA認為是整合技術。但我反復做了不少左右手互搏不斷自我否定之否定,覺得SOA產生一定是和我最開頭講的未來企業生存環境變化有關,而非和系統整合有關。系統整合,我過去也做過幾個,都是消息中間件+WebService構成,根本沒有使用SOA。而未來的企業生存環境,在中國內地包括全球,包括我們都在推崇DELL和PPG這樣的輕公司模式,包括我們現在都在做的OpenAPI和Mashups,還有現在的云計算服務如Amazon的S3服務,還有所說的中國讀過金融危機的出路不是技術產業升級,而是6+1的整合。從這樣的企業競爭環境變化來看,SOA是為了適應未來企業這種生存環境的,是業務需要SOA技術,而非系統整合。
面對未來企業競爭環境變革,簡化IT、敏捷IT、即時IT需求不斷呼聲,云計算、SaaS、OSGi技術也不斷涌現。這也是2008年非常熱點的技術。SaaS、OSGi等等都是為了簡化IT、敏捷IT、即時IT。
用SOA組件技術,用SaaS架構技術搭建好業務應用,就要讓用戶訪問了。要讓用戶訪問,就要提供接口。這就是2008年非常熱點的OpenAPI技術,在企業市場,大家熱衷采用WebServce和SOA,在消費市場和互聯網市場,大家更喜歡輕巧的Atmo app、REST、Mashups。尤其以Google為代表,Google開放了自己大量的服務API,讓大家在各自的應用中調用,我發現國內很多網站都在遵照GDATA的樣式構建自己的OpenAPI。
如果把云計算比作Windows操作系統,那么OpenAPI就相當于Windows API。如果沒有Windows API,那么就不能有更多的開發商參與進來構建更多的應用,如果沒有更多的應用,那么這個操作系統也就沒什么用了。所以OpenAPI非常重要。
有了云操作系統和API,還需要適合云操作系統這個巨大虛擬互聯網超級計算機的開發工具和開發語言。Google提出了AppEngine。蓋茨在退休后也提出來非常關注云計算的開發工具和開發語言。但現在發布的云計算開發工具和開發語言,都還不具備和云計算形神兼備的程度,還需要我們在2009年持續關注。
有了操作系統、數據庫、中間件,就到了客戶端層面?,F在客戶端都趨向于B/S結構,也就是瀏覽器應用。所以瀏覽器是必定跨步過去的一個重要環節,它是讓用戶進入這個鏈條的KEY。所以近幾年瀏覽器大戰不斷發生。外行看熱鬧,以為是為了更好的體驗,什么傲游、TT皆上。但實際上,瀏覽器的競爭,是為了整個產業鏈的戰略,而非僅僅這一個小小瀏覽器。IE8今年發布,Chrome采用多進程和沙箱,Firefox發布,更小更快更安全,讓今年成為瀏覽器的大混戰。在取悅用戶的表面之后,是整個產業鏈的競爭。在技術層面,我把這些瀏覽器都稱為應用的表現容器,所有表現端的技術都要在這些瀏覽器中執行。
微軟說,我們不擔心FLEX,我們不擔心Chrome,我們擔心的是Javascript。也許很多人不了解這句話,這和javascript有什么關系。但大家想想,為什么chrome一直關注javascript執行優化,為什么FLAX采用的是ActionScript類Javascript語言,為什么Google大量應用依靠AJAX技術,而AJAX技術的核心就是也是javascript。
那是因為,在瀏覽器這個沙箱里,JAVA和.NET和PHP等都不起作用了,他們都是服務器層的開發語言,瀏覽器這個客戶端,要想編程,目前只有javascript是共性。也就是說,javascript是客戶端編程的唯一語言。這也是為什么今年Script標準化如此難產的原因,每一個廠商都有自己的利益和未來生死存亡的考慮。2009年,這一層面的競爭會更加激烈。我的朋友周愛民,關注界面層和業務層脫離,關注多核,關注JAVASCRIPT,我很佩服他的眼光和落實能力,我還在思考,他已經做了,并且已經初步做了出來。
在最高處的變現UI層,現在有三大主流技術,FLEX、Silverlight、AJAX。諸如ExtJs之類的,我也把他們歸到AJAX之類中,因為他們的核心都是javascript配合xmlHttpRequest產生C/S般的特效。而FLEX和silverlight非常類似,都是XML UI描述,javascript操作UI,現在兩者都在UI控件表現、javascript類庫,開發工具,和主流語言整合上面不斷做文章??纯磗ilverlight最近的進展,在visual studio中增加了不少UI控件、也增強了很多javascript類庫,也給visual studio增加了更強的javascript跟蹤調試功能,而且和C#語言整合的更好。而FLEX呢,Adobe也不甘示弱,UI控件比微軟先行一步,javascript類庫也比silverlight要先行幾年,開發工具也是借助Eclipse直上青天無須從零開始,而主流開發語言,比微軟更開放,主流支持C#、PHP、JAVA。而且還提供了RemoteConnection、HttpService、WebService三種訪問方式,讓各種現在的現成應用,都可以通過合適的通信技術連接起來,用FLEX表現出來。
最近,葛優葛爺的新片《非誠勿擾》也上映了,讓我想起葛爺在賀歲片《甲方乙方》的最后一句臺詞“1997年過去了,我很懷念它”。
2008年發生了許多事,不管是雪災、、地震、奧運、飛船出艙、金融危機,還是令我永久記憶的SD2.0大會《走出軟件作坊》首發、講課、簽名售書、朋友聚會,愛民幫我介紹博文視點,都非常值得懷念。
對,2008年過去了,我很懷念它。
(本文大量內容引自《走出軟件作坊》中的章節《沙塵暴-令人焦慮的技術時代》)
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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