淺析深究什麼是中間件

淺析深究什麼是中間件

作者: 奉繼承  發佈時間: 2013-12-23 23:27  閱讀: 39416 次  推薦: 44   [收藏]  

  本文發佈於2009年10月30日

  1. 由來

  因爲工作的原因,我從金蝶集團調入金蝶中間件公司工作以來,經常遇到一個問題就是中間件公司是個什麼公司,中間件是什麼?,金蝶不是做ERP的嗎?怎麼也做中間件?。這是我以前在金蝶集團時無法想象的問題。因爲金蝶,金蝶ERP的品牌以及大衆對ERP的瞭解,是無需我解析什麼是ERP,什麼是財務軟件一類的問題的。

  畢竟,中間件在實際的應用過程中,是對應用軟件起到支撐作用,最終用戶並不直接使用中間件,中間件不是大衆消費類軟件產品。因此,除非是一個行業專業人士,一般不大可能與中間件打交道,不太瞭解什麼是中間件。

  因此,在系統軟件之中,操作系統、數據庫、中間件的三駕馬車,中間件是最神祕的。因爲,好歹大家通過Windows基本上會了解操作系統是個什麼東西,儘管不會很全面,很專業,畢竟是有感覺的。數據庫,雖然沒有直接見過,但基本上明白數據是要一個倉庫來儲存的,因此,也大致知道數據庫管理系統是幹什麼的。

  長期以來,中間件是一個專業化非常強的細分產業。因爲中間件的技術門檻比較高,玩家也不多,無論是國外還是國內都是如此。因此,行業內對什麼是中間件並不特別在意。而公司名稱直接叫中間件的就更少了,金蝶中間件應該是國內外直接在公司名稱中冠以中間件字眼最早,也是很少的公司之一。另一方面,因爲中間件軟件還處於發展階段,還沒有完全成熟,因此對中間件的定義也就沒有深究,或者權威的說法。

  但現在情況有點變化,其中一個原因在於2008年底,國家啓動了核高基重大科技專項,在基礎軟件領域明確提出重點支持操作系統、數據庫、中間件、文字處理等基礎軟件產業的自主創新,幾乎一夜之間大大小小的軟件公司都宣稱是做中間件的了,只要不是做最終應用軟件的,他們的產品都叫中間件了,一時間,中間件變得蓬勃發展起來了。

  作爲中間件行業內的專業化和領先企業來說,大家都重視起中間件來了,這是好事,說明社會上重視了。對行業的發展和繁榮固然重要,但這也隱含了重大的風險。中間件名字被濫用,無論是對用戶,對這個產業,對政府和投資人來說,都會有負面的影響。魚目混珠,泥沙俱下的局面,對中間件產業的正常發展未必就是好事情了,也可能對真正的中間件自主創新帶來許多困擾,模糊了中間件的本質,可能會弱化中間件核心技術的創新和發展。

  因此,在這種情況下,無論是對行業內,還是行業外,突然什麼是中間件的問題變成了一個大問題了。

  本文試圖就中間件的來龍去脈,外延內涵和前世今生,來一個全面的闡釋。一家之言,權作業界參考,希望帶動大家做一些深入的思考。

  2. 中間件的起源

  2.1 中間件發展的歷史

  事情從1946年說起,世界上第一臺電子計算機埃尼阿克誕生,人類進入信息時代。1955年,約翰巴克斯發明了最早的程序語言Fortran,現代意義上的軟件就誕生了。

  1964年,IBM發佈OS/360操作系統,軟件與硬件分離,同時,軟件成爲一個獨立的產業正式登上產業界的舞臺。中間件就是軟件產業不斷髮展過程中自然產生的。

  90年代,文頓·瑟夫這位互聯網之父的發明成爲改變IT業的重大革命性創新。互聯網促使分佈式系統和網絡應用的誕生,中間件就是伴隨網絡技術的產生、發展而興起的,可以說沒有網絡就沒有現代意義上的中間件。因爲,網絡環境需要解決異構分佈網絡環境下軟件系統的通信、互操作、協同、事務、安全等共性問題,提高異構分佈網絡環境下軟件系統的互操作性、可移植性、適應性、可靠性等問題。

  1968年IBM發佈CICS交易事務控制系統,使得應用軟件與系統服務分離,這是中間件技術萌芽的標誌,因爲CICS還不是分佈式環境的產物,因此我們往往還不將CICS作爲正式的中間件系統。

  一般來說,我們將1990年誕生於ATT公司的BELL實驗室的Tuxedo系統(後來被NOVELL從ATT公司隨着UNIX系統一起買走,後來又賣給了BEA公司,現在歸於ORACLE公司旗下了)作爲中間件的誕生標誌。Tuxedo解決了分佈式交易事務控制問題,中間件開始成爲網絡應用的基礎設施,中間件正式成型,這是最早的交易中間件。

  1994年IBM發佈消息隊列服務MQ系列產品,解決分佈式系統異步、可靠、傳輸的通訊服務問題,消息中間件誕生。

  1995年,JAVA之父James Gosling發明JAVA語言,JAVA提供了跨平臺的通用的網絡應用服務,成爲今天中間件的核心技術。JAVA是第一個天生的網絡應用平臺,特別是J2EE發佈以來,JAVA從一個編程語言,演變爲網絡應用架構,成爲應用服務平臺的事實標準。應用服務器中間件,成爲中間件技術的集大成者,也成爲事實上的中間件的核心。

  2001年,微軟發佈.NET,中間件演變爲.NET和JAVA兩大技術陣營。但由於.NET還不是一個完全開放的技術體系,只有一個玩家,因此,雖然.NET也是一種中間件,但由於IBM/ORACLE/SUN/SAP等巨頭都無一例外成了JAVA陣營的支持者,因此,我們習慣上提到中間件時,往往不包括.NET中間件體系。

  以上談的是歷史,但透過歷史事實背後,爲什麼會出現中間件,這其中的本質因素是什麼?

  2.2 中間件發展的驅動力

  中間件出現的驅動力主要來自軟件研發過程碰到的種種問題。從軟件出現最早是用於科學計算,然後是計算機輔助設計、輔助製造等等工業應用。在企業管理領域大規模應用後,業務需求不斷的變化、系統不斷增加、流程更復雜、系統越來越不堪重負,出現了需求交付方面的重大挑戰,以至於人們用軟件危機來描述軟件工業所面臨的困境。

  總結起來,軟件工業面臨的主要問題是四個方面:質量問題、效率問題、互操作問題、靈活應變問題。這些問題今天依然困擾着這個行業。

  造成這個局面的原因是異構性和標準規範的滯後。

  • 屏蔽異構性

  異構性表現在計算機的軟硬件之間的異構性,包括硬件(CPU和指令集、硬件結構、驅動程序等),操作系統(不同操作系統的API和開發環境)、數據庫(不同的存儲和訪問格式)等等。長期以來,高級語言依賴於特定的編譯器和操作系統API來編程,而他們是不兼容的,因此軟件必須依賴於開發和運行的環境。

  造成異構的原因源自市場競爭、技術升級以及保護投資等因素。希望屏蔽異構平臺的差異性問題是促成中間件發展的驅動力之一。

  • 實現互操作

  因爲異構性,產生的結果是軟件依賴於計算環境,使得各種不同軟件之間在不同平臺之間不能移植,或者移植非常困難。而且,因爲網絡協議和通信機制的不同,這些系統之間還不能有效地相互集成。

  造成互操作性不好的原因,主要是標準的滯後。解決軟件之間的互操作性問題也是促成中間件發展的驅動力之一。

  • 共性凝練和複用

  軟件應用領域越來越多,相同領域的應用系統之間許多基礎功能和結構是有相似性的,每次開發系統都從零開始絕對不是一種好的方法,也是對質量和效率的很大的傷害。

  儘可能多地凝練共性並複用以提高軟件開發效率和質量,通過中間件通過提供簡單、一致、集成的開發和運行環境,簡化分佈式系統的設計、編程和管理,這也是中間件發展的重要驅動力。

  在長期的探索過程中,解決軟件的四個問題的辦法總結起來兩個方面:工程方法、平臺與技術。

  工程方法就是用工業工程、系統工程的理論、方法和體系來解決軟件研發過程中的管理問題,包括團隊管理、項目管理、質量控制等等,這就是軟件工程。除了軟件工程方法之外,我們發明了更多的架構規劃、設計和實施的方法,不斷累積領域的知識與經驗等等。

  更好的技術手段,包括更好的程序設計語言、更好的平臺和軟件開發技術,如面向對象、組件開發、面向服務等等。而這方面,在技術上逐漸發展的成果大部分都凝聚在今天的中間件平臺之中。

  而這些更好的技術手段,從本質上是通過複用、鬆耦合、互操作(標準)等機制來提高軟件質量、加快軟件研發效率、使研發出來的產品能夠相互集成並靈活適應變化。
