中間件(英語(yǔ):Middleware)是介于應(yīng)用系統(tǒng)和系統(tǒng)軟件之間的一類(lèi)軟件,它包括一組服務(wù),以便于軟件各部件之間的交互。也就是說(shuō),關(guān)于中間件,我們可以理解為:是一類(lèi)能夠?yàn)橐环N或多種應(yīng)用程序合作互通、資源共享,同時(shí)還能夠?yàn)樵搼?yīng)用程序提供相關(guān)的服務(wù)的軟件。(注意:中間件是一類(lèi)軟件的總稱(chēng),不是單獨(dú)的一個(gè)軟件)它一般提供如下功能:通信支持、應(yīng)用支持、公共服務(wù)正常情況下一次web的訪問(wèn)順序是:web瀏覽器—服務(wù)器(硬件)—web容器—web應(yīng)用服務(wù)器—數(shù)據(jù)庫(kù)服務(wù)器。*需要注意的是,中間件是一類(lèi)軟件的總稱(chēng),不是單獨(dú)的一個(gè)軟件。1、事務(wù)式中間件
事務(wù)式中間件又稱(chēng)事務(wù)處理管理程序,是當(dāng)下用的最廣泛的中間件之一,它具有可靠性高、極強(qiáng)的擴(kuò)展性等特點(diǎn),主要應(yīng)用于電信、金融、飛機(jī)訂票系統(tǒng)、證券等擁有大量客戶的領(lǐng)域。過(guò)程式中間件又稱(chēng)遠(yuǎn)程過(guò)程調(diào)用中間件。過(guò)程式中間件有較好的異構(gòu)支持能力,簡(jiǎn)單易用,但由于客戶和服務(wù)器之間采用訪問(wèn)連接,所以在易剪裁性和容錯(cuò)方面有一定的局限性。面向消息的中間件,簡(jiǎn)稱(chēng)為消息中間件,是一類(lèi)以消息為載體進(jìn)行通信的中間件,利用高效可靠的消息機(jī)制來(lái)實(shí)現(xiàn)不同應(yīng)用間大量的數(shù)據(jù)交換。消息中間件的非直接連接,支持多種通信規(guī)程,達(dá)到多個(gè)系統(tǒng)之間的數(shù)據(jù)的共享和同步。面向?qū)ο笾虚g件又稱(chēng)分布對(duì)象中間件,是分布式計(jì)算技術(shù)和面向?qū)ο蠹夹g(shù)發(fā)展的結(jié)合,簡(jiǎn)稱(chēng)對(duì)象中間件。分布對(duì)象模型是面向?qū)ο竽P驮诜植籍悩?gòu)環(huán)境下的自然拓廣。Web應(yīng)用服務(wù)器是Web服務(wù)器和應(yīng)用服務(wù)器相結(jié)合的產(chǎn)物,受到了廣大用戶的歡迎,是中間件市場(chǎng)上競(jìng)爭(zhēng)的熱點(diǎn),J2EE架構(gòu)是應(yīng)用服務(wù)器方面的主流標(biāo)準(zhǔn)。新的應(yīng)用需求、新的技術(shù)創(chuàng)新、新的應(yīng)用領(lǐng)域促成了新的中間件產(chǎn)品的出現(xiàn)。如,ASAAC在研究標(biāo)準(zhǔn)航空電子體系結(jié)構(gòu)時(shí)提出的通用系統(tǒng)管理GSM,屬于典型的嵌入式航電系統(tǒng)的中間件,互聯(lián)網(wǎng)云技術(shù)的發(fā)展云計(jì)算中間件、物流網(wǎng)的中間件等隨著應(yīng)用市場(chǎng)的需求應(yīng)運(yùn)而生。1、事務(wù)處理中間件——Hadoop
Hadoop 實(shí)現(xiàn)了分布式計(jì)算中的基礎(chǔ)算法(如一致算法、選舉算法、故障檢測(cè)、快照等),同時(shí)為用戶提供了編程和命令接口。
Qpid 是 Apache 開(kāi)發(fā)的一款面向?qū)ο蟮南⒅虚g件,Qpid 提供了很多額外的 HA 特性,非常適于集群環(huán)境下的消息通信。3、面向?qū)ο笾虚g件——ICE
ICE 作為一種新型的面向?qū)ο笾虚g件,目前并未得到廣泛地應(yīng)用。然而它在架構(gòu)上為應(yīng)用開(kāi)發(fā)提供的種種好處,如面向?qū)ο蟮恼Z(yǔ)義、支持同步和異步的消息傳遞、支持多個(gè)接口、機(jī)器、語(yǔ)言、操作系統(tǒng)無(wú)關(guān)性、線程支持、位置和服務(wù)器的透明性、高度的安全性、內(nèi)建的恒久機(jī)制以及開(kāi)放的源碼等等,它有著非常強(qiáng)大的技術(shù)優(yōu)勢(shì)。在構(gòu)建三層分布式系統(tǒng)方面, ICE 中間件技術(shù)有著良好的發(fā)展前景。
3、Web服務(wù)器中間件——TOMCAT
Tomcat 服務(wù)器是一個(gè)免費(fèi)的開(kāi)放源代碼的Web 應(yīng)用服務(wù)器,其工作流程如下圖所示:
注:內(nèi)容源于網(wǎng)絡(luò),本號(hào)僅作整合與學(xué)習(xí)交流,如有侵權(quán),請(qǐng)聯(lián)系刪除