中間件

中間件

計算機術語
中間件(middleware)是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。中間件(middleware)是基礎軟件的一大類,屬于可複用軟件的範疇。顧名思義,中間件處于操作系統軟件與用戶的應用軟件的中間。中間件在操作系統、網絡和數據庫之上,應用軟件的下層,總的作用是為處于自己上層的應用軟件提供運行與開發的環境,幫助用戶靈活、高效地開發和集成複雜的應用軟件。
    軟件名稱: 軟件平台: 軟件語言: 開發商: 軟件授權: 軟件版本: 軟件大小: 中文名:中間件 外文名:Middleware 實質:獨立的系統軟件或服務程序 性質:計算機用語

主要用途

應用程序的規模不斷擴大,特别是Internet及WWW的出現,使計算機的應用範圍更為廣闊,許多應用程序需在網絡環境的異構平台上運行。這一切都對新一代的軟件開發提出了新的需求。在這種分布異構環境中,通常存在多種硬件系統平台(如PC,工作站,小型機等),在這些硬件平台上又存在各種各樣的系統軟件(如不同的操作系統、數據庫、語言編譯器等),以及多種風格各異的用戶界面,這些硬件系統平台還可能采用不同的網絡協議和網絡體系結構連接。如何把這些系統集成起來并開發新的應用是一個非常現實而困難的問題。

中間件可以滿足大量應用的需要運行于多種硬件和OS平台支持分布計算,提供跨網絡、硬件和OS平台的透明性的應用或服務的交互支持标準的協議支持标準的接口。

由于标準接口對于可移植性和标準協議對于互操作性的重要性,中間件已成為許多标準化工作的主要部分。對于應用軟件開發,中間件遠比操作系統和網絡服務更為重要,中間件提供的程序接口定義了一個相對穩定的高層應用環境,不管底層的計算機硬件和系統軟件怎樣更新換代,隻要将中間件升級更新,并保持中間件對外的接口定義不變,應用軟件幾乎不需任何修改,從而保護了企業在應用軟件開發和維護中的重大投資。

主要功能

中間件所包括的範圍十分廣泛,針對不同的應用需求湧現出多種各具特色的中間件産品。但至今中間件還沒有一個比較精确的定義,因此,在不同的角度或不同的層次上,對中間件的理解也會有所不同。由于中間件需要屏蔽分布環境中異構的操作系統和網絡協議,它必須能夠提供分布環境下的通訊服務,我們将這種通訊服務稱之為平台。基于目的和實現機制的不同,實現的功能有如下分類:

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年推出的CORBA1.1定義了接口描述語言OMGIDL和支持Client/Server對象在具體的ORB上進行互操作的API。CORBA2.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将不堪重負。但實際上,在同一時刻并不是所有的client都需要請求服務,而一旦某個client請求了服務,它希望得到快速的響應。事務處理監控在操作系統之上提供一組服務,對client請求進行管理并為其分配相應的服務進程,使server在有限的系統資源下能夠高效地為大規模的客戶提供服務。

特點

也許很難給中間件一個嚴格的定義,但中間件應具有如下的一些特點:

滿足大量應用的需要

運行于多種硬件和OS平台

支持分布計算,提供跨網絡、硬件和OS平台的透明性的應用或服務的交互

支持标準的協議

支持标準的接口

由于标準接口對于可移植性和标準協議對于互操作性的重要性,中間件已成為許多标準化工作的主要部分。對于應用軟件開發,中間件遠比操作系統和網絡服務更為重要,中間件提供的程序接口定義了一個相對穩定的高層應用環境,不管底層的計算機硬件和系統軟件怎樣更新換代,隻要将中間件升級更新,并保持中間件對外的接口定義不變,應用軟件幾乎不需任何修改,從而保護了企業在應用軟件開發和維護中的重大投資。

曆史