這些因素逐漸促成了中間件軟件的形成和發展。

  3. 中間件的概念

  講了這麼多,究竟什麼是中間件,也就是中間件的定義是什麼?

  針對這個問題,應該說還沒有一個標準的定義,或者說還沒有完全取得學術界和產業界的共識。

  顧名思義,中間件就是處於中間的軟件。但這種不是從功能,或者特性來定義的概念,而是用位置來定義的名字,就容易被不同的人從不同角度賦予其不同的含義。

  IDC曾經給中間件下的定義是中間件是一種獨立的系統軟件或服務程序,分佈式應用軟件藉助這種軟件在不同的技術之間共享資源,中間件位於客戶機服務器的操作系統之上,管理計算資源和網絡通信。

  我國學術界一般認可的定義是中間件是指網絡環境下處於操作系統、數據庫等系統軟件和應用軟件之間的一種起連接作用的分佈式軟件,主要解決異構網絡環境下分佈式應用軟件的互連與互操作問題,提供標準接口、協議,屏蔽實現細節,提高應用系統易移植性(北京大學梅宏)。

  中科院軟件所研究員仲萃豪形象地把中間件定義爲平臺+通信。這個定義限定了只有用於分佈式系統中的此類軟件才能被稱爲中間件,同時此定義還可以把中間件與支撐軟件和實用軟件區分開來。

  中間件處於操作系統軟件與用戶的應用軟件的中間。中間件在操作系統、網絡和數據庫之上,應用軟件的下層,總的作用是爲處於自己上層的應用軟件提供運行與開發的環境,幫助用戶靈活、高效地開發和集成複雜的應用軟件。形象地說就是上下之間的中間。

  此外,中間件主要爲網絡分佈式計算環境提供通信服務、交換服務、語義互操作服務等系統之間的協同集成服務,解決系統之間的互連互通問題。形象地說就是所謂左右之間的中間。

  要深入理解什麼是中間件,形式化的定義固然重要,我們還得從概念本身去深入理解其核心特徵纔是最重要的。要理解一個概念,從內涵和外延兩個方面去描述是哲學上非常重要的一套方法體系。

  3.1 中間件的特徵(內涵)

  總結分析,中間件有幾個非常重要的特徵是必須具備的:

  • 平臺化

  所謂平臺就是能夠獨立運行並自主存在,爲其所支撐的上層系統和應用提供運行所依賴的環境。顯然,不是所有的系統或者應用都可以稱之爲平臺的。中間件是一個平臺,因此中間件是必須獨立存在,是運行時刻的系統軟件,它爲上層的網絡應用系統提供一個運行環境,並通過標準的接口和API來隔離其支撐的系統,實現其獨立性,也就是平臺性。

  因此,目前許多的開發語言、組件庫和各種報表設計之類的軟件,很難滿足平臺性,將這類軟件叫中間件,是很不合適的。例如,JAVA是一種語言,這種語言的開發工具和開發框架,如Eclipse、JBuilder、Struts,Hibernate等等就不能稱爲中間件,充其量叫中間件開發工具,而不能叫中間件本身,就如同各種建築工程設備和機械,如吊臂、攪拌機等不能叫建築,而只能成爲建築工具一樣。而J2EE應用服務器提供JAVA應用的運行環境,就是經典的中間件。

  • 應用支撐

  中間件的最終目的是解決上層應用系統的問題,而且也是軟件技術發展到今天對應用軟件提供最完善徹底的解決方案。

  高級程序設計語言的發明,使得軟件開發變成一個獨立的科學和技術體系,而操作系統平臺的出現,使得應用軟件通過標準的API接口,實現了軟件與硬件的分離。

  現代面向服務的中間件在軟件的模型、結構、互操作以及開發方法等四個方面提供了更強的應用支撐能力:

  模型:構件模型彈性粒度化,即通過抽象層度更高的構件模型,實現具備更高結構獨立性、內容自包含性和業務完整性的可複用構件,即服務。並且在細粒度服務基礎上,提供了更粗粒度的服務封裝方式,即業務層面的封裝,形成業務組件,就可以實現從組件模型到業務模型的全生命週期企業建模的能力。

  結構:結構鬆散化,即,將完整分離服務描述和服務功能實現以及服務的使用者和提供者,從而避免分佈式應用系統構建和集成時常見的技術、組織、時間等不良約束。

  互操作:交互過程標準化,即,將與互操作相關的內容進行標準化定義,如服務封裝、描述、發佈、發現、調用等契約,通信協議以及數據交換格式等等。最終實現訪問互操作、連接互操作和語義互操作。

  開發集成方法:應用系統的構建方式由代碼編寫轉爲主要通過服務間的快捷組合及編排,完成更爲複雜的業務邏輯的按需提供和改善,從而大大簡化和加速應用系統的搭建及重構過程。

  而要最終解決軟件的質量問題、效率問題、互操作問題、靈活應變問題這四大問題,需要在軟件技術的內在結構(Structure)、架構(Architecture)層面進行思考。

  解決這些問題,技術的本質是複用、鬆耦合、互操作(標準)等軟件技術的內在機制。這也是中間件技術和產品的本質特徵。

  • 軟件複用

  軟件複用,即軟件的重用,也叫再用,是指同一事物不作修改或稍加改動就多次重複使用。從軟件複用技術的發展來看,就是不斷提升抽象級別,擴大複用範圍。最早的複用技術是子程序,人們發明子程序,就可以在不同系統之間進行復用了。但是,子程序是最原始的複用,因爲這種複用範圍是一個可執行程序內複用,靜態開發期複用,如果子程序修改,意味着所有調用這個子程序的程序必須重新編譯、測試和發佈。

  複用對象複用範圍

