第4章-中間件技術(shù)_第1頁(yè)
第4章-中間件技術(shù)_第2頁(yè)
第4章-中間件技術(shù)_第3頁(yè)
第4章-中間件技術(shù)_第4頁(yè)
第4章-中間件技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第4章

中間件技術(shù)中間件4.1中間件三層模式4.2中間件技術(shù)在Web數(shù)據(jù)庫(kù)中的應(yīng)用4.3支持無(wú)線傳感器網(wǎng)絡(luò)的中間件4.4物聯(lián)網(wǎng)與中間件4.54.1中間件

隨著網(wǎng)絡(luò)應(yīng)用的日益普及,軟件應(yīng)用的規(guī)模和范圍無(wú)限擴(kuò)展,許多應(yīng)用程序需要在網(wǎng)絡(luò)環(huán)境的異構(gòu)平臺(tái)上運(yùn)行,由此帶來的問題也越來越明顯,如不同的硬件平臺(tái)、不同的網(wǎng)絡(luò)環(huán)境、不同數(shù)據(jù)庫(kù)之間的相互操作;多種應(yīng)用模式并存、系統(tǒng)效率過低、傳輸不可靠、數(shù)據(jù)加密、開發(fā)周期過長(zhǎng)等等,單純依賴傳統(tǒng)的系統(tǒng)軟件或工具軟件提供的功能已無(wú)法滿足要求。

另外,當(dāng)客戶機(jī)服務(wù)器方式的應(yīng)用逐漸推廣到企業(yè)級(jí)的關(guān)鍵任務(wù)環(huán)境時(shí),便出現(xiàn)了一些問題,如系統(tǒng)可擴(kuò)展性差、解析度低、維護(hù)代價(jià)高、安全性差、系統(tǒng)間通信功能較弱。為解決這些問題中間件技術(shù)應(yīng)運(yùn)而生。4.1.1中間件簡(jiǎn)介

“中間件”這一術(shù)語(yǔ)最早出現(xiàn)在20世紀(jì)80年代后期,主要用于描述網(wǎng)絡(luò)連接管理軟件。

在20世紀(jì)90年代中期,隨著網(wǎng)絡(luò)技術(shù)快速發(fā)展,中間件的概念日益普及。

中間件在學(xué)術(shù)界和產(chǎn)業(yè)界均得到長(zhǎng)期、廣泛的研究與實(shí)踐,盡管目前尚沒有統(tǒng)一的中間件定義,但對(duì)于中間件的意義與內(nèi)涵已有基本共識(shí)。

表4-1所示是國(guó)際上各種組織對(duì)中間件的描述。國(guó)際組織對(duì)中間件的描述IEEE分布系統(tǒng)專家組中間件通過提供簡(jiǎn)單、一致、集成的分布編程環(huán)境,簡(jiǎn)化分布應(yīng)用的設(shè)計(jì)、編程和管理。本質(zhì)上,中間件是一個(gè)分布軟件層(或平臺(tái)),抽象了底層分布環(huán)境(網(wǎng)絡(luò)、主機(jī)、操作系統(tǒng)、編程語(yǔ)言)的復(fù)雜性和異構(gòu)性自然基金委員會(huì)中間件是建立在網(wǎng)絡(luò)傳輸服務(wù)之上、輔助開發(fā)新應(yīng)用與網(wǎng)絡(luò)服務(wù)、適用于多個(gè)應(yīng)用的一種軟件對(duì)象管理組織中間件就是解決網(wǎng)絡(luò)環(huán)境下互操作問題的軟件,它同時(shí)還提供事務(wù)、目錄、事件等其他基本服務(wù)CMU軟件工程研究所中間件是一組支持軟件連接的服務(wù)的集合,允許在一個(gè)或多個(gè)主機(jī)上運(yùn)行的多個(gè)過程通過網(wǎng)絡(luò)進(jìn)行交互表4-1 國(guó)際各組織對(duì)中間件的描述

一般說來,中間件有兩層含義。

