複製鏈接
請複製以下鏈接發送給好友

中間件

(計算機用語)

鎖定
中間件是介於應用系統和系統軟件之間的一類軟件,它使用系統軟件所提供的基礎服務(功能),銜接網絡上應用系統的各個部分或不同的應用,能夠達到資源共享、功能共享的目的。它並沒有很嚴格的定義,但是普遍接受IDC的定義:中間件是一種獨立的系統軟件服務程序,分佈式應用軟件藉助這種軟件在不同的技術之間共享資源,中間件位於客户機服務器的操作系統之上,管理計算資源網絡通信。從這個意義上可以用一個等式來表示中間件:中間件=平台+通信,這也就限定了只有用於分佈式系統中才能叫中間件,同時也把它與支撐軟件和實用軟件區分開來。 [1] 
中文名
中間件
外文名
Middleware
別    名
系統軟件
實    質
獨立的系統軟件或服務程序
性    質
計算機用語
相關概念
企業服務總線

中間件簡介

中間件是一類連接軟件組件和應用的計算機軟件,它包括一組服務。以便於運行在一台或多台機器上的多個軟件通過網絡進行交互。該技術所提供的互操作性,推動了一致分佈式體系架構的演進,該架構通常用於支持並簡化那些複雜的分佈式應用程序,它包括web服務器、事務監控器和消息隊列軟件。 [2] 
中間件(middleware)是基礎軟件的一大類,屬於可複用軟件的範疇。顧名思義,中間件處於操作系統軟件與用户的應用軟件的中間。 [2] 
中間件在操作系統、網絡和數據庫之上,應用軟件的下層,總的作用是為處於自己上層的應用軟件提供運行與開發的環境,幫助用户靈活、高效地開發和集成複雜的應用軟件。在眾多關於中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨立的系統軟件或服務程序,分佈式應用軟件藉助這種軟件在不同的技術之間共享資源,中間件位於客户機服務器的操作系統之上,管理計算資源和網絡通信 [2] 
近年來,人類生活中越來越多的領域已經變得離不開計算機、網絡技術以及通信技術。並且隨着計算機技術的快速發展,更多的應用軟件被要求在許多不同的網絡協議、不同的硬件生產廠商以及不一樣的網絡平台和環境上運營。這導致了軟件開發者需要面臨數據離散、操作困難、系統匹配程度低,以及需要開發多種應用程序來達到運營的目的。所以,中間件技術的產生,在極大程度上減輕了開發者的負擔,使得網絡的運行更有效率。 [2] 

中間件基本功能

中間件是獨立的系統級軟件,連接操作系統層和應用程序層,將不同操作系統提供應用的接口標準化,協議統一化,屏蔽具體操作的細節,中間件一般提供如下功能: [3] 
(1)通信支持
中間件 中間件
中間件為其所支持的應用軟件提供平台化的運行環境,該環境屏蔽底層通信之間的接口差異,實現互操作,所以通信支持是中間件一個最基本的功能。早期應用與分佈式的中間件交互主要的通信方式為遠程調用和消息兩種方式。通信模塊中,遠程調用通過網絡進行通信,通過支持數據的轉換和通信服務,從而屏蔽不同的操作系統和網絡協議。遠程調用是提供給予過程的服務訪問,為上層系統只提供非常簡單的編程接口或過程調用模型。消息提供異步交互的機制。 [3] 
(2)應用支持
中間件的目的就是服務上層應用,提供應用層不同服務之間的互操作機制。它為上層應用開發提供統一的平台和運行環境,並封裝不同操作系統提供API接口,嚮應用提供統一的標準接口,使應用的開發和運行與操作系統無關,實現其獨立性。中間件松耦合的結構,標準的封裝服務和接口,有效的互操作機制,從而給應用結構化和開發方法提供有力的支持。 [3] 
公共服務是對應用軟件中共性功能或約束的提取。將這些共性的功能或者約束分類實現,並支持複用,作為公共服務,提供給應用程序使用。通過提供標準、統一的公共服務,可減少上層應用的開發工作量,縮短應用的開發時間,並有助於提高應用軟件的質量。 [3] 

中間件發展歷程