最早具有中間件技術思想及功能的軟件是IBM的CICS,但由于CICS不是分布式環境的産物,因此人們一般把Tuxedo作為第一個嚴格意義上的中間件産品。Tuxedo是1984年在當時屬于AT&&T的貝爾實驗室開發完成的,但由于分布式處理當時并沒有在商業應用上獲得像今天一樣的成功,Tuxedo在很長一段時期裡隻是實驗室産品,後來被Novell收購,在經過Novell并不成功的商業推廣之後,1995年被現在的BEA公司收購。盡管中間件的概念很早就已經産生,但中間件技術的廣泛運用卻是在最近10年之中。BEA公司1995年成立後收購Tuxedo才成為一個真正的中間件廠商,IBM的中間件MQSeriES也是90年代的産品,其它許多中間件産品也都是最近幾年才成熟起來。

名字由來

計算機技術迅速發展。從硬件技術看,CPU速度越來越高,處理能力越來越強;從軟件技術看,應用程序的規模不斷擴大,特别是Internet及WWW的出現,使計算機的應用範圍更為廣闊,許多應用程序需在網絡環境的異構平台上運行。這一切都對新一代的軟件開發提出了新的需求。在這種分布異構環境中,通常存在多種硬件系統平台(如PC,工作站,小型機等),在這些硬件平台上又存在各種各樣的系統軟件(如不同的操作系統、數據庫、語言編譯器等),以及多種風格各異的用戶界面,這些硬件系統平台還可能采用不同的網絡協議和網絡體系結構連接。如何把這些系統集成起來并開發新的應用是一個非常現實而困難的問題。

分類

中間件分類(IDC的分類):大緻可分為六類:終端仿真/屏幕轉換中間件、數據訪問中間件、遠程過程調用中間件、消息中間件、交易中間件、對象中間件。

中間件所包括的範圍十分廣泛,針對不同的應用需求湧現出多種各具特色的中間件産品。但至今中間件還沒有一個比較精确的定義,因此,在不同的角度或不同的層次上,對中間件的分類也會有所不同。由于中間件需要屏蔽分布環境中異構的操作系統和網絡協議,它必須能夠提供分布環境下的通訊服務,将這種通訊服務稱之為平台。基于目的和實現機制的不同,将平台分為以下主要幾類:

遠程過程調用中間件(Remote Procedure Call)

面向消息的中間件(Message-Oriented Middleware)

對象請求代理中間件(Object Request Brokers)

它們可向上提供不同形式的通訊服務,包括同步、排隊、訂閱發布、廣播等等,在這些基本的通訊平台之上,可構築各種框架,為應用程序提供不同領域内的服務,如事務處理監控器、分布數據訪問、對象事務管理器OTM等。平台為上層應用屏蔽了異構平台的差異,而其上的框架又定義了相應領域内的應用的系統結構、标準的服務組件等,用戶隻需告訴框架所關心的事件,然後提供處理這些事件的代碼。當事件發生時,框架則會調用用戶的代碼。用戶代碼不用調用框架,用戶程序也不必關心框架結構、執行流程、對系統級API的調用等,所有這些由框架負責完成。因此,基于中間件開發的應用具有良好的可擴充性、易管理性、高可用性和可移植性。

通用中間件類型包括:

