中間件

中間件

  
中間件
  (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 中交換結構化信息而創建文檔。
  最早具有中間件技術思想及功能的軟件是IBMCICS,但由於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%以上的系統可用性
  ■ 提供安全、可信任的信息服務
  目前國內主要中間件生產廠商:
  BM(中國)有限責任公司
  BEA
  富士通中間件
  東方通科技
  中創軟件商用中間件有限公司
  深圳市金蝶中間件有限公司
  中關村科技軟件有限公司
  上海普元信息技術有限責任公司
  北京中和威軟件有限公司
  麟遠創軟件(中國)有限公司
  杭州信雅達系統工程股份有限公司
  北京美景同創國際軟件有限公司
  博易智軟(北京)技術有限公司
  清華同方應用信息系統本部
  北京炎黃盈動科技發展有限公司
  北京慧點科技發展有限公司
  東軟集團有限公司中間件技術分公司
  北京用友華表軟件技術有限公司
  大用軟件有限責任公司
  北京超圖地理信息系統有限責任公司
  北京訊鳥軟件有限責任公司
  福州華呼信息技術有限公司
  清華紫光股份有限公司
  北京佳訊飛鴻公司
  恩益禧-中科院軟件研究所有限公司
  Fiorano
  IONA科技公司
  深圳金瀚海科技有限公司
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章