複用對象 複用範圍
子程序 一個可執行程序內複用,靜態開發期 複用
組件(DLL,Com等) 系統內複用,動態運行期複用
企業對象組件(Com+,.NET,EJB等) 企業網絡內複用,不同系統之間複用
服務 (如WebService,SCA/SDO) 不同企業之間,全球複用,動態可配置

  爲了解決這個問題,發明了組件(或者叫控件),如MS操作系統下的DLL組件。組件將複用提升了一個層次,因爲組件可以在一個系統內複用(同一種操作系統),而且是動態、運行期複用。這樣組件可以單獨發展,組件與組件調用者之間的耦合度降低。

  爲解決分佈式網絡計算之間的組件複用,人們發明了企業對象組件,如(COM+, .NET, EJB等),或者叫分佈式組件。通過遠程對象代理,來實現企業網絡內複用,不同系統之間複用。

  傳統中間件的核心是組件對象的管理。但分佈式組件也是嚴重依賴其受控環境,由於構件實現和運行支撐技術之間存在着較大的異構性,不同技術設計和實現的構件之間無法直接組裝式複用。

  而現代中間件的發展重要趨勢就是以服務爲核心,如WebService, SCA/SDO等。通過服務,或者服務組件來實現更高層次的複用、解耦和互操作,即SOA架構中間件。

  因爲服務是通過標準封裝,服務組件之間的組裝、編排和重組,來實現服務的複用。而且這種複用,可以在不同企業之間,全球複用,達到複用的最高級別,並且是動態可配置的複用。

  • 耦合關係

  基於SOA架構的中間件,在鬆耦合解耦過程也發展到了最後的境界。傳統軟件將軟件之中核心三部分——網絡連接、數據轉換、業務邏輯全部耦合在一個整體之中,形成鐵板一塊的軟件,牽一髮而動全身,軟件就難以適應變化。分佈式對象技術將“連接邏輯”進行分離,消息中間件將“連接邏輯”進行異步處理,增加了更大的靈活性。消息代理和一些分佈式對象中間件將數據轉換也進行了分離。而SOA架構,通過服務的封裝,實現了業務邏輯與網絡連接、數據轉換等進行完全的解耦。