從狹義的角度,中間件英文為Middleware,它是表示網(wǎng)絡(luò)環(huán)境下處于操作系統(tǒng)等系統(tǒng)軟件和應(yīng)用軟件之間的一種起連接作用的分布式軟件,通過API形式提供一組軟件服務(wù),可使得網(wǎng)絡(luò)環(huán)境下的若干進(jìn)程、程序或應(yīng)用可以方便地交流信息和有效地進(jìn)行交互與協(xié)同。

簡(jiǎn)言之,中間件主要解決異構(gòu)網(wǎng)絡(luò)環(huán)境下分布式應(yīng)用軟件的通信、互操作和協(xié)同問題,它可屏蔽并發(fā)控制、事務(wù)管理和網(wǎng)絡(luò)通信等各種實(shí)現(xiàn)細(xì)節(jié),提高應(yīng)用系統(tǒng)的易移植性、適應(yīng)性和可靠性。

從廣義的角度,中間件在某種意義上可以理解為中間層軟件,通常是指處于系統(tǒng)軟件和應(yīng)用軟件之間的中間層次的軟件,其主要目的是對(duì)應(yīng)用軟件的開發(fā)提供更為直接和有效的支撐。

中間件體系結(jié)構(gòu)如圖4-1所示。圖4-1中間件體系結(jié)構(gòu)

中間件的主旨是簡(jiǎn)化分布系統(tǒng)的構(gòu)造,其基本思想是:抽取分布系統(tǒng)構(gòu)造中的共性問題,封裝這些共性問題的解決機(jī)制,對(duì)外提供簡(jiǎn)單統(tǒng)一的接口,從而減少開發(fā)人員在解決這些共性問題時(shí)的難度和工作量。

在構(gòu)造分布系統(tǒng)的過程中,開發(fā)人員經(jīng)常會(huì)遇到網(wǎng)絡(luò)通信、同步、激活/去活、并發(fā)、可靠性、事務(wù)性、容錯(cuò)性、安全性、伸縮性、異構(gòu)性等問題。

基于目的和實(shí)現(xiàn)機(jī)制的不同,實(shí)現(xiàn)的功能有如下分類。1.遠(yuǎn)程過程調(diào)用2.面向消息處理

面向消息指的是利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺(tái)無(wú)關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成。

通過提供消息傳遞和消息排隊(duì)模型,而面向消息的處理可在分布環(huán)境下擴(kuò)展進(jìn)程間的通信,并支持多通信協(xié)議、語(yǔ)言、應(yīng)用程序、硬件和軟件平臺(tái)。

目前流行的面向消息的中間件產(chǎn)品有IBM的MQSeries、BEA的MessageQ等。

消息傳遞和排隊(duì)技術(shù)有以下3個(gè)特點(diǎn):

(1)通信程序可在不同的時(shí)間運(yùn)行程序,可不在網(wǎng)絡(luò)上直接相互通話,而是間接地將消息放入消息隊(duì)列,因?yàn)槌绦蜷g沒有直接的聯(lián)系,所以它們不必同時(shí)運(yùn)行。消息放入適當(dāng)?shù)年?duì)列時(shí),目標(biāo)程序甚至根本不需要正在運(yùn)行;即使目標(biāo)程序在運(yùn)行,也不意味著要立即處理該消息。

(2)對(duì)應(yīng)用程序的結(jié)構(gòu)在不同的應(yīng)用場(chǎng)合中,通信程序之間不僅可以是一對(duì)一的關(guān)系,還可以進(jìn)行一對(duì)多和多對(duì)一方式,甚至是上述多種方式的組合。多種通信方式的構(gòu)造并沒有增加應(yīng)用程序的復(fù)雜性。

(3)程序?qū)⑾⒎湃胂㈥?duì)列或從消息隊(duì)列中取出消息來進(jìn)行通信,與此關(guān)聯(lián)的全部活動(dòng),比如維護(hù)消息隊(duì)列、維護(hù)程序和隊(duì)列之間的關(guān)系、處理網(wǎng)絡(luò)的重新啟動(dòng)和在網(wǎng)絡(luò)中移動(dòng)消息等任務(wù),程序不直接與其他程序通話,并且程序也不涉及網(wǎng)絡(luò)通信的復(fù)雜性。4.1.2傳統(tǒng)中間件:主要技術(shù)與產(chǎn)品

