知名百科  > 所屬分類  >  其他科技   

中間件

中間件是一個獨立的系統軟件或服務程序。使用這種軟件,分布式應用軟件可以在不同技術之間共享資源。中間件位于客戶機服務器操作系統上,管理計算資源和網絡通信。本質上,中間件是一個分布式軟件層或平臺。典型的中間件包括事務中間件、過程中間件、消息中間件、對象中間件、Web應用服務器和Web服務中間件。美國電報公司·貝爾實驗室于1984年開發的Tuxedo被認為是嚴格意義上的第一個中間件產品。東方通科技于1992年開始中間件的研發,并于1993年推出首款產品TON-LINK/Q。BEA成立于1995年,在收購Tuxedo后成為第一家中間件制造商。2001年,微軟發布了。NET和中間件發展成兩個技術陣營:。NET和Java。2010年,全球中間件市場總額為176億美元,2015年市場空間達到250億美元,到2023年,全球中間件市場空間達到434億美元。

中間件的特點是易于集成、高可靠性、易用性和高透明性。未來的發展方向是著眼于消除信息孤島,促進無邊界信息流以支持開放、動態、多變的互聯網環境中的復雜應用系統,從而實現互聯網上計算資源、數據資源、服務資源和軟件資源等信息資源的綜合利用。

目錄

概念定義 編輯本段

中間件有兩層含義。從狹義上講,中間件是一種在網絡環境下連接操作系統軟件和應用軟件的分布式軟件。從廣義上講,中間件可以被視為中間層軟件,它主要是指介于系統軟件和應用軟件之間的中間層次的軟件,目的是為應用軟件的開發提供更直接有效的支持。相對廣泛接受的定義來自IDC(Intennet data Center):中間件是一個獨立的系統軟件或服務程序,分布式應用軟件通過它在不同技術之間共享資源。中間件位于客戶機服務器的操作系統上,管理計算資源和網絡通信。

發展歷史 編輯本段

出生背景

20世紀80年代,高速網絡的出現和微型計算機工作站的普及使網絡分布式計算成為新一代計算和應用的主流。網絡分布式計算需要利用Internet/Inteanet上的各種資源協同完成計算任務,因此出現了客戶機/服務器的計算服務模式,它使多個客戶機能夠共享數據設備。20世紀90年代初,將數據存儲在數據服務器中并在客戶端實現其相關業務邏輯的“胖”客戶機/服務器計算模式成為主流模式。然而,兩層結構模式制約了系統的發展。隨著用戶業務需求的增長和互聯網的普及,出現了三層客戶機/服務器和瀏覽器/服務器結構,并在客戶界面和數據庫之間增加了一個獨立的中間層。

相關發展

