• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      中間件技術(shù)的綜述

      2014-07-09 20:08:59崔力升
      科技視界 2014年3期
      關(guān)鍵詞:中間件面向?qū)ο?/a>計算機技術(shù)

      崔力升

      【摘 要】計算機技術(shù)迅速發(fā)展。從硬件技術(shù)看,CPU速度越來越高,處理能力越來越強;從軟件技術(shù)看,應(yīng)用程序的規(guī)模不斷擴大,特別是Internet及WWW的出現(xiàn),使計算機的應(yīng)用范圍更為廣闊,許多應(yīng)用程序需在網(wǎng)絡(luò)環(huán)境的異構(gòu)平臺上運行。這一切都對新一代的軟件開發(fā)提出了新的需求。

      【關(guān)鍵詞】中間件;面向?qū)ο?;計算機技術(shù)

      1 什么是中間件

      為解決分布異構(gòu)問題,人們提出了中間件(middleware)的概念。中間件是位于平臺(硬件和操作系統(tǒng))和應(yīng)用之間的通用服務(wù),如圖1所示,這些服務(wù)具有標(biāo)準(zhǔn)的程序接口和協(xié)議。針對不同的操作系統(tǒng)和硬件平臺,它們可以有符合接口和協(xié)議規(guī)范的多種實現(xiàn)。

      也許很難給中間件一個嚴(yán)格的定義,但中間件應(yīng)具有如下的一些特點:

      1)滿足大量應(yīng)用的需要

      2)運行于多種硬件和OS平臺

      3)支持分布計算,提供跨網(wǎng)絡(luò)、硬件和OS平臺的透明性的應(yīng)用或服務(wù)的交互

      4)支持標(biāo)準(zhǔn)的協(xié)議

      5)支持標(biāo)準(zhǔn)的接口

      由于標(biāo)準(zhǔn)接口對于可移植性和標(biāo)準(zhǔn)協(xié)議對于互操作性的重要性,中間件已成為許多標(biāo)準(zhǔn)化工作的主要部分。對于應(yīng)用軟件開發(fā),中間件遠(yuǎn)比操作系統(tǒng)和網(wǎng)絡(luò)服務(wù)更為重要,中間件提供的程序接口定義了一個相對穩(wěn)定的高層應(yīng)用環(huán)境,不管底層的計算機硬件和系統(tǒng)軟件怎樣更新?lián)Q代,只要將中間件升級更新,并保持中間件對外的接口定義不變,應(yīng)用軟件幾乎不需任何修改,從而保護(hù)了企業(yè)在應(yīng)用軟件開發(fā)和維護(hù)中的重大投資。

      2 主要中間件的分類

      中間件所包括的范圍十分廣泛,針對不同的應(yīng)用需求涌現(xiàn)出多種各具特色的中間件產(chǎn)品。但至今中間件還沒有一個比較精確的定義,因此,在不同的角度或不同的層次上,對中間件的分類也會有所不同。由于中間件需要屏蔽分布環(huán)境中異構(gòu)的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議,它必須能夠提供分布環(huán)境下的通訊服務(wù),我們將這種通訊服務(wù)稱之為平臺?;谀康暮蛯崿F(xiàn)機制的不同,我們將平臺分為以下主要幾類:

      1)遠(yuǎn)程過程調(diào)用(Remote Procedure Call)

      2)面向消息的中間件(Message-Oriented Middleware)

      3)對象請求代理(Object Request Brokers)

      它們可向上提供不同形式的通訊服務(wù),包括同步、排隊、訂閱發(fā)布、廣播等等,在這些基本的通訊平臺之上,可構(gòu)筑各種框架,為應(yīng)用程序提供不同領(lǐng)域內(nèi)的服務(wù),如事務(wù)處理監(jiān)控器、分布數(shù)據(jù)訪問、對象事務(wù)管理器OTM等。平臺為上層應(yīng)用屏蔽了異構(gòu)平臺的差異,而其上的框架又定義了相應(yīng)領(lǐng)域內(nèi)的應(yīng)用的系統(tǒng)結(jié)構(gòu)、標(biāo)準(zhǔn)的服務(wù)組件等,用戶只需告訴框架所關(guān)心的事件,然后提供處理這些事件的代碼。當(dāng)事件發(fā)生時,框架則會調(diào)用用戶的代碼。用戶代碼不用調(diào)用框架,用戶程序也不必關(guān)心框架結(jié)構(gòu)、執(zhí)行流程、對系統(tǒng)級API的調(diào)用等,所有這些由框架負(fù)責(zé)完成。因此,基于中間件開發(fā)的應(yīng)用具有良好的可擴充性、易管理性、高可用性和可移植性。

      下面,針對幾類主要的中間件分別加以簡要的介紹。

      1)遠(yuǎn)程過程調(diào)用

      遠(yuǎn)程過程調(diào)用是一種廣泛使用的分布式應(yīng)用程序處理方法。一個應(yīng)用程序使用RPC來“遠(yuǎn)程”執(zhí)行一個位于不同地址空間里的過程,并且從效果上看和執(zhí)行本地調(diào)用相同。事實上,一個RPC應(yīng)用分為兩個部分:server和client。server提供一個或多個遠(yuǎn)程過程;client向server發(fā)出遠(yuǎn)程調(diào)用。server和client可以位于同一臺計算機,也可以位于不同的計算機,甚至運行在不同的操作系統(tǒng)之上。它們通過網(wǎng)絡(luò)進(jìn)行通訊。相應(yīng)的stub和運行支持提供數(shù)據(jù)轉(zhuǎn)換和通訊服務(wù),從而屏蔽不同的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議。在這里RPC通訊是同步的。采用線程可以進(jìn)行異步調(diào)用。

      在RPC模型中,client和server只要具備了相應(yīng)的RPC接口,并且具有RPC運行支持,就可以完成相應(yīng)的互操作,而不必限制于特定的server。因此,RPC為client/server分布式計算提供了有力的支持。同時,遠(yuǎn)程過程調(diào)用RPC所提供的是基于過程的服務(wù)訪問,client與server進(jìn)行直接連接,沒有中間機構(gòu)來處理請求,因此也具有一定的局限性。比如,RPC通常需要一些網(wǎng)絡(luò)細(xì)節(jié)以定位server;在client發(fā)出請求的同時,要求server必須是活動的等等。

      2)面向消息的中間件

      MOM指的是利用高效可靠的消息傳遞機制進(jìn)行平臺無關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來進(jìn)行分布式系統(tǒng)的集成。通過提供消息傳遞和消息排隊模型,它可在分布環(huán)境下擴展進(jìn)程間的通信,并支持多通訊協(xié)議、語言、應(yīng)用程序、硬件和軟件平臺。目前流行的MOM中間件產(chǎn)品有IBM的MQSeries、BEA的MessageQ等。消息傳遞和排隊技術(shù)有以下三個主要特點:

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

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

      (3)程序與網(wǎng)絡(luò)復(fù)雜性相隔離:程序?qū)⑾⒎湃胂㈥犃谢驈南㈥犃兄腥〕鱿磉M(jìn)行通訊,與此關(guān)聯(lián)的全部活動,比如維護(hù)消息隊列、維護(hù)程序和隊列之間的關(guān)系、處理網(wǎng)絡(luò)的重新啟動和在網(wǎng)絡(luò)中移動消息等是MOM的任務(wù),程序不直接與其它程序通話,并且它們不涉及網(wǎng)絡(luò)通訊的復(fù)雜性。

      3)對象請求代理

      隨著對象技術(shù)與分布式計算技術(shù)的發(fā)展,兩者相互結(jié)合形成了分布對象計算,并發(fā)展為當(dāng)今軟件技術(shù)的主流方向。1990年底,對象管理集團(tuán)OMG首次推出對象管理結(jié)構(gòu)OMA(Object Management Architecture),對象請求代理(Object Request Broker)是這個模型的核心組件。它的作用在于提供一個通信框架,透明地在異構(gòu)的分布計算環(huán)境中傳遞對象請求。CORBA規(guī)范包括了ORB的所有標(biāo)準(zhǔn)接口。1991年推出的CORBA 1.1 定義了接口描述語言O(shè)MG IDL和支持Client/Server對象在具體的ORB上進(jìn)行互操作的API。CORBA 2.0 規(guī)范描述的是不同廠商提供的ORB之間的互操作。

      對象請求代理(ORB)是對象總線,它在CORBA規(guī)范中處于核心地位,定義異構(gòu)環(huán)境下對象透明地發(fā)送請求和接收響應(yīng)的基本機制,是建立對象之間client/server關(guān)系的中間件。ORB使得對象可以透明地向其他對象發(fā)出請求或接受其他對象的響應(yīng),這些對象可以位于本地也可以位于遠(yuǎn)程機器。ORB攔截請求調(diào)用,并負(fù)責(zé)找到可以實現(xiàn)請求的對象、傳送參數(shù)、調(diào)用相應(yīng)的方法、返回結(jié)果等。client對象并不知道同server對象通訊、激活或存儲server對象的機制,也不必知道server對象位于何處、它是用何種語言實現(xiàn)的、使用什么操作系統(tǒng)或其他不屬于對象接口的系統(tǒng)成分。

      值得指出的是client和server角色只是用來協(xié)調(diào)對象之間的相互作用,根據(jù)相應(yīng)的場合,ORB上的對象可以是client,也可以是server,甚至兼有兩者。當(dāng)對象發(fā)出一個請求時,它是處于client角色;當(dāng)它在接收請求時,它就處于server角色。大部分的對象都是既扮演client角色又扮演server角色。另外由于ORB負(fù)責(zé)對象請求的傳送和server的管理,client和server之間并不直接連接,因此,與RPC所支持的單純的Client/Server結(jié)構(gòu)相比,ORB可以支持更加復(fù)雜的結(jié)構(gòu)。

      3 面臨的一些問題

      中間件能夠屏蔽操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議的差異,為應(yīng)用程序提供多種通訊機制;并提供相應(yīng)的平臺以滿足不同領(lǐng)域的需要。因此,中間件為應(yīng)用程序了一個相對穩(wěn)定的高層應(yīng)用環(huán)境。然而,中間件服務(wù)也并非“萬能藥”。中間件所應(yīng)遵循的一些原則離實際還有很大距離。多數(shù)流行的中間件服務(wù)使用專有的API和專有的協(xié)議,使得應(yīng)用建立于單一廠家的產(chǎn)品,來自不同廠家的實現(xiàn)很難互操作。有些中間件服務(wù)只提供一些平臺的實現(xiàn),從而限制了應(yīng)用在異構(gòu)系統(tǒng)之間的移植。應(yīng)用開發(fā)者在這些中間件服務(wù)之上建立自己的應(yīng)用還要承擔(dān)相當(dāng)大的風(fēng)險,隨著技術(shù)的發(fā)展他們往往還需重寫他們的系統(tǒng)。盡管中間件服務(wù)提高了分布計算的抽象化程度,但應(yīng)用開發(fā)者還需面臨許多艱難的設(shè)計選擇,例如,開發(fā)者還需決定分布應(yīng)用在client方和server方的功能分配。通常將表示服務(wù)放在client以方便使用顯示設(shè)備,將數(shù)據(jù)服務(wù)放在server以靠近數(shù)據(jù)庫,但也并非總是如此,何況其它應(yīng)用功能如何分配也是不容易確定的。

      [責(zé)任編輯:楊玉潔]

      猜你喜歡
      中間件面向?qū)ο?/a>計算機技術(shù)
      面向?qū)ο蟮挠嬎銠C網(wǎng)絡(luò)設(shè)計軟件系統(tǒng)的開發(fā)
      電子測試(2018年15期)2018-09-26 06:01:34
      RFID中間件技術(shù)及其應(yīng)用研究
      電子制作(2018年14期)2018-08-21 01:38:10
      基于VanConnect中間件的設(shè)計與開發(fā)
      電子測試(2018年10期)2018-06-26 05:54:02
      面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
      探討辦公自動化中的計算機技術(shù)應(yīng)用
      科技視界(2016年18期)2016-11-03 23:29:16
      分析計算機互聯(lián)網(wǎng)信息安全的防御技術(shù)
      基于矩陣LU分解的并行處理
      政府機關(guān)檔案計算機管理的有效應(yīng)用分析
      面向?qū)ο骔eb開發(fā)編程語言的的評估方法
      中間件在高速公路領(lǐng)域的應(yīng)用
      衡阳市| 巫溪县| 军事| 沙湾县| 库尔勒市| 湖口县| 嘉荫县| 平果县| 容城县| 通许县| 迭部县| 奈曼旗| 南川市| 广西| 通化市| 浮梁县| 长武县| 景谷| 泰来县| 光泽县| 阳新县| 射洪县| 德保县| 栾城县| 东港市| 象山县| 肇东市| 额尔古纳市| 永福县| 阳新县| 岑巩县| 石泉县| 内江市| 青海省| 丘北县| 浏阳市| 太仓市| 昌平区| 镇远县| 马鞍山市| 祁连县|