企業服務總線(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中交換結構化信息而創建文檔。

面臨問題

中間件能夠屏蔽操作系統和網絡協議的差異,為應用程序提供多種通訊機制;并提供相應的平台以滿足不同領域的需要。因此,中間件為應用程序了一個相對穩定的高層應用環境。然而,中間件服務也并非“萬能藥”。中間件所應遵循的一些原則離實際還有很大距離。多數流行的中間件服務使用專有的API和專有的協議,使得應用建立于單一廠家的産品,來自不同廠家的實現很難互操作。有些中間件服務隻提供一些平台的實現,從而限制了應用在異構系統之間的移植。應用開發者在這些中間件服務之上建立自己的應用還要承擔相當大的風險,随着技術的發展他們往往還需重寫他們的系統。盡管中間件服務提高了分布計算的抽象化程度,但應用開發者還需面臨許多艱難的設計選擇,例如,開發者還需決定分布應用在client方和server方的功能分配。通常将表示服務放在client以方便使用顯示設備,将數據服務放在server以靠近數據庫,但也并非總是如此,何況其它應用功能如何分配也是不容易确定的。

現狀

伴随着互聯網技術的發展和全球經濟一體化時代的來臨,企業應用開始從局部自治的單業務種類、部門級應用向企業級應用轉變,并促進了企業應用集成、企業間動态電子商務等網絡信息系統技術的發展。網絡信息系統的目标就是把分布在各處的多個局部自治的異構信息系統通過網絡集成在一起,以實現信息資源的廣泛共享、集約化管理和協調工作,其中需要解決的一個關鍵問題就是如何将各局部自治的系統聯合成為能夠發揮綜合效能并能夠不斷成長的大系統,為此,出現了對構建網絡信息系統基礎支撐平台的強烈需求。中間件的概念在這樣的背景下形成和發展。

技術現狀

中間件技術是在克服複雜網絡應用的共性問題中不斷發展和壯大起來的,這些問題可以歸納為四個方面:

1、從計算環境來看:中間件面對的是一個複雜、不斷變化的計算環境,要求中間件技術具有足夠的靈活性和可成長性;

2、從資源管理的角度來看:操作系統和數據庫管理系統管理的是有限資源,資源種類有限,資源量也有限,而中間件需要管理的資源類型(數據、服務、應用)更豐富,且資源擴展的邊界是發散的;

3、從應用支撐角度來看:中間件需要提供分布應用開發、集成、部署和運行管理的整個生命周期的總體運行模型;

4、從應用的角度來看:利用中間件完成的往往是複雜、大範圍的企業級應用,其關系錯綜複雜,流程交織。例如客戶關系管理系統需要集成多個企業内部應用,而供應鍊管理則涉及企業之間的應用集成。

産品與市場現狀

中間件作為基礎軟件的重要組成,業已與操作系統、數據庫齊頭并進,在世界範圍内呈現出迅猛發展的勢頭,已經形成一個巨大的産業。

現狀分析

綜合産業界的發展情況,中國中間件産業在2004年呈現出如下發展特點:

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

産品平台化:由于傳統的中間件技術門檻較高,學習周期較長,已經不能适應信息化建設對中間件的廣泛應用需求。為此,中間件産品從解決網絡計算中的關鍵問題開始向一體化平台方向發展,以提高中間件産品的使用便利性,更全面地滿足各種網絡應用軟件所要求的可靠性、可伸縮性和安全性的需要。

應用普及化:中間件技術已經是成熟的技術。中國大型信息化建設項目采納中間件已經成為一種自然、例行的舉措。中間件的廣泛使用,也進一步促進了應用框架技術的豐富和發展,并為建立企業信息化業務基礎架構奠定了基礎。

應用需求的新特點與中間件技術走向

由于網絡世界是開放的、可成長的和多變的,分布性、自治性、異構性已經成為信息系統的固有特征。實現信息系統的綜合集成,已經成為國家信息化建設的普遍需求,并直接反映了整個國家信息化建設的水平,中間件通過網絡互連、數據集成、應用整合、流程銜接、用戶互動等形式,已經成為大型網絡應用系統開發、集成、部署、運行與管理的關鍵支撐軟件。

随着中間件在中國信息化建設中的廣泛應用,中間件應用需求也表現出一些新的特點:

可成長性:Internet是無邊界的,中間件必須支持建立在Internet之上的網絡應用系統的生長與代謝,維護相對穩的應用視圖。

适應性:環境和應用需求不斷變化,應用系統需要不斷演進,作為企業計算的基礎設施,中間件需要感知、适應變化,提供對下列環境的支持:

支持移動、無線環境下的分布應用,适應多樣性的設備特性以及不斷變化的網絡環境

支持流媒體應用,适應不斷變化的訪問流量和帶寬約束

在DRE(Distributed Real-time Enbeded)環境下,适應強QoS的分布應用的軟硬件約束

能适應未來還未确定的應用要求

可管理性:領域問題越來越複雜、IT應用系統越來越龐大,其自身管理維護則變得越來越複雜,中間件必須具有自主管理能力,簡化系統管理成本。

面對新的應用目标和變化的環境,支持複雜應用系統的自主再配置

支持複雜應用系統的自我診斷和恢複

支持複雜應用系統的自主優化

支持複雜應用系統的自主防護

高可信性:提供安全、可信任的信息服務

支持大規模的并發客戶訪問

提供99.99%以上的系統可用性

提供安全、可信任的信息服務

這些新的應用特點對中間件技術的發展提出了新的挑戰,也決定了中間件技術未來幾年的發展方向,為了解決上述問題,中間件技術呈現出豐富多彩的格局,圖2給出了解決各類問題的一些新的中間件技術。

發展因素

(1)中間件行業良好的市場前景

随着互聯網應用服務需求的上升、各行業應用系統規模的迅速擴張等,對中間件的需求也日益突出。目前,信息化建設水平較高的電信、金融、政府和能源等領域是應用中間件的重點領域。這些行業和部門的IT系統整合節奏相對較快,對中間件的需求保持持續增長。同時,其他行業領域的大中型企業以及部分小企業的信息化進程也逐漸加速,着眼于充分利用已經建成的應用系統和業務系統,更好地為業務部門和廣大客戶服務。各行業相繼加大信息化基礎設備和應用系統的建設,對中間件平台産生了巨大需求,預示着未來中國中間件市場将具有廣闊的發展空間。

未來電信、金融行業的中間件需求增長趨于平穩,政府行業需求将持續增長,傳統行業如交通、教育、醫療、電力、證券、保險、稅務等将被逐漸開發,新興行業如物聯網、雲計算等的額外增長需求使得國内中間件市場的銷售額保持穩定增長。今後幾年内我國中間件市場的年複合增長率将超過18%,随着新興行業的建設,增長率或将略有升幅。

(2)中間件具備規模效應

中間件與操作系統和數據庫一樣,作為基礎軟件具有标準化産品的特點,具備一定的通用性,容易形成規模效應。由于中間件軟件具有标準化、産品化的特點,而中間件軟件的研發支出具有固定化的特點,因此中間件産品銷量越多,中間件廠商的利潤率水平越高,産品的銷量是影響各中間件廠商利潤率水平的重要因素之一。

(3)中間件市場秩序相對規範

中間件産品主要應用于企業級應用系統的開發、運行與管理。中間件對各種硬件平台、操作系統、網絡數據庫産品實現了兼容和開放,存在着對客戶提供全方位服務的需要。中間件産品總體上不存在盜版現象,市場秩序與其它領域的軟件相比比較規範,從而一定程度上保障了中間件企業的利潤空間。

(4)國家産業政策的大力支持

國家産業政策的大力支持為國内軟件行業創造了良好的發展環境。軟件行業屬于國家鼓勵發展的戰略性、基礎性和先導性支柱産業,受現有國際壟斷格局的影響,中國軟件業發展至今,系統級産品仍然比較弱小,但國家從信息安全、自主創新的戰略角度考慮,将長期支持和發展基礎軟件。國産中間件是業界公認的發展最好,最能實現突破的領域,是民族軟件産業切入戰略性、基礎性及關鍵性軟件領域的一次最現實的機遇,并将有助于提升我國在這一領域的研發能力。

自2000年以來,國家出台了一系列法規和政策,從投融資體制、稅收、産業技術、軟件出口、收入分配、人才吸引與培養、知識産權保護、行業組織與管理等多方面為軟件産業發展提供了政策保障和扶持,營造了良好的發展環境。

不利因素

(1)高端人才缺乏

由于基礎軟件領域長期由國外特别是美國企業占據強勢地位,我國基礎軟件仍處于發展階段,大學和科研院等機構在基礎軟件方面的研究也相對滞後,造成國内真正從事基礎軟件研發的高端人才匮乏。同時,我國的軟件市場是一個開放的競争市場,國際軟件企業進入我國後,為我國軟件業的發展帶來一定壓力,在國内軟件企業資金、技術和管理等方面不具備競争優勢的情況下,難以吸引高端人才,現有的優秀人才還可能出現流失。

因此,人才缺乏是制約我國中間件行業發展的不利因素。

(2)部分客戶對國内中間件廠商的認同度有待提高

由于我國中間件行業起步較晚,因此總體來看,國内中間件廠商在資金實力、品牌等方面與國外軟件巨頭存在一定的差距。雖然近年來東方通等國産廠商在技術、産品、品牌等方面取得了長足進步,産品性能方面已與國外産品相差無幾,但由于基礎軟件在系統中的重要地位,部分客戶仍傾向于購買國際廠商的中間件産品。較低的品牌認同度仍是制約國内基礎軟件産品市場發展的重要因素。

(3)國際軟件巨頭對國内廠商的競争壓力

目前IBM、Oracle兩家國際軟件巨頭在我國中間件領域占據較大的市場份額。為了遏制競争對手的發展,國際軟件巨頭采用各種手段,遏制國内廠商發展。

最常用的手段是通過不斷推出新的标準和新的技術,試圖引導市場。國際軟件巨頭還會采取價格手段遏制國内中間件廠商,在市場沒有國内廠商競争時其産品價格奇高,而一旦國内廠商進入就大打價格戰,試圖憑借其龐大的資金實力遏制國内中間件廠商的崛起。

中間件産品與市場走向

由于應用複雜性及需求廣泛性,用戶需求多樣化導緻中間件産品進一步細分,中間件産品在未來3-5年時間仍将呈現多元化發展格局,中間件産品整體走向将表現出如下特點:

集成化中間件産品将大行其道:覆蓋企業級應用設計、開發、集成、部署、運行和管理的集成化中間件産品(KillerApp)将會出現。MDA技術已經為中間件設計開發平台與運行平台的整合準備了方法學基礎,IBM和BOrland等公司已經開始在其中間件産品中開始集成MDA工具,從而中間件将為信息系統的資源層、業務邏輯層、展現層提供全面的支持,同時,中間件也将演變成網絡應用全生命周期支持工具。

基于構件的軟件開發将成為主流:随着中間件作為網絡應用開發環境和運行環境雙重支撐平台地位的确立,中間件産品研發重點将從運行平台逐漸向開發平台轉移的,軟件構件庫管理平台将受到進一步關注。各個層面的構件資源将得到極大地豐富和發展,獨立的構件交易商将會出現,CBSD将成為軟件開發主流。

在底層,中間件産品将進一步融合操作系統、數據庫管理系統和其它資源管理平台(如元數據管理、目錄管理、内容管理)的功能,形成一層厚實的基礎軟件;在上層,基于中間件的應用框架産品将得到極大豐富,例如面向金融的數據中心平台、電信業務運行支撐平台、電子政務信息交換平台、電子商務供應鍊管理平台等應用框架型領域中間件将不斷豐富完善。

CICS

最早具有中間件技術思想及功能的軟件是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。而中科院軟件所、國防科技大學等研究機構也對中間件技術進行了同步研究。可以說,在中間件領域,國内的起步時間并不比國外晚多少。

物聯網中間件

與物聯網/M2M相關中間件有很多種類,如嵌入式中間件、數字電視中間件、RFID中間件和通用M2M物聯網中間件等,中間件和物聯網一樣無處不在。

OSGi(Open Services Gateway initiative)是一個1999年成立的開放标準聯盟,OSGi是為無所不在的、開放的Java語言打造的一個模塊化的服務平台,實現了完整的動态構件模式。基于OSGi技術的應用和模塊可以在不停機的狀态下實現遠程安裝、起停、升級和卸載。除了用于IDE(Integrated Develoipment Environment,OSGi的出現使Eclipse一統IDE江山)開發工具和應用服務中間件(以Jboss為代表,包括WebLogic等新一代中間件都有基于OSGi的實現)以外,OSGi技術早已被廣泛的用到了手機和智能M2M終端上,在汽車業(汽車中的嵌入式系統)、工業自動化、智能樓宇、網格計算、雲計算、各種機頂盒、Telematics等領域都有廣泛應用,因此,有業界人士認為,OSGi是“萬能中間件”(Universal Middleware)。可以毫不誇張地說,OSGi中間件平台似乎是“不謀而合”的為物聯網而生的,它一定會在物聯網産業發展過程中大有作為。

上一篇:Awk

下一篇:口袋寵物

相關詞條

相關搜索

其它詞條