軟件技術的不斷解耦的過程

  • 互操作性

  傳統軟件互操作技術也存在問題。互聯網前所未有的開放性意味着各節點可採用不同的中間件技術,對技術細節進行了私有化的約束,構件模型和架構沒有統一標準,從而導致中間件平臺自身在構件描述、發佈、發現、調用、互操作協議及數據傳輸等方面呈現出巨大的異構性。各種不良技術約束的結果是軟件系統跨互聯網進行交互變得困難重重,最終導致了跨企業/部門的業務集成和重組難以靈活快速的進行。

  在軟件的互操作方面,傳統中間件只是實現了訪問互操作,即通過標準化的API實現了同類系統之間的調用互操作,而連接互操作還是依賴於特定的訪問協議,如JAVA使用RMI,CORBA使用IIOP等。而SOA通過標準的、支持Internet、與操作系統無關的SOAP協議實現了連接互操作。而且,服務的封裝是採用XML協議,具有自解析和自定義的特性,這樣,基於SOA的中間件還可以實現語義互操作。

基於服務的中間件

  總之,服務化體現的是中間件在完整業務複用、靈活業務組織方面的發展趨勢,其核心目標是提升IT基礎設施的業務敏捷性。因此,中間件將成爲SOA的主要實現平臺。

  3.2 中間件的分類(外延)

  中間件所包括的範圍十分廣泛,針對不同的應用需求涌現出多種各具特色的中間件產品。從功能性外延來看,中間件包括交易中間件、消息中間件、集成中間件等各種功能性的中間件技術和產品。

  現在,中間件已經成爲網絡應用系統開發、集成、部署、運行和管理必不可少的工具。由於中間件技術涉及網絡應用的各個層面,涵蓋從基礎通訊、數據訪問到應用集成等衆多的環節,因此,中間件技術呈現出多樣化的發展特點。

  根據中間件在軟件支撐和架構的定位來看,基本上可以分爲三大類產品:應用服務類中間件、應用集成類中間件、業務架構類中間件。

  • 應用服務類中間件

  爲應用系統提供一個綜合的計算環境和支撐平臺,包括對象請求代理(ORB)中間件、事務監控交易中間件、JAVA應用服務器中間件等。

  隨着對象技術與分佈式計算技術的發展,兩者相互結合形成了分佈對象計算,並發展爲當今軟件技術的主流方向。1990年底,對象管理組織OMG首次推出對象管理結構OMA(Object Management Architecture),對象請求代理(Object Request Broker)是這個模型的核心組件。它的作用在於提供一個通信框架,透明地在異構的分佈計算環境中傳遞對象請求。CORBA規範包括了ORB的所有標準接口,是對象請求代理的典型代表。

  隨着分佈計算技術的發展,分佈應用系統對大規模的事務處理提出了需求,比如商業活動中大量的關鍵事務處理。事務處理監控界於Client和Server之間,進行事務管理與協調、負載平衡、失敗恢復等,以提高系統的整體性能。它可以被看作是事務處理應用程序的操作系統。這類被稱爲交易中間件,適用於聯機交易處理系統,主要功能是管理分佈於不同計算機上的數據的一致性,保障系統處理能力的效率與均衡負載。交易中間件所遵循的主要標準是X/open DTP模型,典型的產品是Tuxedo。

  JAVA從2.0企業版之後,不僅僅是一種編程語言,而且演變爲一個完整的計算環境和企業架構。爲JAVA應用提供組件容器,用來構造Internet應用和其它分佈式構件應用,是企業實施電子商務的基礎設施,這種應用服務器中間件發展到爲企業應用提供數據訪問、部署、遠程對象調用、消息通信、安全服務、監控服務、集羣服務等強化應用支撐的服務。使得JAVA應用服務器成爲了事實上的應用服務器工業標準。由於它的開放性,使得交易中間件和對象請求代理逐漸融合到應用服務器之中。典型的應用服務器產品包括IBM Websphere Application Server、Oracle Weblogic Application Server和金蝶Apusic Application Server等。

  • 應用集成類中間件

  應用集成類中間件是提供各種不同網絡應用系統之間的消息通信、服務集成和數據集成的功能,包括常見的消息中間件、企業集成EAI、企業服務總線以及相配套的適配器等。

  消息中間件指的是利用高效可靠的消息傳遞機制進行平臺無關的數據交流,並基於數據通信來進行分佈式系統的集成。通過提供消息傳遞和消息排隊模型,它可在分佈環境下擴展進程間的通信,並支持多通訊協議、語言、應用程序、硬件和軟件平臺,實現應用系統之間的可靠異步消息通信,能夠保障數據在複雜的網絡中高效、穩定、安全、可靠的傳輸,並確保傳輸的數據不錯、不重、不漏、不丟。目前流行的消息中間件產品有IBM的MQSeries、 BEA的MessageQ、金蝶Apusic MQ等。

  企業應用整合,僅指企業內部不同應用系統之間的互連,以期通過應用整合實現數據在多個系統之間的同步和共享。這種類似集線器的架構模式是在基於消息的基礎上,引入了前置機-服務器的概念,使用一種集線器/插頭(hub-and-spoke)的架構,將消息路由信息的管理和維護從前置機遷移到了服務器上,巧妙的把集成邏輯和業務邏輯分離開來,大大增加了系統彈性。由於前置機和服務器之間不再直接通信,每個前置機只通過消息和服務器之間通信,將複雜的網狀結構變成了簡單的星型結構。典型的企業應用集成EAI的產品包括Tibico和Informatica等公司產品。

  隨着SOA思想和技術的逐漸成熟,EAI發展到透過業務服務的概念來提供IT的各項基本應用功能,讓這些服務可以自由地被排列組合、融會貫通,以便在未來能隨時彈性配合新的需求而調整。Web Services是SOA的一種具體實現方式,SOA的世界是由服務提供者(Service Provider)、服務請求者(Service Requester) 以及服務代理者(Service Broker)所組成,目標是將所有具備價值的IT資源,不論是舊的或新的,通通都能夠透過Web Services的包裝,成爲隨取即用的IT資產,並可將各種服務快速彙整,開發出組合式應用,達到整合即開發的目的。SOA的架構只是實現和解決了服務模塊間調用的互操作問題,爲了更好的服務於企業應用,引入了企業服務總線的應用架構(Enterprise Service Bus,ESB)。這一構架是基於消息通信、智能路由、數據轉換等技術實現的。ESB提供了一個基於標準的鬆散應用耦合模式,這就是企業服務總線中間件,是一種綜合的企業集成中間件。典型的ESB產品包括IBM Websphere ESB、Oracle公司的Weblogic ESB以及金蝶Apusic ESB等。

  • 業務架構類中間件

  作爲共性的凝練,中間件不僅要從底層的技術入手,將共性技術的特徵抽象進中間層,還要更多地把目光投向到業務層面上來,根據業務的需要,驅動自身能力的不斷演進,即,不斷出現的新的業務需要驅動了應用模式和信息系統能力的不斷演進,進而要求中間件不斷地凝練更多的業務共性,提供針對性支撐機制。近年來,這一需求趨勢愈發明顯,越來越多的業務和應用模式被不斷地抽象進入中間件的層次,如業務流程流、業務模型、業務規則、交互應用等等,其結果是中間件凝練的共性功能越來越多,中間件的業務化和領域化的趨勢非常明顯。

  業務架構類中間件包括業務流程、業務管理和業務交互等幾個業務領域的中間件。

  業務流程是處理業務模型的非常重要方法。管理流程與各職能部門和業務單元有密切關係,須藉各部門間的緊密協調,以達到企業運營和管理功能的目標。在業務流程支持方面,從早期的WfMC定義的工作流,到基於服務的業務流程規範BPEL,由業務流程的支撐,逐漸形成了完整的業務流程架構模型,包括流程建模、流程引擎、流程執行、流程監控和流程分析等。有名的業務流程中間件包括基於工作流的IBM Lotus Workflow,基於BPEL的IBM Webshpere Process Server以及同時支持工作流和BPEL的金蝶Apusic BPM等。

  業務管理就是對業務對象的建模和業務規則的定義、運行和監控的中間件平臺。策略管理員和開發人員將業務邏輯捕獲爲業務規則。使用規則管理器可以將規則輕鬆地嵌入 Web、現有應用程序和後臺辦公應用程序。常見的業務管理中間件包括IBM Websphere ILOG 業務規則管理系統,金蝶BOS等。

  業務交互的中間件平臺提供組織的合作伙伴、員工和客戶通過WEB和移動設備等交互工具,實現基於角色、上下文、操作、位置、偏好和團隊協作需求的個性化的用戶體驗。這種門戶服務器軟件基於標準Portlet組合的應用程序訪問框架,實現用戶集成和交互集成,構建靈活、基於 SOA 的應用架構。典型的門戶中間件有IBM Websphere Portal Server和金蝶Apusic Portal Server等。

  4. 中間件的未來

  中間件是互聯網時代的IT基礎設施,提供業務的靈活性,消除信息孤島,提高IT的研發和運營效率。作爲網絡計算的核心基礎設施,中間件正在呈現出服務化、自治化、業務化、一體化等諸多新的發展趨勢,中間件進入2.0時代,將極大提升互聯網統一計算平臺的敏、睿、融、和能力。

  • 中間件將變寬變厚

  以互聯網爲核心的多網融合產生了豐富多樣的新型網絡應用模式,作爲主流的應用運行支撐環境,中間件無處不在,越來越多的應用模式被抽象到中間件層,中間件將變寬變厚。

  • 中間件將面向服務、易於集成

  隨着SOA技術逐漸成爲主流,以及異構系統的集成問題日益嚴峻,中間件將向面向服務、易於集成的方向發展。

  • 中間件將向一體化的方向發展

  中間件產品的種類日趨多樣(如交易中間件、消息中間件、應用服務器、集成中間件、業務中間件等),但其技術架構將向一體化的方向發展,主要包括:

  統一內核,易於演化:各大廠商的中間件產品將構建在統一內核之上,使其易於平臺演化。

  統一編程模型,易於開發:不同中間件產品提供了不同的編程模型,這些編程模型將趨向統一,從而達到易於開發的目的。

  統一管理模型,易於系統維護:不同中間件產品提供了不同的管理工具與管理手段,這些管理工具與手段將趨向統一,使其易於管理,降低運維成本。

  • 中間件產品將支持雲計算,易於交付

  中間件產品將成爲雲計算的支撐平臺,使應用易於交付。

  • 後端平臺深度融合

  一個大膽的設想是:未來五年,瀏覽器將統一前端,而後端平臺(中間件、操作系統、 數據庫)走向深度融合。(對中間件的未來發展趨勢的詳細介紹參加另文《中間件技術的發展趨勢分析》,在此不做詳細論述。)

  綜上所述,我們可以認爲中間件是一種獨立的系統軟件平臺,爲網絡應用軟件提供綜合的服務和完整的計算環境,藉助這種軟件使得網絡應用能夠實現集成,達到業務的協同,實現業務的靈活性。

  (本文由金蝶中間件有限公司總經理 奉繼承 博士 撰寫)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章