共找到2條詞條名為中間件的結果 展開

中間件

連接軟體組件和應用的計算機軟體

中間件是一種獨立的系統軟體或服務程序,分散式應用軟體藉助這種軟體在不同的技術之間共享資源。中間件位於客戶機/ 伺服器的操作系統之上,管理計算機資源和網路通訊。是連接兩個獨立應用程序或獨立系統的軟體。相連接的系統,即使它們具有不同的介面,但通過中間件相互之間仍能交換信息。執行中間件的一個關鍵途徑是信息傳遞。通過中間件,應用程序可以工作於多平台或OS環境。

基本概念


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

基本功能


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

分類


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

發展歷程


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

基本特點


特長

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

局限

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

應用


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

趨勢展望


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

產品舉例


Apusic MQ
該產品是國產中間件廠商金蝶的旗艦產品之一,金蝶中間件目前擁有 Apusic J2EE應用伺服器、 Apusic MQ消息中間件和 Apusic Studio開發平台,組成了輕量級風格的企業基礎架構軟體平台金蝶 Apuisc Platform,其具備技術模型簡單化、開發過程一體化、業務組件實用化的顯著特性,產品間無縫集成。
Weblogic系列的最大特點是平台開放。 Weblogic和其他第三方開發工具的結合也非常好,常見的組合就是 Jbuilder+ Weblogic的開發環境。
BEA Weblogic integration是 BEA Weblogic Enterprise Platform的一個組件,它提供了企業應用集成所需的各種功能,可用開發新應用,將新應用與現有系統集成,簡化業務流程以及通過門戶網關擴展業務基礎結構。 BEA Weblogic Integration為快速交付業務集成、簡化生產管理提供了通用的開發環境,整合了業務集成領域各種不同的部件,其中包括ERP、CRM遺留應用、業務用戶、供應鏈和業務夥伴。
oracle fusion
甲骨文公司的 Oracle融合中間件 Oracle fusion middleware是一個全面的中間件產品系列,由甲骨文公司的SOA和中間件產品組成,其中包括: Oracle應用伺服器10g、Oracle應用伺服器產品和可選配件、 Oracle數據平台、 Oracle內容服務10g、 Oracle實時協作10g和 Oracle統一傳信。這一經過驗證的中間件產品系列可幫助各企業提高公共運作的效率及敏捷性, Oracle fusion middleware還為客戶的面向服務應用提供貫穿整個生命周期的全面支持,由於其獨特的插作式架構,這個系列產品具有與企業現有T基礎設施的互操作性。
SA PXI
SA PXI應用集成套件作為 SA NEtweaver中間件產品的一部分,目的是為non-SAP系統提供一個其他管理信息系統與SAP系統進行數據和流程交互的平台,因為SAP定位於ERP系統,關注點在企業的人、財、物,但對於企業其他的專業系統,SAP的功能無法覆蓋和取代,因此,必須有這樣的“介面”來實現相互之間的數據和業務交換。