隨著分布式應(yīng)用的快速發(fā)展,各種中間件技術(shù)和產(chǎn)品不斷涌現(xiàn)。

由于中間件技術(shù)和產(chǎn)品正在快速的發(fā)展,要精確地給出其完整的分類目前尚有一定的困難。

表4-2所示主要對(duì)一些典型的中間件技術(shù)和產(chǎn)品加以介紹。類

型中間件特征RPC中間件使得一個(gè)主機(jī)上的應(yīng)用可以在網(wǎng)絡(luò)環(huán)境下用過程調(diào)用的方式來調(diào)用部署在另一個(gè)主機(jī)上的應(yīng)用中的過程,不用明確編譯這些相互作用的細(xì)節(jié)事務(wù)式中間件提供聯(lián)機(jī)事務(wù)處理所需要的通信、并發(fā)訪問控制、事務(wù)控制、資源管理、安全管理和其他必要的服務(wù)面向消息中間件是一類以消息為載體進(jìn)行通信的中間件。按其通信模型的不同,消息中間件的通信模型有兩類:消息隊(duì)列和消息傳遞。消息隊(duì)列是一種間接通信模型,其通信基于隊(duì)列來完成。而消息傳遞是一種直接通信模型,其消息被直接發(fā)給感興趣的實(shí)體面向?qū)ο笾虚g件是面向?qū)ο竽P驮诜植籍悩?gòu)環(huán)境下的自然拓廣。分布對(duì)象中間件支持分布對(duì)象模型,使得軟件開發(fā)者可在分布異構(gòu)環(huán)境下面向?qū)ο蠓椒ê图夹g(shù)來開發(fā)應(yīng)用Web應(yīng)用服務(wù)器Web服務(wù)器和應(yīng)用服務(wù)器相結(jié)合的產(chǎn)物,處于目前主流的三層或多層應(yīng)用結(jié)構(gòu)的中間的核心層次,直接與應(yīng)用邏輯關(guān)聯(lián),對(duì)分布應(yīng)用系統(tǒng)的建造具有舉足輕重的影響WebServices中間件可支持在各種不同類型中間件環(huán)境中開發(fā)的應(yīng)用系統(tǒng)在統(tǒng)一的模式下進(jìn)行靈活的應(yīng)用集成和互操作表4-2 中間件產(chǎn)品與特征4.1.3中間件關(guān)鍵實(shí)現(xiàn)技術(shù)1.面向消息中間件2.面向?qū)ο笾虚g件圖4-2消息中間件4.2中間件三層模式

從傳統(tǒng)的二層結(jié)構(gòu)到現(xiàn)在的多層結(jié)構(gòu),軟件系統(tǒng)的發(fā)展經(jīng)歷了翻天覆地的變化。

傳統(tǒng)的應(yīng)用系統(tǒng)模式是“主機(jī)/終端”

或“客戶機(jī)/服務(wù)器(Client/Server)”。

客戶機(jī)/服務(wù)器系統(tǒng)的結(jié)構(gòu)是指把一個(gè)大型的計(jì)算機(jī)應(yīng)用系統(tǒng)變?yōu)槎鄠€(gè)能夠互為獨(dú)立的子系統(tǒng),而服務(wù)器便是整個(gè)應(yīng)用系統(tǒng)資源的存儲(chǔ)與管理中心,多臺(tái)客戶機(jī)則各自處理相應(yīng)的功能,共同實(shí)現(xiàn)完整的應(yīng)用。

隨著Internet的發(fā)展壯大,這些傳統(tǒng)模式已經(jīng)不能適應(yīng)新的環(huán)境,于是就產(chǎn)生了新的分布式應(yīng)用系統(tǒng),即所謂的“瀏覽器/服務(wù)器”的結(jié)構(gòu)、“瘦客戶機(jī)”模式。