IBM的CICS(注冊內部控制專家)是最早具有中間件技術思想和功能的軟件。但是,由于中間件需要在分布式環境中屏蔽異構OS和網絡協議,因此中間件必須能夠在分布式環境中提供通信服務,而CICS不是分布式環境的產物。因此,1984年(有爭議的是,1990年在美國電話電報公司貝爾實驗室誕生的Tuxedo(現為Oracle所有)被視為嚴格意義上的第一個中間件產品。Tuxedo解決了分布式事務控制的問題,中間件開始成為網絡應用的基礎設施,中間件正式形成。后來被Novell收購。

東方通科技于1992年開始中間件的研發,并于1993年推出首款產品TON-LINK/Q。

1994年,IBM發布了消息隊列服務的MQ系列產品,以解決分布式系統的異步、可靠和傳輸通信服務問題,消息中間件由此誕生。BEA成立于1995年,從Novell公司購買了Tuxedo,并開始利用其資本和技術優勢在全球市場推廣中間件產品。同年,Java之父詹姆斯·高斯林發明了Java語言,提供跨平臺的通用網絡應用服務,成為中間件的核心技術。

2001年,微軟發布了。NET和中間件發展成兩個技術陣營:。NET和Java。

2010年全球中間件市場總額為176億美元,其中AS(18.4%)、ESB(12.3%)和BPMS(12.3%)的需求最大。

2015年市場空間達到250億美元,其中前五名為IBM、Oracle、微軟、SoftwareAG、Tibeo等。其市場主要分布在北美、西歐、日本和亞太地區。

到2023年,全球中間件市場空間為434億美元,五年復合增長率為10.3%;中國中間件市場空間為13.6億美元,五年復合增長率為15.7%。

基本特征 編輯本段

平臺化:中間件是一個平臺,所以它必須獨立存在。同時,中間件作為運行時的系統軟件,為上層網絡應用系統提供運行環境,并通過標準接口隔離其支撐系統,實現其獨立性,即平臺性。

易于集成:中間件易于集成,并且可以無縫連接到應用程序開發環境。應用程序可以定位和共享中間件提供的各種應用服務,這將用戶從復雜的平臺、網絡和數據庫選擇中解放出來。

高可靠性和易用性:中間件具有高可靠性和易用性,可以在同構或異構環境中與各種數據源進行通信。同時,它可以管理數據之間的公共邏輯約束。中間件在實現對象的跨平臺應用時,對外提供了統一的方法調用接口,降低了應用系統的復雜度。跨平臺統一接口的調用使應用程序開發具有標準化和高度可移植性。由于中間件的語言獨立性,開發人員可以利用彼此的編程技能和成果。

透明性:中間件可以滿足大量應用程序的需求,運行在多種硬件和操作系統平臺上,支持分布式計算,并提供跨網絡、硬件和操作系統平臺的應用程序或服務的透明交互功能。由于中間件實現的功能對應用程序是透明的,因此可以在不影響系統其他部分的情況下在本地進行改進。

主要分類 編輯本段

中間件主要封裝底層系統的能力,使應用層能夠通過系統中間件與系統通信,提供能力訪問、能力暴露和安全控制功能,避免應用組件與OS(操作系統)層的直接交互,并將復雜的協議處理、網絡故障、并行操作等問題與應用程序隔離開來,從而為上層應用軟件提供運行和開發環境。基于不同的目的和實現機制,中間件可以分為:事務中間件、過程中間件、消息中間件、對象中間件、Web應用服務器、Web服務中間件等。,以及數據訪問中間件。

過程中間件:過程中間件,也稱為遠程過程調用(RPC)中間件,通常在邏輯上分為兩部分:客戶端和服務器。客戶端和服務器之間的通信可以使用同步通信或異步調用線路程序。過程中間件具有良好的異構支持能力。通過采用C/S體系結構,分布式系統中的自治行為實體被分為兩個角色:客戶端和服務器端。客戶端是服務請求者,服務器是服務接收者,提供一個或多個遠程流程,這是一種基于流程的服務訪問。在RPC模型中,如果客戶端和服務器有相應的RPC接口并有RPC運行支持,則可以完成相應的互操作性,而不必局限于特定的服務器。簡單易用,但由于客戶端和服務器之間的訪問連接,它在易于裁剪和容錯方面存在一些限制。典型成果包括以OSF DCE(分布式計算環境)和開放軟件基金會(開放軟件基金會)為代表的通用產品。

面向消息的中間件:消息中間件(Message Oriented Middleware,MOM)簡稱消息中間件,是一種以消息為載體進行通信的中間件。它使用高效可靠的消息機制來實現不同應用程序之間的大量數據交換。根據不同的通信模型,可分為消息隊列和消息傳遞,可在復雜的網絡環境中實現安全的異步通信,具有高可靠性和高效率。它可以擴展分布式環境中進程之間的通信,并支持多種通信協議、語言、應用程序、硬件和軟件平臺。它的主要特點是通信程序可以在不同的時間運行,對應用程序的結構沒有約束,并且程序與網絡的復雜性隔離。流行的MOM中間件產品包括IIBM的MQSeries和BEA的MessageQ。

面向對象的中間件:面向對象中間件也稱為分布式對象中間件,支持分布式對象模型,使軟件開發人員能夠在分布式異構環境中使用面向對象的方法和技術開發應用程序。它是一個標準化的中間件,具有強大的功能、良好的異構支持和廣泛的適用性。它為分布式計算環境中透明地傳輸對象請求提供了一個通信框架,是當今軟件技術的主流方向。CORBA和DCOM是兩個最強大的標準。OMG(Object Management Group)是分布式對象技術標準化的國際組織,它制定了CORBA等標準。

數據訪問中間件:數據庫訪問中間件是在系統中建立數據資源互操作性的模型,為網絡中的虛擬緩存和格式轉換提供了方便。它是一種應用廣泛且成熟的中間件,其典型代表是ODBC。ODBC是一種基于數據庫的中間件標準,它允許應用程序與本地或遠程數據庫進行通信,并提供了一系列API。在大多數情況下,這些API隱藏在開發工具中,程序員不會直接使用它們。但在數據訪問中間件處理模型中,數據庫是信息存儲的核心單元,中間件以靈活的方式完成通信功能,但不適用于一些需要高性能處理的場合。

交易中間件:事務中間件,也稱為事務管理程序,是應用最廣泛的中間件之一。其主要功能是提供在線事務處理所需的通信、并發訪問控制、事務控制、資源管理、安全管理、負載平衡、故障恢復等必要服務。它具有可靠性高、擴展性強的特點,主要應用于電信、金融、飛機訂票系統、證券等領域。

Web應用服務器:Web應用服務器是Web服務器和應用服務器結合的產物。應用服務器中間件是軟件的基礎設施,它利用組件技術將應用軟件集成到一定的協同工作環境中,并提供各種通信機制、事務處理能力和應用程序開發與管理功能。應用服務器是中間件市場的熱點。

功能特征 編輯本段

中間件是一種獨立的系統級軟件,它連接操作系統層和應用層,屏蔽具體操作的細節,并為不同的操作系統提供應用程序接口標準化和協議統一。中間件的目的是簡化分布式系統的構建。其基本思想是提取分布式系統構建中的通信、同步、激活、并發、可靠性、安全性、可擴展性和異構性等常見問題,封裝常見問題的解決機制并提供簡單統一的接口。其功能包括通信支持、并發支持和公共服務

通信支持:中間件為其支持的應用軟件提供了基于平臺的運行環境,屏蔽了底層通信之間的接口差異,實現了互操作。大多數基于中間件的系統需要與其他分布式服務或系統進行交互。操作系統提供一組網絡操作接口,而中間件提供通信支持以屏蔽復雜的底層接口。通信支持主要包括遠程過程調用和信息。遠程過程調用是運行中的客戶端像本地服務一樣調用遠程服務器的服務,消息機制是使用高效可靠的消息傳遞機制進行平臺間的數據交互。

應用支持:中間件的目的是為上層應用服務,提供應用層不同服務之間的互操作機制,為上層應用開發提供統一的平臺和運行環境,封裝不同的操作系統,為應用提供統一的標準接口,實現應用開發和運行的獨立性,并為應用結構和開發方法提供強有力的支持。

并行支持:中間件為上層提供了“單線程”或“單進程”的開發模型,屏蔽了采用并發技術(多線程、多進程)帶來的復雜性,簡化了上層程序開發和維護的復雜性,提高了上層程序的穩定性。

公共服務:公共服務是應用程序中常見功能或約束的提取。中間件提供一個或一組公共服務,這些服務是針對某個系統或某類系統的。應用系統在實現和運行時可以直接使用公共服務。通過提供標準統一的公共服務,減少了系統開發的工作量,也有助于應用開發人員更加關注業務功能的需求、設計和實現,提高應用軟件的質量。

系統結構 編輯本段

中間件是具有一系列特定屬性的程序模塊或服務,大致分為上層、中間層和下層三個模塊。上層是應用程序接口層,中間層是事件處理層,下層是數據采集設備接口層。它通過上層和下層接口與外界交互,中間層處理數據。

應用程序接口層:應用程序接口可分為內容層、信息層和傳輸層,是中間件與外部應用鏈接的通道,主要連接應用系統程序、網絡訪問程序等中間件或服務系統。應用程序通常是現有企業運行的程序,如企業資源管理、供應鏈管理、智能交易、分析報告等。網絡訪問程序通過應用程序接口實現系統與遠程服務或相關信息資源服務器的連接,或者為其他中間件或服務系統提供數據服務,如對象分析服務。

事件處理層:事件處理層由多個事件程序模塊組成,如設備管理模塊、事件管理模塊、任務管理模塊和實時內存事件數據庫。從底層過濾、聚合、分類和分發數據。

數據采集設備的接口層:物聯網的底層數據來自射頻終端、傳感器和條形碼等不同的數據采集設備,因此中間件必須為各種形式的數據采集設備提供集成的匹配功能。數據采集設備接口層位于中間件架構的最底層,直接與數據采集器進行交互,提供RS-232、以太網、無線網絡、USB等不同設備的鏈接方式,采用TCP/IP JEEE 802.11系列、ZigBee等多種連接通信協議,將采集到的數據生成事件并發送到事件處理層。

主要應用 編輯本段

電子商務的集成:互聯網是電子商務的基礎。電子商務的發展離不開大量的信息傳遞。電子商務使用B/S技術處理大量數據。中間件在B/S模式中扮演功能層的角色。用戶從Web界面向服務器提交數據請求,功能層負責將這些請求分類成數據,然后將數據交換應用程序發送到數據庫。在數據庫篩選請求后,所需的數據通過功能層傳遞回用戶。此時,單個用戶可以進行點對點通信。

中間件中間件

自然地理應用:為了實現專用網絡和位置服務平臺的集成應用,可以使用中間件(位置路由工具)在不同網絡之間和不同編碼協議下轉發位置信息。例如,HLJCORS(黑龍江省衛星定位連續運行綜合服務系統)和黑龍江省位置服務平臺是兩個獨立的平臺,具有不同的功能和用途。如果兩個平臺集成應用,將實現更高精度的定位服務。但是兩個平臺有各自的網絡環境,不能直接交換數據,但是可以通過中間件完成網絡環境和數據格式之間的轉換。位置路由工具接收到來自用戶設備的數據流后,首先完成數據分析得到用戶的經緯度、大地高等位置信息,然后按照用戶自定義的數據格式進行編碼,并將位置信息轉發給位置服務平臺。

汽車工業的交集:汽車產業正在向電氣化、智能化、網聯化、共享化轉型。智能電控、智能駕駛、智能互聯和智能出行深刻影響著人們的生活方式和思維方式,面向服務的軟件架構越來越受到各大汽車廠商的青睞。面向服務的中間件(如數據分發服務,DDS)可以實現低延遲、高可靠性和高實時性的數據融合服務。它可以從根本上降低軟件的耦合性和復雜性,提高軟件的模塊化程度,與DDS集成的汽車軟件可以在下一代汽車的架構中更好地運行,這也可以降低開發成本,縮短研發時間。

在電信服務系統中的應用:以Tuxedo中間件為例,其結構包括客戶端邏輯層、Tuxedo中間層和數據庫層。在三層結構體系中,電信查詢服務系統基于C/S和B/S兩種架構方案。例如,C/S架構為個人和企業提供總賬查詢、支付歷史查詢和余額查詢,并通過客戶端-應用服務器-數據庫服務器的架構實現。B/S架構采用WEB瀏覽器-WEB服務器-應用服務器-數據庫服務器的架構。電信查詢服務系統以Tuxedo中間件為核心,集成C/S和B/S架構,實現客戶端和服務器端的數據交互和同步通信。

在航空航天領域的應用:根據現代航空電子數據加載功能的需求,可以設計并實現一個介于應用軟件和系統軟件之間的支持重用的數據加載中間件軟件。它使用系統軟件提供的基本服務,如文件系統、總線或網絡通信接口,來連接數據加載系統中的加載管理端和代理端,屏蔽數據加載相關操作的具體實現細節,并為數據加載應用軟件提供與平臺無關的統一標準接口。它可以減少加載應用軟件的開發工作量,有助于提高數據加載系統的可靠性。

附件列表


0

詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫學等領域),建議您咨詢相關領域專業人士。

