『壹』 什麼是中間件 中間件起到了什麼作用
1、中間件是一類連接軟體組件和應用的計算機軟體,它包括一組服務。以便於運行在一台或多台機器上的多個軟體通過網路進行交互。該技術所提供的互操作性,推動了一致分布式體系架構的演進,該架構通常用於支持並簡化那些復雜的分布式應用程序,它包括web伺服器、事務監控器和消息隊列軟體。
2、中間件(middleware)是基礎軟體的一大類,屬於可復用軟體的范疇。顧名思義,中間件處於操作系統軟體與用戶的應用軟體的中間。
3、中間件在操作系統、網路和資料庫之上,應用軟體的下層,總的作用是為處於自己上層的應用軟體提供運行與開發的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟體。在眾多關於中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨立的系統軟體或服務程序,分布式應用軟體藉助這種軟體在不同的技術之間共享資源,中間件位於客戶機伺服器的操作系統之上,管理計算資源和網路通信。
『貳』 中間件是什麼幹嘛用的
中間件是一種獨立的系統軟體或服務程序,是連接兩個獨立應用程序或獨立系統的軟體,即使它們具有不同的介面,但通過中間件相互之間仍能交換信息。
中間件在操作系統、網路和資料庫之上,應用軟體的下層,總的作用是為處於自己上層的應用軟體提供運行與開發的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟體。
隨著計算機技術的快速發展,更多的應用軟體被要求在許多不同的網路協議、不同的硬體生產廠商以及不一樣的網路平台和環境上運營。這導致了軟體開發者需要需要開發多種應用程序來達到運營的目的。所以,中間件技術的產生,在極大程度上減輕了開發者的負擔,使得網路的運行更有效率。
(2)中間件能給軟體開發帶來哪些幫助擴展閱讀
中間件技術
1、遠程過程調用
一個應用程序使用RPC來「遠程」執行一個位於不同地址空間里的過程,並且從效果上看和執行本地調用相同。事實上,一個RPC應用分為兩個部分:server和client。server提供一個或多個遠程過程;client向server發出遠程調用。
在RPC模型中,client和server只要具備了相應的RPC介面,並且具有RPC運行支持,就可以完成相應的互操作,而不必限制於特定的server。
2、面向消息的中間件
MOM指的是利用高效可靠的消息傳遞機制進行平台無關的數據交流,並基於數據通信來進行分布式系統的集成。消息放入適當的隊列時,目標程序甚至根本不需要正在運行;即使目標程序在運行,也不意味著要立即處理該消息。
對應用程序的結構沒有約束:在復雜的應用場合中,通訊程序之間不僅可以是一對一的關系,還可以進行一對多和多對一方式,甚至是上述多種方式的組合。多種通訊方式的構造並沒有增加應用程序的復雜性。
3、對象請求代理
可向上提供不同形式的通訊服務,包括同步、排隊、訂閱發布、廣播等等,在這些基本的通訊平台之上,可構築各種框架,為應用程序提供不同領域內的服務,如事務處理監控器、分布數據訪問、對象事務管理器OTM等。
4、事務處理監控
事務處理監控最早出現在大型機上,為其提供支持大規模事務處理的可靠運行環境。隨著分布計算技術的發展,分布應用系統對大規模的事務處理提出了需求,比如商業活動中大量的關鍵事務處理。
『叄』 中間件有何作用
(1)通信支持
中間件為其所支持的應用軟體提供平台化的運行環境,該環境屏蔽底層通信之間的介面差異,實現互操作,所以通信支持是中間件一個最基本的功能。早期應用與分布式的中間件交互主要的通信方式為遠程調用和消息兩種方式。
通信模塊中,遠程調用通過網路進行通信,通過支持數據的轉換和通信服務,從而屏蔽不同的操作系統和網路協議。遠程調用是提供給予過程的服務訪問,為上層系統只提供非常簡單的編程介面或過程調用模型。消息提供非同步交互的機制。
(2)應用支持
中間件的目的就是服務上層應用,提供應用層不同服務之間的互操作機制。它為上層應用開發提供統一的平台和運行環境,並封裝不同操作系統提供API介面,向應用提供統一的標准介面,使應用的開發和運行與操作系統無關,實現其獨立性。
中間件松耦合的結構,標準的封裝服務和介面,有效的互操作機制,從而給應用結構化和開發方法提供有力的支持。
(3)公共服務
公共服務是對應用軟體中共性功能或約束的提取。將這些共性的功能或者約束分類實現,並支持復用,作為公共服務,提供給應用程序使用。通過提供標准、統一的公共服務,可減少上層應用的開發工作量,縮短應用的開發時間,並有助於提供應用軟體的質量。
(3)中間件能給軟體開發帶來哪些幫助擴展閱讀:
中間件的特點:
1、應用支撐
中間件的最終目的是解決上層應用系統的問題,而且也是軟體技術發展到今天對應用軟體提供最完善徹底的解決方案。
現代面向服務的中間件在4個方面形成了很高地應用支撐能力,分別為軟體的結構、模型、開發方法以及互操作,而要最終解決軟體的靈活應變問題、效率問題、質量問題、互操作問題這四大問題,需要在軟體技術的內在結構、架構層面進行思考。
2、耦合關系
中間件基於SOA架構,在松耦和解耦過程中演變成了境界。而傳統軟體將軟體之中核心三部分數據轉換、網路連接和業務邏輯所有的都耦合在一個整體,產生為鐵板一塊的軟體,然後動一點而動全身,這樣的軟體就很難適應市場的需求。
而分布式對象技術可以分離連接邏輯,消息中間件非同步處理連接邏輯,形成了很大的靈活性。中間件分離分布式對象與消息代理的數據轉換。SOA架構以服務的封裝,解耦實現了業務邏輯、數據轉換與網路連接等。
3、互操作性
傳統中間件在軟體的互操作方面,通過標准化的API完成了同類系統之間的調用互操作,但是連接互操作離不開原有的特定的訪問協議,比如CORBA用於的IIOP,JAVA用於的RMI等。
而SOA以支持Internet、標准化及操作系統無關的SOAP協議完成了連接互操作。並且服務的封裝一般使用XML協議,它有自定義及自解析的特性,因此基於SOA的中間件能夠完成語義互操作。
『肆』 中間件軟體的介紹
中間件處於操作系統軟體與用戶的應用軟體的中間,為上層的應用軟體提供運行與開發的環境並幫助用戶開發和集成應用軟體。它不僅要實現互連,還要實現應用之間的互操作,其網路通信功能是其最突出的特點。中間件是一種應用於分布式系統的基礎軟體,位於應用與操作系統、資料庫之間,主要用於解決分布式環境下數據傳輸、數據訪問、應用調度、系統構建和系統集成、流程管理等問題,是分布式環境下支撐應用開發、運行和集成的平台。分布式系統的數據傳輸問題是中間件需解決的最基本問題,隨著軟體技術的發展,中間件的應用領域逐漸擴大到應用調度、分布式系統構建與集成、業務流程管理等方面。中間件產品開發的核心思想是抽取分布式系統對於數據傳輸、信息系統構建與集成等問題的共性要求,封裝共性問題的解決方法,對外提供簡單統一的介面,從而減少開發人員面對上述共性問題時的難度和重復性工作量,提高系統的開發效率。
『伍』 軟體領域中,中間件是什麼意思有什麼用謝謝大家!!!
中間件是為了解決應用程序對網路過分依賴的問題採取了一種有效的方法,在客戶機和伺服器之間加一層軟體。它是基礎軟體的一大類,屬於可復用軟體的范疇。顧名思義,中間件處於操作系統軟體與用戶的應用軟體的中間。
在操作系統、網路和資料庫之上,應用軟體的下層,總的作用是為處於自己上層的應用軟體提供運行與開發的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟體。在眾多關於中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨立的系統軟體或服務程序,分布式應用軟體藉助這種軟體在不同的技術之間共享資源,中間件位於客戶機伺服器的操作系統之上,管理計算資源和網路通信。
中間件是一類軟體,而非一種軟體;中間件不僅僅實現互連,還要實現應用之間的互操作;中間件是基於分布式處理的軟體,最突出的特點是其網路通信功能。
『陸』 物聯網中間件的作用是什麼
物聯網的中間件是一種軟體產品,它有兩種模式,一種是介於操作系統與應用軟體之間,另一種是介於硬體和應用軟體中間,發揮支撐和信息傳遞的作用。
中間件一種計算機軟體。再看它的名字“中間”件,簡單粗暴的彰顯了它的位置——在中間。直白地說,中間件是一種軟體產品,它有兩種模式,一種是介於操作系統與應用軟體之間,另一種是介於硬體和應用軟體中間,發揮支撐和信息傳遞的作用。
第一種模式中,中間件能管理計算機資源和網路通訊,將操作系統與應用軟體連接起來,實現信息傳遞和交互。另一種模式中,中間件將管理集成硬體設備,將硬體數據信息集成並上傳給應用軟體,實現溝通交互。兩種模式中,中間件都可以向下集成處理,向上直接為系統軟體提供數據等資源。
在實際應用中,中間件還是比較神秘滴,它專業性很強,技術門檻高,而且它不是大眾能直接使用的軟體產品,這就直接導致除了專業人士,大眾能與中間件打交道的地方很少。
中間件的應用范圍也非常廣泛,不僅涉及網路應用的各個層面,涵蓋從基礎通訊、數據訪問到應用集成等眾多的環節,還有工業硬體集成上的應用。現在針對不同的應用需求涌現出多種各具特色的中間件產品,常用的有交易中間件、消息中間件、集成中間件等等。
Noah 物聯網平台,屬於第二種模式的中間件技術,向下連接工業物聯網硬體,向上對接業務軟體,提供標准數據介面,是系統集成的利器,能幫助企業智能設備管理、數據管理和運維分析,提高系統運行效率、降低集成成本。
『柒』 物聯網中間件的作用是什麼
作為物聯網應用中的重要軟體組成部分,中間件是連接相關硬體設備和業務應用的橋梁,其主要功能包括屏蔽異構、實現互操作、信息預處理等。(1)屏蔽異構。計算機軟、硬體間的異構,包括硬體(CPU和指令集,硬體結構,驅動程序等等)、操作系統(操作系統API和開發環境)、資料庫(各種存儲和存取格式)等等。其原因在於市場競爭、技術升級、投資保障等因素。物聯網的異構特性主要表現在:物聯網底層的信息採集設備種類繁多,如感測器、RFID、QR、攝像機、GNSS等,這些信息採集裝置及其網關具有不同的硬體結構、驅動程序、操作系統等;不同設備採集的數據格式不同,因此,中間件需要轉換所有這些數據的格式,以使它們可以被應用系統直接處理。(2)實現互操作。通過物聯網,同一信息採集設備收集到的信息可能會被用於多個應用系統,不同應用系統之間的數據還需要彼此共享和互通。然而,由於異構性的原因,不同的應用系統產生的數據結果都依賴於計算環境,導致無法在多種軟體之間、不同平台之間進行移植或移植。另外,由於網路協議和通信機制的不同,這些系統之間還無法進行有效的集成。而通過中間件,可以建立一個統一的平台,實現各個應用系統與應用平台之間的互操作。(3)預處理數據。物聯網感知層要採集大量的信息,如果這些信息直接傳送到應用系統中,將會使應用系統難以處理這些信息,甚至有出現崩潰的危險。而這個應用系統所要獲得的並非那些原始數據,而是對它們有意義的綜合信息。因此,中間件平台需要對這些海量信息進行過濾,並將其融合為有意義的事件再傳送到應用系統。
『捌』 什麼是中間件
這其實是一個比較虛的概念。廣義的中間件范圍很廣。起溝通作用的都可以認為是中間件。甚至ODBC這樣的東西你也可以認為是中間件。
現在用的比較多的中間件應該是BEA公司的tuxedo和IBM公司的weblogic?(好象是這個東西),我接觸過一點tuxedo。oracle、sun和ms好象也有類似產品,不過用的人很少。tuxedo是這個領域的領導者,不過IBM正在追趕並有可能超過,畢竟,IBM就是IBM。
tuxedo這東西我們用來做資料庫和前台應用之間的中間件。
使用了中間件之後,以前直接連接的前台應用程序和資料庫之前就多了個tuxedo,現在前台程序把請求發給tuxedo,tuxedo再把請求發給資料庫,資料庫處理結束之後把結果返回tuxedo,tuxedo再把結果送回給前台。這樣一搞,表面看復雜了很多。不過帶來一些好處,比如:
安全。tuxedo的服務是定製的,這就有點象是存貯過程,因為應用程序無法直接接到資料庫而只能通過tuxedo,所以應用程序無法做tuxedo服務之外的事情。你把你的應用邏輯寫在tuxedo中,你就可以保證你的數據是安全的。
性能。有些資料庫性能不好,比如oracle一個連接就是好多M,連接數一多,機器內存就沒了,有了tuxedo之後,tuxedo負責連接資料庫,連接數比較少,tuxedo可以用排隊的方式來處理這些資料庫請求,這樣提高了性能。中間件的高級應用好象還可以把資料庫分布在不同的機器上,由tuxedo動態分配前、後台的請求和處理,把它們搞在不同的機器上,所以你用了中間件之後如果後台資料庫處理來不及,可以加一台機器,前台請求太多(比如網站)可以加多前台機器。你可以靈活的調整性能。
方便移植。業務邏輯做到了中間件里之後,你更換後台資料庫、改變前台的開發工具什麼的移植工作較小,因為中間件的工作改動不大。
應用伺服器做的人好象就更多了。而且應用伺服器這東西和中間件類似(邏輯上)我覺得它應用也是中間件的一種,不過大家一般說中間件都是指的狹義的中間件,就是tuxedo這些。
中間件應用領域很廣的。簡直大一點的應用都可以用到中間件。國內也有一些開發商自己寫中間件,不過好象是自己用,沒形成市場。