在Client/Server結(jié)構(gòu)模式中,客戶端直接連接到數(shù)據(jù)庫(kù)服務(wù)器,由二者分擔(dān)業(yè)務(wù)處理,這樣的體系有以下的缺點(diǎn)。

(1)Client與Server直接連接,安全性低。非法用戶容易通過Client直接闖入中心數(shù)據(jù)庫(kù),造成數(shù)據(jù)損失。

(2)大量的數(shù)據(jù)直接通過Client/Server傳送,在業(yè)務(wù)高峰期容易造成網(wǎng)絡(luò)流量劇增,網(wǎng)絡(luò)容易發(fā)生堵塞。

(3)Client程序龐大,并且隨著業(yè)務(wù)規(guī)則的變化,需要隨時(shí)更新Client短程序,大大增加維護(hù)量,造成維護(hù)工作困難。

隨著Internet的發(fā)展,企業(yè)的信息系

統(tǒng)和以往相比已發(fā)生了很大的變化。

企業(yè)級(jí)的應(yīng)用已不再滿足于單機(jī)系統(tǒng)和簡(jiǎn)單的客戶/服務(wù)器系統(tǒng),而是向著三層和多層體系結(jié)構(gòu)的分布式環(huán)境不斷邁進(jìn)。

所謂三層結(jié)構(gòu),就是在原有的“兩層結(jié)構(gòu)”(客戶端和服務(wù)器端)之間增加了一層組件,這層組件包括事務(wù)處理邏輯應(yīng)用服務(wù)、數(shù)據(jù)庫(kù)查詢代理/數(shù)據(jù)庫(kù)等。

隨著這層組件的增加,兩層結(jié)構(gòu)向三層結(jié)構(gòu)轉(zhuǎn)變后,客戶端和服務(wù)器端的負(fù)載就相應(yīng)減輕了,跨平臺(tái)、傳輸不可靠等問題也得到了解決。

增加的這層組件就是我們所說的“中間件”。圖4-3中間件三層模式系統(tǒng)結(jié)構(gòu)圖4.3中間件技術(shù)在Web數(shù)據(jù)庫(kù)中的應(yīng)用

一般來說,通過Web實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問,在整個(gè)系統(tǒng)中關(guān)鍵的技術(shù)是中間件的解決方案,是目前使用最多的一種,體系結(jié)構(gòu)如圖4-4所示。圖4-4體系結(jié)構(gòu)圖

中間件負(fù)責(zé)管理Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器之間的通信并提供應(yīng)用程序服務(wù)。

由于駐留在Web服務(wù)器上,因而中間件軟件能夠調(diào)用作為Web服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器中“傳輸機(jī)制”的外部程序或“編碼”,并將執(zhí)行查詢等以HTML頁(yè)面或純文本的形式將信息返回給最終用戶。

數(shù)據(jù)庫(kù)服務(wù)器負(fù)責(zé)管理駐留在數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。

下面是當(dāng)前幾種流行的支持跨平臺(tái)的Web解決方案。1.ASP2.JDBC技術(shù)3.CGI4.JSP4.4支持無(wú)線傳感器網(wǎng)絡(luò)的中間件

傳感器網(wǎng)絡(luò)是固定式分布的,首先,這些傳感器分布在一個(gè)物理空間和主要通過無(wú)線連接。

這個(gè)特點(diǎn)增加了整個(gè)系統(tǒng)的不可靠性。

其次,傳感器網(wǎng)絡(luò)具有動(dòng)態(tài)的可用性。

無(wú)論是通過空間移動(dòng)性,還是增加新的傳感器,或現(xiàn)有傳感器的丟失,都會(huì)引起可用傳感器設(shè)置隨時(shí)間而改變。

最后,傳感器網(wǎng)絡(luò)資源的限制。

網(wǎng)絡(luò)帶寬和傳感器的能量限制。

傳感器通常由電池供電,傳感器網(wǎng)絡(luò)與無(wú)線網(wǎng)絡(luò)連接,但提供更少的帶寬和小于有線網(wǎng)絡(luò)的可靠連接。

本節(jié)將介紹一種典型的中間件,即MAN(MiddlewareApplicationsandNetworks),通