如果您認為本詞條還有待完善,請 編輯

上一篇 Docker    下一篇 Java數據庫連接

標簽

同義詞

暫無同義詞
主站蜘蛛池模板: 黄色毛片免费看| 成人性生免费视频| 女博士梦莹凌晨欢爱| 夜夜揉揉日日人人青青| 国产精品综合一区二区三区 | 国产亚洲一区二区三区在线观看| 国产亚洲精品拍拍拍拍拍| 四虎永久在线精品国产免费| 内地女星风流艳史肉之| 人妻体体内射精一区二区| 亚洲人成人77777网站不卡| 做a的视频免费| 中文精品久久久久国产网址| 99re66热这里只有精品17| 国产精品三级视频| 欧美日韩高清性色生活片| 成人漫画免费动漫y| 国模丽丽啪啪一区二区| 国产成人精品免费视频大全| 和桃子视频入口网址在线观看| 亚洲综合激情另类小说区| 九色综合狠狠综合久久| 两根黑人粗大噗嗤噗嗤视频| 91手机在线视频观看| 青娱乐在线免费观看视频| 白白色免费在线视频| 最近日本中文字幕免费完整| 我要看免费毛片| 国产乱人伦av在线a| 亚洲人成亚洲人成在线观看| 一级毛片免费视频网站| 福利视频导航大全| 欧美成人另类人妖| 国产欧美日韩三级| 久久久亚洲欧洲日产国码农村| 18禁美女黄网站色大片免费观看| 色综合久久天天综线观看 | 亚洲国产欧洲综合997久久| 一本色道久久88综合日韩精品| 3d动漫精品啪啪一区二区免费| 里番肉本子同人全彩h|