“什么是中間件呢?”100個人可能會有100個答案,就像名著《浮士德》,每個讀者心中都會有一個自己的浮士德形象。中間件就是這樣一個被泛化了的概念,外延的無限擴大正在使中間件一詞喪失基本的認同感。
在中國,2005年之后中間件概念的熱度突然降了下來,很少有廠商還在拿中間件一詞往自己臉上貼金,而是一窩蜂地開始熱炒SOA。
在這種現象背后,我們感到了中間件來自兩個方面的壓力,一是中間件形態的快速演變正在使傳統的概念喪失意義;另外就是新的技術潮流正在使中間件變得過時。
古代哲學家公孫龍的正名學說提倡“審其名實,慎其所謂”,正是要求對事物進行“不過”、“不曠”的指稱。中間件要找準定位可能首先要做的就是正其名,不過正所謂不破不立,首先要做的就是把舊概念打破。當然糾纏于名詞是毫無意義的,我們關心的其實是它背后的產業的演變。
IDC對中間件的表述是:中間件是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。
從這個定義中我們能看出中間件承擔的兩大任務,解決分布式通信和細化軟件分層。“中間件是兩種技術的融合,一種技術就是用來解決分布式計算的通信問題,一種是用來進行大規模系統開發。”IONA的首席技術官Annrai O'Tooles說。
正是這兩種能力賦予了中間件巨大的力量。“操作系統、數據庫都解決的是單點的應用,而在網絡時代,個體應用的價值是有限的,只有將所有的計算資源連接在一起,事情才會有意義,才會爆發出巨大的潛力。而連接網絡上的計算資源正是中間件的特長所在,所以未來中間件將會扮演越來越重要的角色。”東方通首席架構師朱律偉說。
另一方面,中間件的出現推動了軟件產業分工的進一步發展,使得應用系統的開發更加方便、快捷。金蝶中間件總經理蔡軍說,對于應用軟件開放商來說,中間件幫助他們屏蔽了底層的技術問題,使他們可以把更多的精力放在關注用戶業務上面,從而在客戶業務迅速變化,市場競爭不斷激烈的環境中保持核心競爭力。
“成也蕭何敗也蕭何”,解決分布式通信和細化軟件分層既造就了中間件,同時這兩個領域的演變也勢必摧毀傳統意義上的中間件。
“當前技術發展的大勢就是把互聯網和企業應用真正融為一體,但是在web環境下就不再簡單地是分布式的問題了。所以中間件的使命也可以說完成了,因此現在大家也不再叫中間件了。”中和威總經理王志偉說。他認為對于當前SOA時代,中間件就被ESB取代,而在未來還會繼續演變。
另外,軟件產業的快速發展使得分工越來越細,而中間件也開始分化,不僅上下擴展,應用領域也越來越廣。蔡軍認為當前軟件的效率不高,不容易控制就是和分工不夠細有關,軟件產業從誕生以來一直在不斷裂變,不斷專業化分工,中間件的出現向前邁了一大步,但是還不會停止,中間件還會繼續裂變。
僅是個技術術語嗎?
曾幾何時,中間件是個純粹的技術術語,但是現在重新審視市場上的中間件產品,你會發現其中的業務模塊在逐漸增多,同時越來越多的廠商開始致力于業務中間件的發展。而這正是軟件產業不斷細分的必然結果,它使得上層應用的開發更加方便快捷。
關于業務中間件,蔡軍認為隨著中間件產業的發展,可以把中間件劃分為兩種,靠近底層操作系統的系統中間件和其上的業務中間件,其中業務中間件是對復雜多變的業務需求進行抽象的產物。
中創軟件商用中間件公司總經理劉江寧認為,在上層,基于中間件的應用框架產品將得到極大豐富,例如面向金融的數據中心平臺、電信業務運行支撐平臺、電子政務信息交換平臺、電子商務供應鏈管理平臺等應用框架型領域中間件將不斷豐富完善。
業務中間件的構建和服務模塊的抽取有異曲同工之妙,SOA的根本是實現業務價值,因此從業務中提取出穩定的服務,實現靈活的組裝成為SOA的關鍵。蔡軍說:“SOA的關鍵是服務粒度的確定,既要保證靈活性又能實現穩定。”相信而業務中間件的發展也必將推動SOA的應用。
“中間件向應用方向延伸是大勢所趨,否則現在中間件承擔的功能相對比較少,很容易被擠壓。”蔡軍說,“中間件不斷向上拓展將削薄應用的空間,未來可能只需要實施人員和咨詢人員只需要簡單配置就能完成應用系統的開發。”
對于這個趨勢,Annrai O'Tooles也持有相同的觀點,他認為,中間件未來發展的重點會在易用性上,而這又分為兩個方面:易于開發和易于部署,后者會更加重要。“未來的應用是配置出來的,而不是開發出來的。”Annrai O'Tooles說。通過配置而不是復雜的二次開發來完成應用的部署是軟件發展的未來,這也對業務中間件提出了迫切的要求。
對于業界來說,向應用拓展,發展業務中間件已經開始慢慢興起。普元副總裁程朝暉告訴記者,普元也正在往上走,例如普元發現所有的應用系統都必須考慮組織機構的因素,于是就抽象出組織機構和權限管理的模塊,這樣應用系統在這方面就可以直接基于這個模塊來開發了。
而專注于BPM的炎黃盈動更是把自己定位于業務中間件廠商,炎黃盈動總經理劉金柱認為,BPM所處理的流程天生就是和業務密切相關的,BPM不過是把這些與流程相關的問題共性抽象了出來。
不過蔡軍也指出,相比于系統中間件,業務中間件的難度更大一些,這么多年整個業界在這方面進展也非常緩慢。因為從復雜、多變的業務中抽象出共同的東西,把握好個性化和產品化的矛盾,是一個非常巨大的挑戰。
“把握客戶需求的能力是一個挑戰,怎么做不難,難的是要做什么。”程朝暉說。
當然向應用滲透,發展業務中間件,并不意味著要中間件廠商要做最終的應用,對于中間件廠商來說還是要明確自己的定位,提供平臺,面向開發商和集成商的策略是不變的。“你必須明白中間件什么都做不了,這樣才有價值。”炎黃盈動總經理劉金柱說,他認為這需要中間件廠商把握好度,要有一個明確的、持久的產品戰略規劃和執行力。
向應用滲透使得業務中間件的行業化特點也日趨明顯,雖然不同的行業有很多共性的需求,但是必定會存在很多特殊性,因此有針對性的中間件解決方案對于行業用戶來說將會更加有吸引力。“業務中間件的難度在于對行業的理解,它的設計人員必須是行業專家。”東方易維董事長王昕告訴記者他們的業務中間件都會有很強的行業偏向。
IBM的中間件產品早已邁出了這一步,從2004年1月IBM軟件集團宣布戰略轉型開始,IBM軟件集團就已開始在全球發布行業中間件解決方案,已經有面向12個行業62個打包的解決方案已經全部出臺,這12個行業包括了金融、銀行、保險、零售、醫療衛生、生命科學、電信、電子、汽車、消費品、能源與公用事業和政府機構。
關于中間件的行業化發展特點,東方通首席架構師朱律偉提出了另外一種視角,他認為中間件廠商對行業的深入理解不僅有助于完善產品,同時提供的咨詢服務也會幫助自己通用的中間件產品在這個行業中推廣。“對業務的深入理解有助于我們和合作伙伴一起為最終的客戶提供優秀的解決方案,同時客戶并不關心你的中間件產品,你需要通過你對業務的了解來打動他。”朱律偉說,“就像一個優秀的吸塵器推銷員,他敲開你的門后,不會直接向你銷售他的產品,而是借口討水喝,然后和你聊天,在聊天中根據你的房間狀況來談地面的清潔問題,最后才會向你介紹他的吸塵器。”
另外業務中間件本身的特點決定了它對于開發平臺的需要。“我們的開發工具都不賺錢的,但是它使中間件的使用降低了成本,簡化了復雜的學習過程,這有助于中間件的推廣和整個生態鏈的監視。”蔡軍說,他認為對于業務中間件廠商來說,需要實現兩個方面的價值,客戶端穩定運行的價值,只是運行環境的工作,還有就是開發期快速穩定的價值,這就是開發工具的作用。越來越厚的中間件
傳統上,人們僅僅把諸如BEA Tuxedo、IBM MQ等用于交易處理、消息傳遞的軟件看成中間件。后來隨著互聯網的興盛,誕生了應用服務器的中間件,并迅速流行。時至今日,業界已經廣泛地認同了中間件從“薄”變“厚”的趨勢。
BEA公司中國區技術總監喻思成認為,今天人們所說的中間件本身涵蓋的范圍已經越來越大,原來純粹是交易、消息和J2EE的Web中間件,現在已經擴展到包括EAI、門戶、數據內容整合等更大的中間件范疇。這些層次的中間件分別提供不同的功能來支持應用的開發和部署。
另外各個領域的軟件的不斷成熟,中間件開始出現在不同的應用環境中,例如嵌入式中間件、呼叫中心中間件、RFID中間件等等。而在行業應用上,中間件也開始從電信、金融、政府行業滲透到各行各業中,交通、能源、醫療、零售、汽車等行業的中間件也開始興起。
伴隨著中間件應用范圍的增大,中間件也開始向平臺化方向發展。各個中間件廠商在發展過程中,逐漸拋棄了一個個中間件產品單打獨斗的方式,而是把所有的產品都集成在一個統一的平臺上,以一個整體的,并且各個模塊可以靈活拆卸的形式展現在用戶面前。同時平臺概念的誕生也進一步促使了中間件廠商向此領域內進行更大范圍的擴張,從而向用戶提供更加方便的、一站式的支持。
平臺化同時也是Annrai提出的中間件將不斷易于開發方面發展的必然結果,隨著模塊的不斷增多,用戶在應用開發過程中所需的編程工作也會越來越少,因為大多的功能都可以通過豐富的中間件模塊來完成。同時用戶又可以根據自己的需求靈活地選擇相應的模塊。相信在整個中間件產業不斷整合、優化的潮流下,平臺化將會走的更加深入,各個模塊將更加細分和豐富。
計世資訊200年時曾提出“平臺=中間件+業務組件”,認為“平臺”中包含中間件,并在中間件之上有一層和應用有關聯的“業務組件”,以進一步簡化應用系統的開發。“
針對這一趨勢,Gartner很早就提出了應用平臺套件(APS)的概念,APS是由足以全面支撐現代電子商務應用的基本的軟件架構產品組成,一般包括了企業應用服務器、門戶產品和企業應用集成包。并且表明闡明APS可以為一個組織在跨應用程序生命周期方面節省高達22%的產品上市時間,對代價不菲的開發人員和架構師的使用則可節省 50%。
IBM的WebSphere和BEA的Weblogic作為一個大而全的平臺,幾乎能夠解決企業面臨的所有底層問題。而SAP作為一個管理軟件廠商,更是花費數年心血不斷打造NetWeaver平臺,以及甲骨文針對此推出的Fusion計劃,平臺能力已經成為了廠商競爭的焦點。底線在哪里?
”如果說中間件只是操作系統和應用之間的那一層,那么RFID中間件和IPTV中間件又該怎么說?“清華同方CTO周洪波這樣問記者,他認為傳統的中間件只關注于企業信息系統的建設,而沒有考慮到更廣闊的天地,例如家庭娛樂、智能樓宇等。
因此周洪波認為中間件是在數據庫之上和應用之下的部分,實際上這正是中間件不斷上下拓展的結果,在一些領域中間件甚至直接和硬件相接。雖然按照 IDC關于中間件的表述,”中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。“但是就中間件和底層的系統軟件(包括操作系統、網絡管理系統、數據庫、內容管理系統等)之間的關系,一直是中間件發展過程中正不斷突破的界限。
”實際上很難定義操作系統和中間件的區別,很多時候做的都是同樣的事情,只不過抽象的層次不同。因此可以說中間件正在向操作系統不斷的施加壓力,以使其做的更好。現在看來需要和操作系統配合才能做的事情,最后可能完全會由中間件完成。我想他們最終會重合在一起的,不過可能需要一段時間罷了。“紐約大學的教授Doug Lea說。
中創軟件商用中間件公司總經理劉江寧也認為在底層,中間件產品將進一步融合操作系統、數據庫管理系統和其它資源管理平臺(如元數據管理、目錄管理、內容管理)的功能,形成一層厚實的基礎軟件。
虛擬化技術現在正在朝這一步邁進,2006年,IDC就預測在服務器上安裝預裝操作系統的企業將會下降,因為客戶都選擇在服務器上預裝虛擬化的系統管理程序來替代操作系統。Gartner更是預測Vista將是微軟最后一個”集成化“Windows操作系統,未來的Windows將進入”虛擬模塊化“時代。Gartner認為,虛擬化技術的發展使得微軟不得不將Windows過渡至以硬件支持為基礎的虛擬模塊化架構。