過它來了解中間件的組成和原理及如何使用。 MAN中間件可以接收應(yīng)用需求描述,監(jiān)控網(wǎng)絡(luò)狀況,優(yōu)化傳感器和網(wǎng)絡(luò)配置以達(dá)到應(yīng)用壽命最大化。

為了完成這個(gè)目標(biāo),應(yīng)用程序通過專門的包含基于應(yīng)用中狀態(tài)變化的圖形將需求發(fā)送給MAN。

基于這些信息,MAN對(duì)如何控制網(wǎng)絡(luò)和傳感器作出決定以平衡應(yīng)用QoS和能量效率,從而延長(zhǎng)應(yīng)用的壽命。 MAN結(jié)構(gòu)如圖4-5所示,傳感器網(wǎng)絡(luò)應(yīng)用、MAN和傳感器網(wǎng)絡(luò)之間的關(guān)系,如圖4-6所示。圖4-5MAN結(jié)構(gòu)圖4-6傳感器網(wǎng)絡(luò)應(yīng)用、MAN和傳感器網(wǎng)絡(luò)之間的關(guān)系圖4-7MAN組成圖4-8MAN、應(yīng)用、傳感器和部分API之間的相互作用4.5物聯(lián)網(wǎng)與中間件

物聯(lián)網(wǎng)中的中間件處于物聯(lián)網(wǎng)的集成服務(wù)器端和感知層、傳輸層的嵌入式設(shè)備中。

服務(wù)器端中間件稱為物聯(lián)網(wǎng)業(yè)務(wù)基礎(chǔ)中間件,一般都是基于傳統(tǒng)的中間件(應(yīng)用服務(wù)器、ESB/MQ等)構(gòu)建,加入設(shè)備連接和圖形化組態(tài)展示等模塊;嵌入式中間件是一些支持不同通信協(xié)議的模塊和運(yùn)行環(huán)境。

中間件的特點(diǎn)是它固化了很多通用功能,但在具體應(yīng)用中多半需要二次開發(fā)來實(shí)現(xiàn)個(gè)性化的行業(yè)業(yè)務(wù)需求,因此所有物聯(lián)網(wǎng)中間件都要提供快速開發(fā)工具。4.5.1物聯(lián)網(wǎng)中間件的特點(diǎn)

從中間件分類的角度來說,物聯(lián)網(wǎng)中間件是一種面向消息的中間件(MessageOrientedMiddleware,MOM)。

物聯(lián)網(wǎng)中間件處于物聯(lián)網(wǎng)的集成服務(wù)器端和感知層、傳輸層的嵌入式設(shè)備中。

服務(wù)器端中間件稱為物聯(lián)網(wǎng)業(yè)務(wù)基礎(chǔ)中間件(很多時(shí)候也叫框架(Framework)或平臺(tái)(Platform),一般都基于傳統(tǒng)的中間件(應(yīng)用服務(wù)器、ESB/MQ等)構(gòu)建,加入設(shè)備連接和圖形化組態(tài)展示等模塊。

嵌入式中間件是一些支持不同通信協(xié)議的模塊和運(yùn)行環(huán)境。

在RFID中物聯(lián)網(wǎng)中間件具有以下特點(diǎn)。(1)應(yīng)用架構(gòu)獨(dú)立(2)分布數(shù)據(jù)存儲(chǔ)(3)數(shù)據(jù)加工處理4.5.2未來發(fā)展趨勢(shì)

中間件技術(shù)近年取得了很大的成功,不僅成為產(chǎn)業(yè)界開發(fā)分布系統(tǒng)的首選,也吸引了學(xué)術(shù)界的眾多研究。

隨著應(yīng)用的普及和研究的深入,以及Internet的發(fā)展,目前中間件的發(fā)展面臨以下4大趨勢(shì)。趨勢(shì)一是中間件的外延將不斷擴(kuò)展變厚。趨勢(shì)二是中間件的平臺(tái)化。趨勢(shì)三是中間件支持云計(jì)算。趨勢(shì)四是支持后

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論