(1)中間件早期發展
由於中間件需要屏蔽分佈環境中異構的OS和網絡協議,它必須能夠提供分佈式環境下的通信服務.將這種通信服務稱為平台.IBMCICS (Customer Information Control System) 是最早具有中間件技術思想和功能的軟件,但由於CICS不是分佈式環境的產物,人們一般把1984年AT&T貝爾實驗室開發完成的Tuxedo作為第一個嚴格意義上的中間件產品:在很長一段時期裏Tuxedo只是實驗室產品,被NoveIl收購後開展的商業推廣並不成功,直到1995年被BEA公司收購才逐漸成熟起來,BEA公司也因此成為一個真正的中間件廠商。同一時期,IBM的中間件MQSeries及其他許多中間件產品也逐漸發展併成熟起來。 [4] 
(2)中間件發展階段
中間件技術的發展,經歷了面向過程的分佈計算技術、面向對象的分佈計算技術、面向Agent的分佈計算技術3個階段二相應地,中間件產品也分為遠程過程調用中間件( Remote Procedure Call,RPC)、面向消息的中間件(Mes-sage Oriented Middleware,MOM)和對象請求代理中間件3類,其中面向消息的中間件技術最為成熟。 [4] 

中間件分類

(1)事務式中間件
事務式中間件又稱事務處理管理程序,是當前用的最廣泛的中間件之一,其主要功能是提供聯機事務處理所需要的通信、併發訪問控制、事務控制、資源管理安全管理負載平衡故障恢復和其他必要的服務。事務式中間件支持大量客户進程的併發訪問,具有極強的擴展性。由於事務式中間件具有可靠性高、極強的擴展性等特點,主要應用於電信、金融、飛機訂票系統、證券等擁有大量客户的領域。 [3] 
(2)過程式中間件
過程式中間件又稱遠程過程調用中間件。過程中間件一般從邏輯上分為兩部分:客户和服務器。客户和服務器是一個邏輯概念,既可以運行在同一計算機上,也可以運行在不同的計算機上,甚至客户和服務器底層的操作系統也可以不同。客户機和服務器之間的通信可以使用同步通信,也可以採用線程式異步調用。所以過程式中間件有較好的異構支持能力,簡單易用,但由於客户和服務器之間採用訪問連接,所以在易剪裁性和容錯方面有一定的侷限性。 [3] 
(3)面向消息的中間件
面向消息的中間件,簡稱為消息中間件,是一類以消息為載體進行通信的中間件,利用高效可靠的消息機制來實現不同應用間大量的數據交換。按其通信模型的不同,消息中間件的通信模型有兩類:消息隊列消息傳遞。通過這兩種消息模型,不同應用之間的通信和網絡的複雜性脱離,擺脱對不同通信協議的依賴,可以在複雜的網絡環境中高可靠、高效率的實現安全的異步通信。消息中間件的非直接連接,支持多種通信規程,達到多個系統之間的數據的共享和同步。面向消息中間件是一類常用的中間件。 [3] 
面向對象中間件又稱分佈對象中間件,是分佈式計算技術面向對象技術發展的結合,簡稱對象中間件。分佈對象模型面向對象模型在分佈異構環境下的自然拓廣。面向對象中間件給應用層提供各種不同形式的通信服務,通過這些服務,上層應用對事務處理、分佈式數據訪問,對象管理等處理更簡單易行。OMG組織是分佈對象技術標準化方面的國際組織,它制定出了CORBA等標準。 [3] 
(5)Web應用服務器
Web應用服務器是Web服務器和應用服務器相結合的產物。應用服務器中間件可以説是軟件的基礎設施,利用構件化技術將應用軟件整合到一個確定的協同工作環境中,並提供多種通信機制,事務處理能力,及應用的開發管理功能。由於直接支持三層或多層應用系統的開發,應用服務器受到了廣大用户的歡迎,是中間件市場上競爭的熱點,J2EE架構是應用服務器方面的主流標準。 [3] 
(6)其他
新的應用需求、新的技術創新、新的應用領域促成了新的中間件產品的出現。如,ASAAC在研究標準航空電子體系結構時提出的通用系統管理GSM,屬於典型的嵌入式航電系統的中間件,互聯網雲技術的發展雲計算中間件物流網的中間件等隨着應用市場的需求應運而生。 [3] 

中間件基本特點

中間件優勢

1、滿足大量應用的需要 ; [5] 
2、運行於多種硬件和OS平台 ; [5] 
3、支持分佈式計算,提供跨網絡、硬件和OS平台的透明性的應用或服務的交互功能 ; [5] 
4、支持標準的協議 ; [5] 
5、支持標準的接口。 [5] 

中間件侷限

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

中間件應用

