中間件
中間件(英語:Middleware),又譯中介軟體、中介層,是一類提供系統軟件和應用軟件之間連接、便於軟件各部件之間的溝通的軟體,應用軟件可以藉助中間件在不同的技術架構之間共享信息與資源。中間件位於客戶機服務器的操作系統之上,管理着計算資源和網絡通信。
中間件在現代信息技術應用框架如Web服務、面向服務的體系結構等中應用比較廣泛,如應用程序接口、數據庫、Apache的Tomcat,IBM公司的WebSphere,BEA公司的WebLogic應用服務器,中創的InforSuite系列產品,金蝶的Apusic系列產品,東方通的Tong系列中間件等都屬於中間件。
嚴格來講,中間件技術已經不局限於應用服務器、數據庫服務器。圍繞中間件,Apache組織、IBM、Oracle(BEA)、微軟各自發展出了較為完整的軟件產品體系。(Microsoft Servers微軟公司的服務器產品)。
目前主流操作系統主要為Unix、Linux、蘋果公司的系統以及微軟視窗系列。微軟陣營的主要技術提供商來自微軟及其商業夥伴,Java陣營則來自IBM、Sun(已被Oracle收購)、Oracle、BEA(已被Oracle收購)、中創、東方通(Tong系列中間件)、金蝶(Kingdee Apusic)及其合作夥伴,開源陣營則主要來自諸如Apache,SourceForge等組織的共享代碼。
中間件的概念
中間件的概念是隨着技術的發展而發展的。
中國科學院軟件所研究員仲萃豪把中間件定義為「平台+通信」。這個定義限定了只有用於分布式系統中的此類軟件才能被稱為中間件,同時此定義也把中間件與實際應用的應用軟件區分開來。
中間件技術建立在對應用軟件部分常用功能的抽象上,將常用且重要的過程調用、分布式組件、消息隊列、事務、安全、連結器、商業流程、網絡並發、HTTP服務器、Web Service等功能集於一身或者分別在不同品牌的不同產品中分別完成。一般認為在商業中間件及信息化市場主要存在微軟陣營、Java陣營、開源陣營。陣營的區分主要體現在對下層操作系統的選擇以及對上層組件標準的制訂。
基於中間件技術構建的商業信息軟件廣泛的應用於能源、電信、金融、銀行、醫療、教育等行業軟件,降低了面向行業的軟件的開發成本。
中間件名稱存在被誤用、濫用的現象。
中間件的特點
- 中間件是軟件,而且是一大類具有不同功能的軟件,而不是一種具備某具體功能的軟件;
- 中間件是伴隨着網絡而應運而生的;
- 中間件是應用軟件與系統軟件之間的「中介件」「介中軟件」,起到支撐與連接作用;
- 中間件不是開發工具,但它具有開發、管理和部署的功能;
- 中間件是為應用軟件服務的,應用軟件是為最終用戶服務的,最終用戶並不直接使用中間件;
- 中間件不是大眾消費類軟件產品,除非是一個行業內的專業人士,普通消費者是不會接觸中間件的;
- 在基礎軟件(操作系統、數據庫、中間件)中,中間件是最不為人所了解的。
中間件的作用
- 整合運行環境:中間件能夠屏蔽、彌合底層運行環境中的差異性與異構性,確保整個系統在異構平台間能夠穩定運行;
- 提高開發效率:中間件能夠提高開發效率,大幅縮短開發周期;
- 軟件質量:中間件能夠明晰系統內的不同層級,對接不同的可插拔方式,從而保障軟件的質量;
- 節約成本:中間件可大幅節省應用系統內的系統資源,並減少運行成本。
衍伸
上層中間件
上層中間件(Upper Middleware)是基於中間件之上的一種產品服務。傳統的中間件一般只是提供技術服務,而在此之上的上層中間件考慮解決業務問題,為業務人員所用。簡單地說,上層中間件是中間件與業務服務的結合產物,所表現出的是允許業務人員定製業務服務,實現實時的業務價值。一般來說,上層中間件是SOA架構的一種延伸形態。
物聯網中間件
與物聯網/M2M相關中間件有很多種類,如嵌入式中間件、數字電視中間件、RFID中間件和通用M2M物聯網中間件等,中間件和物聯網一樣無處不在。OSGi(Open Services Gateway initiative)是一個1999年成立的開放標準聯盟,被廣泛的用到了手機和智能M2M終端上,在汽車業(汽車中的嵌入式系統)、工業自動化、智能樓宇、網格計算、雲計算、各種機頂盒、Telematics等領域都有廣泛應用。