中間件
(Middleware)
定義:
中間件是一種獨立的系統軟體或服務程式,分布式應用軟體借助這種軟體在不同的技術之間共享資源。中間件位于客戶機/ 伺服器的作業系統之上,管理計算資源和網絡通訊。是連接配接兩個獨立應用程式或獨立系統的軟體。相連接配接的系統,即使它們具有不同的接口,但通過中間件互相之間仍能交換資訊。執行中間件的一個關鍵途徑是資訊傳遞。通過中間件,應用程式可以工作于多平台或 OS 環境。
Middleware
is computer software that connects software components and applications. The software consists of a set of enabling services that allow multiple processes running on one or more machines to interact across a network. This technology evolved to provide for interoperability in support of the move to coherent distributed architectures, which are used most often to support and simplify complex, distributed applications. It includes web servers, transaction monitors, and messaging-and-queueing software.
中間件是一種計算機軟體連接配接了軟體部件或者應用程式。 這種軟體有一組服務構成,這些服務包括允許多程序運作在一個或者多個機器上以達到在網絡中互互相動的目的。
中間件特點:
滿足大量應用的需要 ;
運作于多種硬體和OS平台 ;
支援分布式計算,提供跨網絡、硬體和OS平台的透明性的應用或服務的互動功能 ;
支援标準的協定 ;
支援标準的接口。
中間件可以應用于以下情形,如連接配接公司 LAN和早期系統、交換兩個郵件系統間的資訊、支援 web 客戶機與資料庫伺服器交換資訊等。通用中間件類型包括:
·企業服務總線(ESB : Enterprise Service Bus):ESB 是一種開放的、基于标準的分布式同步或異步資訊傳遞中間件。通過 XML、Web 服務接口以及标準化基于規則的路由選擇文檔等支援,ESB 為企業應用程式提供安全互用性。
·事務處理(TP:Transaction Processing)監控器:為發生在對象間的事務處理提供監控功能,以確定操作成功實作。
·分布式計算環境(DCE:Distributed Computing Environment):指建立運作在不同平台上的分布式應用程式所需的一組技術服務。
·遠端過程調用(RPC:Remote Procedure Call):指客戶機向伺服器發送關于運作某程式的請求時所需的标準。
·對象請求代理(ORB:Object Request Broker):為使用者提供與其他分布式網絡環境中對象通信的接口。
·資料庫通路中間件(Database Access Middleware):支援使用者通路各種作業系統或應用程式中的資料庫。SQL 是該類中間件的其中一種。
·資訊傳遞(Message Passing):電子郵件系統是該類中間件的其中一種。
·基于 XML 的中間件(XML-Based Middleware):XML 允許開發人員為實作在 Internet 中交換結構化資訊而建立文檔。
最早具有中間件技術思想及功能的軟體是IBM的CICS,但由于CICS不是分布式環境的産物,是以人們一般把Tuxedo作為第一個嚴格意義上的中間件産品。Tuxedo是1984年在當時屬于AT&&T的貝爾實驗室開發完成的,但由于分布式處理當時并沒有在商業應用上獲得像今天一樣的成功,Tuxedo在很長一段時期裡隻是實驗室産品,後來被Novell收購,在經過Novell并不成功的商業推廣之後,1995年被現在的BEA公司收購。盡管中間件的概念很早就已經産生,但中間件技術的廣泛運用卻是在最近10年之中。BEA公司1995年成立後收購Tuxedo才成為一個真正的中間件廠商,IBM的中間件MQSeries也是90年代的産品,其它許多中間件産品也都是最近幾年才成熟起來。國内在中間件領域的起步階段正是整個世界範圍内中間件的初創時期。東方通科技早在1992年就開始中間件的研究與開發,1993年推出第一個産品TongLINK/Q。而中科院軟體所、國防科技大學等研究機構也對中間件技術進行了同步研究。可以說,在中間件領域,國内的起步時間并不比國外晚多少。
中間件應具有如下的一些特點
滿足大量應用的需要運作于多種硬體和OS平台支援分布計算,提供跨網絡、硬體和OS平台的透明性的應用或服務的互動支援标準的協定支援标準的接口。
由于标準接口對于可移植性和标準協定對于互操作性的重要性,中間件已成為許多标準化工作的主要部分。對于應用軟體開發,中間件遠比作業系統和網絡服務更為重要,中間件提供的程式接口定義了一個相對穩定的高層應用環境,不管底層的計算機硬體和系統軟體怎樣更新換代,隻要将中間件更新更新,并保持中間件對外的接口定義不變,應用軟體幾乎不需任何修改,進而保護了企業在應用軟體開發和維護中的重大投資。
主要中間件的分類
中間件所包括的範圍十分廣泛,針對不同的應用需求湧現出多種各具特色的中間件産品。但至今中間件還沒有一個比較精确的定義,是以,在不同的角度或不同的層次上,對中間件的分類也會有所不同。由于中間件需要屏蔽分布環境中異構的作業系統和網絡協定,它必須能夠提供分布環境下的通訊服務,我們将這種通訊服務稱之為平台。基于目的和實作機制的不同,我們将平台分為以下主要幾類:
遠端過程調用(Remote Procedure Call)面向消息的中間件(Message-Oriented Middleware)對象請求代理(Object Request Brokers)
它們可向上提供不同形式的通訊服務,包括同步、排隊、訂閱釋出、廣播等等,在這些基本的通訊平台之上,可構築各種架構,為應用程式提供不同領域内的服務,如事務處理監控器、分布資料通路、對象事務管理器OTM 等。平台為上層應用屏蔽了異構平台的差異,而其上的架構又定義了相應領域内的應用的系統結構、标準的服務元件等,使用者隻需告訴架構所關心的事件,然後提供處理這些事件的代碼。當事件發生時,架構則會調用使用者的代碼。使用者代碼不用調用架構,使用者程式也不必關心架構結構、執行流程、對系統級API的調用等,所有這些由架構負責完成。是以,基于中間件開發的應用具有良好的可擴充性、易管理性、高可用性和可移植性。
(附件 對“中間件”簡單解釋:為了解決應用程式對網絡過分依賴的問題采取了一種有效的方法,在客戶機和伺服器之間加一層軟體。)
----------------------------------------------------------------------
中間件(middleware)是基礎軟體的一大類,屬于可複用軟體的範疇。顧名思義,中間件處于作業系統軟體與使用者的應用軟體的中間。
中間件在作業系統、網絡和資料庫之上,應用軟體的下層,總的作用是為處于自己上層的應用軟體提供運作與開發的環境,幫助使用者靈活、高效地開發和內建複雜的應用軟體。在衆多關于中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨立的系統軟體或服務程式,分布式應用軟體借助這種軟體在不同的技術之間共享資源,中間件位于客戶機伺服器的作業系統之上,管理計算資源和網絡通信。
IDC對中間件的定義表明,中間件是一類軟體,而非一種軟體;中間件不僅僅實作互連,還要實作應用之間的互操作;中間件是基于分布式處理的軟體,最突出的特點是其網絡通信功能。
最早具有中間件技術思想及功能的軟體是IBM的CICS,但由于CICS不是分布式環境的産物,是以人們一般把Tuxedo作為第一個嚴格意義上的中間件産品。Tuxedo是1984年在當時屬于AT&&T的貝爾實驗室開發完成的,但由于分布式處理當時并沒有在商業應用上獲得像今天一樣的成功,Tuxedo在很長一段時期裡隻是實驗室産品,後來被Novell收購,在經過Novell并不成功的商業推廣之後,1995年被現在的BEA公司收購。盡管中間件的概念很早就已經産生,但中間件技術的廣泛運用卻是在最近10年之中。BEA公司1995年成立後收購Tuxedo才成為一個真正的中間件廠商,IBM的中間件MQSeries也是90年代的産品,其它許多中間件産品也都是最近幾年才成熟起來。
1998年IDC公司對于中間件有一個定義,并根據用途将其劃分為6個類别。如今所保留下來的隻有消息中間件和交易中間件,其他的已經被逐漸融合到其他産品中了,被包裹進去了,在市場上已經沒有單獨的産品形态出現了。例如,當時有一個叫螢幕資料轉換的中間件,其主要是針對IBM大機終端而設計産品,用于将IBM大機終端的字元界面轉化為使用者所喜歡的圖形界面,類似的東西當時都稱為中間件。但随着IBM大機環境越來越少,但是盛行一時的此類中間件如今已經很少再被單獨提及。
2000年前後,網際網路盛行起來,随之産生了一個新的東西,就是應用伺服器。實際上,交易中間件也屬于是應用伺服器,為了區分,人們傳統的交易中間件稱為分布交易中間件,因它主要應用在分布式環境下,而将新的應用伺服器,稱為J2EE中間件,到目前為止,這都是市場上非常熱門的産品。
EAI概念出來之後,市場上又推出了一些新的軟體産品,,例如工作流、Portal等,但從分類上不知道怎麼歸類,向上不能夠劃歸應用,往下又不能歸入作業系統,于是就把它歸入了中間件,如此中間件的概念更加擴大了。目前,市場上對于中間件,各家的說法不一,客觀上也導緻了了解上的複雜性。
如今,市場上又推出了很多新的概念,例如三層結構、構件、Web服務,其中風頭最勁的當屬SOA(面向服務的架構)。實際上,他們都不是一個産品,而是一種技術的實作方法,是開發一個軟體的一種方法論。我們知道,最早軟體開發方法就是程式設計、寫代碼的,其缺點在于無法複用,為此提出了構件化的軟體開發方法,通過把程式設計中一些常用功能進行封裝,并規範統一接口,供其它程式調用,例如我們開發一個新軟體,可能要用到構件1、構件2、構件3,那麼,我們隻要對其進行本地組裝,就可以得到我們想要的應用軟體。在網際網路得到普及重視之後,軟體開發方法在構件化基礎上又有新發展,核心思想是軟體并不需要囊括構件,所需要的僅僅是構件的運作結果,例如編寫一個通信傳輸軟體,就可以到網上尋找構件,并提出服務請求,得到結果後傳回,而不需要下載下傳構件并打包,這就是現在所說的SOA。想要現實SOA,就要規範構件接口,同時還要規範構件所送出的服務結果,如此,新的軟體開發的思想才能夠行的通。但SOA并不是一個産品,而是一種思想方法,而實作這種方法的基礎,如今看來隻有中間件。
國内在中間件領域的起步階段正是整個世界範圍内中間件的初創時期。東方通科技早在1992年就開始中間件的研究與開發,1993年推出第一個産品TongLINK/Q。而中科院軟體所、國防科技大學等研究機構也對中間件技術進行了同步研究。可以說,在中間件領域,國内的起步時間并不比國外晚多少。
中間件分類(IDC的分類):大緻可分為六類:終端仿真/螢幕轉換中間件、資料通路中間件、遠端過程調用中間件、消息中間件、交易中間件、對象中間件。
遠端過程調用中間件(Remote Procedure Call)
面向消息的中間件(MesSAge-Oriented Middleware)
對象請求代理中間件(object RequeST Brokers)
它們可向上提供不同形式的通訊服務,包括同步、排隊、訂閱釋出、廣播等等,在這些基本的通訊平台之上,可構築各種架構,為應用程式提供不同領域内的服務,如事務處理監控器、分布資料通路、對象事務管理器OTM等。平台為上層應用屏蔽了異構平台的差異,而其上的架構又定義了相應領域内的應用的系統結構、标準的服務元件等,使用者隻需告訴架構所關心的事件,然後提供處理這些事件的代碼。當事件發生時,架構則會調用使用者的代碼。使用者代碼不用調用架構,使用者程式也不必關心架構結構、執行流程、對系統級API的調用等,所有這些由架構負責完成。是以,基于中間件開發的應用具有良好的可擴充性、易管理性、高可用性和可移植性。
下面,針對幾類主要的中間件分别加以簡要的介紹。
1、遠端過程調用
遠端過程調用是一種廣泛使用的分布式應用程式處理方法。一個應用程式使用RPC來“遠端”執行一個位于不同位址空間裡的過程,并且從效果上看和執行本地調用相同。事實上,一個RPC應用分為兩個部分:server和Client。server提供一個或多個遠端過程;client向server發出遠端調用。server和client可以位于同一台計算機,也可以位于不同的計算機,甚至運作在不同的作業系統之上。它們通過網絡進行通訊。相應的stub和運作支援提供資料轉換和通訊服務,進而屏蔽不同的作業系統和網絡協定。在這裡RPC通訊是同步的。采用線程可以進行異步調用。
在RPC模型中,client和server隻要具備了相應的RPC接口,并且具有RPC運作支援,就可以完成相應的互操作,而不必限制于特定的server。是以,RPC為client/server分布式計算提供了有力的支援。同時,遠端過程調用RPC所提供的是基于過程的服務通路,client與server進行直接連接配接,沒有中間機構來處理請求,是以也具有一定的局限性。比如,RPC通常需要一些網絡細節以定位server;在client送出請求的同時,要求server必須是活動的等等。
2、面向消息的中間件
MOM指的是利用高效可靠的消息傳遞機制進行平台無關的資料交流,并基于資料通信來進行分布式系統的內建。通過提供消息傳遞和消息排隊模型,它可在分布環境下擴充程序間的通信,并支援多通訊協定、語言、應用程式、硬體和軟體平台。目前流行的MOM中間件産品有IBM的MQSeries、BEA的MessageQ等。消息傳遞和排隊技術有以下三個
主要特點:
通訊程式可在不同的時間運作 程式不在網絡上直接互相通話,而是間接地将消息放入消息隊列,因為程式間沒有直接的聯系。是以它們不必同時運作。消息放入适當的隊列時,目标程式甚至根本不需要正在運作;即使目标程式在運作,也不意味着要立即處理該消息。
對應用程式的結構沒有限制 在複雜的應用場合中,通訊程式之間不僅可以是一對一的關系,還可以進行一對多和多對一方式,甚至是上述多種方式的組合。多種通訊方式的構造并沒有增加應用程式的複雜性。
程式與網絡複雜性相隔離
程式将消息放入消息隊列或從消息隊列中取出消息來進行通訊,與此關聯的全部活動,比如維護消息隊列、維護程式和隊列之間的關系、處理網絡的重新啟動和在網絡中移動消息等是MOM的任務,程式不直接與其它程式通話,并且它們不涉及網絡通訊的複雜性。
3、對象請求代理
随着對象技術與分布式計算技術的發展,兩者互相結合形成了分布對象計算,并發展為當今軟體技術的主流方向。1990年底,對象管理集團OMG首次推出對象管理結構OMA(ObjECt Management Architecture),對象請求代理(Object Request Broker)是這個模型的核心元件。它的作用在于提供一個通信架構,透明地在異構的分布計算環境中傳遞對象請求。CORBA規範包括了ORB的所有标準接口。1991年推出的CORBA 1.1 定義了接口描述語言OMG IDL和支援Client/Server對象在具體的ORB上進行互操作的API。CORBA 2.0 規範描述的是不同廠商提供的ORB之間的互操作。
對象請求代理(ORB)是對象總線,它在CORBA規範中處于核心地位,定義異構環境下對象透明地發送請求和接收響應的基本機制,是建立對象之間client/server關系的中間件。ORB使得對象可以透明地向其他對象送出請求或接受其他對象的響應,這些對象可以位于本地也可以位于遠端機器。ORB攔截請求調用,并負責找到可以實作請求的對象、傳送參數、調用相應的方法、傳回結果等。client對象并不知道同server對象通訊、激活或存儲server對象的機制,也不必知道server對象位于何處、它是用何種語言實作的、使用什麼作業系統或其他不屬于對象接口的系統成分。
值得指出的是client和server角色隻是用來協調對象之間的互相作用,根據相應的場合,ORB上的對象可以是client,也可以是server,甚至兼有兩者。當對象發出一個請求時,它是處于client角色;當它在接收請求時,它就處于server角色。大部分的對象都是既扮演client角色又扮演server角色。另外由于ORB負責對象請求的傳送和server的管理,client和server之間并不直接連接配接,是以,與RPC所支援的單純的Client/Server結構相比,ORB可以支援更加複雜的結構。
4、事務處理監控
事務處理監控(Transaction processing monitors)最早出現在大型機上,為其提供支援大規模事務處理的可靠運作環境。随着分布計算技術的發展,分布應用系統對大規模的事務處理提出了需求,比如商業活動中大量的關鍵事務處理。事務處理監控界于client和server之間,進行事務管理與協調、負載平衡、失敗恢複等,以提高系統的整體性能。它可以被看作是事務處理應用程式的“作業系統”。總體上來說,事務處理監控有以下功能:
程序管理,包括啟動server程序、為其配置設定任務、監控其執行并對負載進行平衡。
事務管理,即保證在其監控下的事務處理的原子性、一緻性、獨立性和持久性。
通訊管理,為client和server之間提供了多種通訊機制,包括請求響應、會話、排隊、訂閱釋出和廣播等。
事務處理監控能夠為大量的client提供服務,比如飛機定票系統。如果server為每一個client都配置設定其所需要的資源的話,那server将不堪重負(如圖2所示)。但實際上,在同一時刻并不是所有的client都需要請求服務,而一旦某個client請求了服務,它希望得到快速的響應。事務處理監控在作業系統之上提供一組服務,對client請求進行管理并為其配置設定相應的服務程序,使server在有限的系統資源下能夠高效地為大規模的客戶提供服務。
圖2 事務處理監控
四、面臨的一些問題
中間件能夠屏蔽作業系統和網絡協定的差異,為應用程式提供多種通訊機制;并提供相應的平台以滿足不同領域的需要。是以,中間件為應用程式了一個相對穩定的高層應用環境。然而,中間件服務也并非“萬能藥”。中間件所應遵循的一些原則離實際還有很大距離。多數流行的中間件服務使用專有的API和專有的協定,使得應用建立于單一廠家的産品,來自不同廠家的實作很難互操作。有些中間件服務隻提供一些平台的實作,進而限制了應用在異構系統之間的移植。應用開發者在這些中間件服務之上建立自己的應用還要承擔相當大的風險,随着技術的發展他們往往還需重寫他們的系統。盡管中間件服務提高了分布計算的抽象化程度,但應用開發者還需面臨許多艱難的設計選擇,例如,開發者還需決定分布應用在client方和server方的功能配置設定。通常将表示服務放在client以友善使用顯示裝置,将資料服務放在server以靠近資料庫,但也并非總是如此,何況其它應用功能如何配置設定也是不容易确定的。
五、中間件的現狀與發展趨勢
伴随着網際網路技術的發展和全球經濟一體化時代的來臨,企業應用開始從局部自治的單業務種類、部門級應用向企業級應用轉變,并促進了企業應用內建、企業間動态電子商務等網絡資訊系統技術的發展。網絡資訊系統的目标就是把分布在各處的多個局部自治的異構資訊系統通過網絡內建在一起,以實作資訊資源的廣泛共享、集約化管理和協調工作,其中需要解決的一個關鍵問題就是如何将各局部自治的系統聯合成為能夠發揮綜合效能并能夠不斷成長的大系統,為此,出現了對建構網絡資訊系統基礎支撐平台的強烈需求。中間件的概念在這樣的背景下形成和發展。
為了直覺地把握中間件(middleware)的基本概念,可以将網絡和系統軟體之上、應用系統之下的廣袤疆域都視做中間件的領地,中間件被概括地了解為起承上啟下作用的應用支撐平台。應用的“多态性”、系統軟體的複雜性,都需要依賴各種類型的中間件在其中運籌、調和。中間件的核心作用是通過管理計算資源和網絡通信,為各類分布式應用軟體共享資源提供支撐。廣義地看,中間件的總體作用是為處于自己上層的應用軟體提供運作與開發的環境,幫助使用者靈活、高效地開發和內建複雜的應用軟體。
本文從技術、産品和市場等角度對2004年我國中間件發展現狀進行了回顧和分析,通過總結目前網絡應用中出現的一些新趨勢,提出了中間件技術下一步發展的一些挑戰性問題,并總結了中間件産品和市場的一些新特點。
1. 發展現狀
1.1. 技術現狀
中間件技術是在克服複雜網絡應用的共性問題中不斷發展和壯大起來的,這些問題可以歸納為四個方面:
1、從計算環境來看:中間件面對的是一個複雜、不斷變化的計算環境,要求中間件技術具有足夠的靈活性和可成長性;
2、從資源管理的角度來看:作業系統和資料庫管理系統管理的是有限資源,資源種類有限,資源量也有限,而中間件需要管理的資源類型(資料、服務、應用)更豐富,且資源擴充的邊界是發散的;
3、從應用支撐角度來看:中間件需要提供分布應用開發、內建、部署和運作管理的整個生命周期的總體運作模型;
4、從應用的角度來看:利用中間件完成的往往是複雜、大範圍的企業級應用,其關系錯綜複雜,流程交織。例如客戶關系管理系統需要內建多個企業内部應用,而供應鍊管理則涉及企業之間的應用內建。
是以,由于網絡應用的複雜性,特别是分布、異構和自治等特點,決定了中間件技術和産品的形态多樣性。目前的中間件技術已經形成一個豐富的譜系(圖1),并正在向上(應用架構和普适服務)和向下(融合作業系統、資料庫管理系統的功能)兩個方向不斷延伸,并在向更寬廣的應用領域拓展。
圖 1 中間件技術譜系
在國内,國防科技大學、北京大學、北航、中科院軟體所、東南大學等大學和院所很早就投入到中間件技術的研究中,并形成了一系列的成果。在×××、資訊産業部電子發展基金和國家科技部863計劃和政府其他基金資助下,通過各項目研究機關和國内骨幹軟體企業多年的不懈努力,國内在基礎中間件領域已經形成豐富的技術積累,并在CORBA技術(國防科技大學與中創軟體)、消息中間件技術(中科院軟體所)、J2EE應用伺服器(北京大學)、Web Service(北航)等方面在技術上基本與國外保持同步發展的水準。
以CORBA技術為例,國防科技大學與中創軟體以對象管理組織釋出的CORBA及MDA标準體系為依據,并結合J2EE、XML、Web Service等标準,對ORB、CORBA 構件模型及其運作支撐技術、企業協同架構(CCA)、EAI Profile等進行了深入的研究,近3年在國内一級刊物和國際會議上發表50多篇文章,向對象管理組織(OMG)送出9項标準提案,已經從标準跟從階段進入參與階段,研究論文和成果在國際上得到廣泛引用,國防科技大學CORBA研究成果StarBus并獲得國家科技進步二等獎。
1.2. 産品與市場現狀
中間件作為基礎軟體的重要組成,業已與作業系統、資料庫齊頭并進,在世界範圍内呈現出迅猛發展的勢頭,已經形成一個巨大的産業。目前,中間件在國内整個軟體行業中應該是發展速度最快的市場之一。中國軟體産業經過20年的發展,很多部門的資訊化建設都走過了關鍵業務應用和部門級應用的階段,現在開始向企業級應用轉變。所謂企業級應用,最為人們所重視的就是各類資訊資源之間如何關聯、整合、協同、互動和按需服務,這些都是中間件能夠發揮巨大作用的空間所在。當然,中國軟體産業整體上還比較弱,整個社會資訊化的程度無論在廣度、深度方面都還不夠,這些自然也限制了國内軟體産業及中間件的市場規模。随着國家資訊化建設的不斷深入,社會對應用軟體,特别是對網絡應用起支撐作用的中間件産品的巨大需求是不争的事實,國内中間件的市場才剛剛開始啟動,存在巨大的發展機會和空間。
目前,網絡應用中間件逐漸在基礎中間件、應用中間件、應用架構等三個層面形成激烈的産品競争和市場競争格局。從三個方面的産品來分析,國外廠商仍然占主導地位,主流廠商包括IBM,BEA,ORACLE,HP,Iona等,而一些新型的中間件公司,如Tibco,webMethod,Vitria也開始攜其應用內建中間件或業務流程管理中間件進入中國市場。而國内一些規模較大的軟體公司也開始進入此領域,形成了包括中創軟體商用中間件、金蝶Apusic、東方通科技、中關村科技、中和威等在内的一批中間件專業廠商,東軟、用友、信雅達等應用內建商也大量投入中間件産品的研發,國産中間件已經形成了比較完整産品體系,例如,中創軟體、中和威推出了基于CORBA标準的通信中間件産品;中創軟體、金蝶軟體、東方通科技等公司分别推出了遵循J2EE規範的應用伺服器産品;中創軟體、中科院軟體所、東方通科技推出了消息中間件産品;中創軟體推出了符合OMG标準的企業應用內建套件InforEAI;此外,還有大量的公司投入到中間件開發平台和構件庫的建設中。國産中間件已經廣泛成功應用于我國政府、交通、金融、證券、保險、稅務、電信、移動、教育、軍事等行業或領域的資訊化建設,并成為大型應用系統建設不可缺少的一環。
同國外廠商比較,國内中間件廠商的整體實力還存在很大的差距。如果僅僅從産品的功能上看,我們似乎并不比别人缺什麼,但圍繞中間件産品從研發到成功應用的全周期來看,我們還缺很多東西,暫時也很難對國外産品形成真正的競争威脅。應該說國内中間件産品的成熟度應該是沒有問題的,但要市場普遍接受國産中間件産品,卻還有一個相當長的過程。以中創軟體Infor系列中間件為例,我們提供的産品可在各類主流作業系統平台和主流資料庫上穩定可靠地運作,并可與通行的各種開發工具緊密融合,産品都具備豐富的系統管理功能,并已經在大量行業中獲得了成功應用經驗,即使如此,要真正形成具有号召力的中間件品牌,還有艱巨的路需要一步步去走。同國外優秀中間件産品相比,我們還有大量需要借鑒和學習的地方,例如在産品的發展方向把握、持續開發能力、産品化工作、市場運作等方面,我們都還要繼續加強,不斷完善。當然,國内中間件廠商及其産品也具有非常明顯的優勢,我們貼近國家資訊化的現實需求,已經積累了豐富的領域問題和中間件應用經驗,我們的中間件産品可以在實用性和易用性方面更加貼近本地化市場需求,在技術支援和服務方面也具有相當的優勢。
1.3. 現狀分析
綜合産業界的發展情況,我國中間件産業在2004年呈現出如下發展特點:
技術多樣化:中間件已經成為網絡應用系統開發、內建、部署、運作和管理必不可少的工具。由于中間件技術涉及網絡應用的各個層面,涵蓋從基礎通訊、資料通路、業務流程內建到應用展現等衆多的環節,是以,中間件技術呈現出多樣化的發展特點。
産品平台化:由于傳統的中間件技術門檻較高,學習周期較長,已經不能适應資訊化建設對中間件的廣泛應用需求。為此,中間件産品從解決網絡計算中的關鍵問題開始向一體化平台方向發展,以提高中間件産品的使用便利性,更全面地滿足各種網絡應用軟體所要求的可靠性、可伸縮性和安全性的需要。
應用普及化:中間件技術已經是成熟的技術。我國大型資訊化建設項目采納中間件已經成為一種自然、例行的舉措。中間件的廣泛使用,也進一步促進了應用架構技術的豐富和發展,并為建立企業資訊化業務基礎架構奠定了基礎。
2. 應用需求的新特點與中間件技術走向
由于網絡世界是開放的、可成長的和多變的,分布性、自治性、異構性已經成為資訊系統的固有特征。實作資訊系統的綜合內建,已經成為國家資訊化建設的普遍需求,并直接反映了整個國家資訊化建設的水準,中間件通過網絡互連、資料內建、應用整合、流程銜接、使用者互動等形式,已經成為大型網絡應用系統開發、內建、部署、運作與管理的關鍵支撐軟體。
随着中間件在我國資訊化建設中的廣泛應用,中間件應用需求也表現出一些新的特點:
可成長性:Internet是無邊界的,中間件必須支援建立在Internet之上的網絡應用系統的生長與代謝,維護相對穩定的應用視圖
适應性:環境和應用需求不斷變化,應用系統需要不斷演進,作為企業計算的基礎設施,中間件需要感覺、适應變化,提供對下列環境的支援:
■ 支援移動、無線環境下的分布應用,适應多樣性的裝置特性以及不斷變化的網絡環境
■ 支援流媒體應用,适應不斷變化的通路流量和帶寬限制
■ 在DRE(DIstributed Real-time Enbeded)環境下,适應強QoS的分布應用的軟硬體限制
■ 能适應未來還未确定的應用要求
可管理性:領域問題越來越複雜、IT應用系統越來越龐大,其自身管理維護則變得越來越複雜,中間件必須具有自主管理能力,簡化系統管理成本。
■ 面對新的應用目标和變化的環境,支援複雜應用系統的自主再配置
■ 支援複雜應用系統的自我診斷和恢複
■ 支援複雜應用系統的自主優化
■ 支援複雜應用系統的自主防護
高可信性:提供安全、可信任的資訊服務
■ 支援大規模的并發客戶通路
■ 提供99.99%以上的系統可用性
■ 提供安全、可信任的資訊服務