1、中間件與電子商務的整合。
Intemet是電子商務發展的基礎,讓商户可以通過它,把商業擴展到能到達的任意地點。這其中離不開大量的信息傳輸,而電子商務則使用了瀏覽器/服務器B/S(BrowserJServer)的技術來達到大量數據處理的目的。 [2] 
2、中間件在B/S模式中的架構。
中間件在B/S模式下起到了功能層的作用。當用户從WEB界面向服務器提交了數據請求或者應用請求時,功能層負責將這些請求分類為數據或應用請求,再向數據庫發出數據交換申請。數據庫對請求進行篩選處理之後,再將所需的數據通過功能層傳遞迴到用户端。通過如此處理,單一用户可以進行點對面的操作,無需通過其他軟件進行數據轉換。 [2] 

中間件趨勢展望

中間件技術的發展方向,將聚焦於消除信息孤島,推動無邊界信息流,支撐開放、動態、多變的互聯網環境中的複雜應用系統,實現對分佈於互聯網之上的各種自治信息資源(計算資源數據資源、服務資源、軟件資源)的簡單、標準、快速、靈活、可信、高效能及低成本的集成、協同和綜合利用,提高組織的IT基礎設施的業務敏捷性,降低總體運維成本,促進IT與業務之間的匹配。中間件技術正在呈現出業務化、服務化、一體化、虛擬化等諸多新的重要發展趨勢 [3] 
近年來,中間件技術取得了很大的成功,成為研究熱點之一。隨着應用的普及和研究的深入,以及互聯網的發展,中間件技術主要呈現出三方面的趨勢:首先,中間件越來越多地向傳統操作系統層滲透,向平台化發展;其次,隨着網絡化的發展趨勢,應用軟件需要的支持機制越來越多,中間件會變廣變厚;其三,中間件也向構件化發展,為上層應用的結構設計和部署提供有效的支持,併為解決軟件複用問題提供支持。隨着我國信息化建設的推進,中間件市場越來越受到重視。中間件軟件市場對我們來説,既是挑戰也是機遇。國內一批中間件企業迅速崛起,2004年國內13家軟件企業成立中國首箇中間件產業聯盟,在我國中間件技術將會長遠規模化發展,為跨平台的應用開發、異構網絡環境的應用,軟件複用等提供了有效的解決之道。 [3] 

中間件相關產品舉例

中間件Apusic MQ

該產品是國產中間件廠商金蝶的旗艦產品之一,金蝶中間件擁有 Apusic J2EE應用服務器、 Apusic MQ消息中間件和 Apusic Studio開發平台,組成了輕量級風格的企業基礎架構軟件平台金蝶 Apuisc Platform,其具備技術模型簡單化、開發過程一體化、業務組件實用化的顯著特性,產品間無縫集成 [6] 

中間件BEA Weblogic

Weblogic系列的最大特點是平台開放。 Weblogic和其他第三方開發工具的結合也非常好,常見的組合就是 Jbuilder+ Weblogic的開發環境
BEA Weblogic integration是 BEA Weblogic Enterprise Platform的一個組件,它提供了企業應用集成所需的各種功能,可用開發新應用,將新應用與現有系統集成,簡化業務流程以及通過門户網關擴展業務基礎結構。 BEA Weblogic Integration為快速交付業務集成、簡化生產管理提供了通用的開發環境,整合了業務集成領域各種不同的部件,其中包括ERPCRM遺留應用、業務用户、供應鏈和業務夥伴。 [6] 

中間件Oracle Fusion

甲骨文公司Oracle融合中間件 Oracle Fusion Middleware是一個全面的中間件產品系列,由甲骨文公司的SOA和中間件產品組成,其中包括: Oracle應用服務器10g、 Oracle應用服務器產品和可選配件、 Oracle數據平台、 Oracle內容服務10g、 Oracle實時協作10g和 Oracle統一傳信。這一經過驗證的中間件產品系列可幫助各企業提高公共運作的效率及敏捷性, Oracle Fusion Middleware還為客户的面向服務應用提供貫穿整個生命週期的全面支持,由於其獨特的插作式架構,這個系列產品具有與企業現有T基礎設施的互操作性 [6] 

中間件SAP XI

SAP XI應用集成套件作為 SAP Netweaver中間件產品的一部分,目的是為non-SAP系統提供一個其他管理信息系統與SAP系統進行數據和流程交互的平台,因為SAP定位於ERP系統,關注點在企業的人、財、物,但對於企業其他的專業系統,SAP的功能無法覆蓋和取代,因此,必須有這樣的“接口”來實現相互之間的數據和業務交換。 [6] 
參考資料