亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        三種分布式對(duì)象技術(shù)分析

        2014-12-06 06:49:54賈素來(lái)
        大眾科技 2014年2期
        關(guān)鍵詞:存根體系結(jié)構(gòu)客戶端

        賈素來(lái)

        (無(wú)錫商業(yè)職業(yè)技術(shù)學(xué)院公共計(jì)算機(jī)教學(xué)部, 江蘇 無(wú)錫 214153)

        1 引言

        傳統(tǒng)的客戶機(jī)/服務(wù)器體系結(jié)構(gòu),隨著業(yè)務(wù)處理對(duì)系統(tǒng)提出更高要求,也逐漸暴露出其客戶端逐漸龐大和服務(wù)器負(fù)擔(dān)過(guò)重等缺點(diǎn)。因此計(jì)算機(jī)科學(xué)家提出了三層或多層分布式系統(tǒng)(Multi-storey Distributed System)。隨著不斷改進(jìn)和發(fā)展,分布式系統(tǒng)逐漸形成了三種具有代表性的主流技術(shù),即 CORBA(Common Object Request Broker Architecture)、COM/DCOM(Distributed Component Object Model)和J2EE(Java2 Platform Enterprise Edition)。

        2 三種分布式對(duì)象技術(shù)介紹

        2.1 多層分布式體系結(jié)構(gòu)

        在多層結(jié)構(gòu)當(dāng)中,業(yè)務(wù)邏輯從客戶端分離出來(lái),移至中間層,系統(tǒng)也就成為客戶端表示層、中間業(yè)務(wù)邏輯層和數(shù)據(jù)庫(kù)服務(wù)器的三層或多層體系結(jié)構(gòu),如圖1所示[1]。多層體系結(jié)構(gòu)將表示和業(yè)務(wù)處理分開(kāi),縮減了客戶端的規(guī)模,又將相關(guān)業(yè)務(wù)和資源分開(kāi),降低了服務(wù)器的負(fù)載,避免了服務(wù)器的性能缺陷對(duì)整個(gè)系統(tǒng)性能的影響。這種在多個(gè)服務(wù)器上分布應(yīng)用程序處理的多層可變結(jié)構(gòu)比二層體系結(jié)構(gòu)的伸縮性和擴(kuò)展性有了很大加強(qiáng)。

        在分布式環(huán)境中,無(wú)論是硬件平臺(tái)還是軟件平臺(tái)都不可能做到統(tǒng)一。大規(guī)模的應(yīng)用系統(tǒng)通常要求軟硬件在各不相同的網(wǎng)絡(luò)環(huán)境中運(yùn)行,為了更好的開(kāi)發(fā)和應(yīng)用能夠運(yùn)行在這種異構(gòu)平臺(tái)上的軟件,迫切需要一種基于標(biāo)準(zhǔn)的、獨(dú)立于計(jì)算機(jī)軟硬件的開(kāi)發(fā)和運(yùn)行環(huán)境,中間件技術(shù)也就在這種情況下應(yīng)運(yùn)而生了。中間件是一種軟件,它位于系統(tǒng)的不同分布式組件之間,獨(dú)立于計(jì)算機(jī)軟硬件平臺(tái),且具有標(biāo)準(zhǔn)的程序接口和協(xié)議,使不同硬件和操作系統(tǒng)平臺(tái)上分布式應(yīng)用的數(shù)據(jù)共享和互操作。它作用是為處于自己上層的應(yīng)用軟件提供運(yùn)行和開(kāi)發(fā)環(huán)境,幫助用戶靈活、高效的開(kāi)發(fā)和集成復(fù)雜的應(yīng)用軟件。OMG的COBRA技術(shù)規(guī)范、微軟的COM/DCOM技術(shù)規(guī)范、Sun公司的J2EE技術(shù)規(guī)范是目前三種主流的面向?qū)ο笾虚g件技術(shù)。

        圖1 多層分布式體系結(jié)構(gòu)模型

        2.2 CORBA技術(shù)規(guī)范

        CORBA分布計(jì)算技術(shù)是OMG組織基于眾多開(kāi)放系統(tǒng)平臺(tái)廠商提交的分布對(duì)象互操作內(nèi)容的基礎(chǔ)上制定的公共對(duì)象請(qǐng)求代理體系規(guī)范。它是為處理基于對(duì)象的分布式計(jì)算系統(tǒng)之間的移植和互操作而定義的一套框架性標(biāo)準(zhǔn)和規(guī)范。它定義了IDL語(yǔ)言映射、單個(gè)ORB體系結(jié)構(gòu)和多個(gè)ORB間互操作機(jī)制及標(biāo)準(zhǔn)協(xié)議( IIOP),有潛力包容現(xiàn)有客戶機(jī)/服務(wù)器中間件的每一種格式,可將現(xiàn)有應(yīng)用軟件都?xì)w到對(duì)象軟件上來(lái),最新的CORBA規(guī)范如圖2所示[2]。

        圖2 CORBA規(guī)范模型

        在CORBA規(guī)范中,最底層是對(duì)象請(qǐng)求代理ORB,這是分布對(duì)象系統(tǒng)中的“軟總線”,從而使客戶方不必再關(guān)心底層的通信,實(shí)現(xiàn)了客戶程序與服務(wù)器程序的完全分離,從而使客戶端與服務(wù)端可以采用不同的語(yǔ)言和使用不同供應(yīng)商的ORB。同時(shí)CORBA提供了接口定義語(yǔ)言到C、C++、Java、COBOL等語(yǔ)言的映射機(jī)制編譯器,它可以生成服務(wù)器方的框架和客戶方存根代碼,再通過(guò)分別與客戶端和服務(wù)器端的聯(lián)編,即可得到服務(wù)方和客戶方的程序。

        2.3 COM/DCOM技術(shù)規(guī)范

        COM是一個(gè)獨(dú)立于語(yǔ)言的、基于對(duì)象的編程規(guī)范,使用COM可以定義一類(lèi)對(duì)象,這類(lèi)對(duì)象可以在不同的進(jìn)程中調(diào)用,從而為開(kāi)發(fā)多層應(yīng)用系統(tǒng)提供了必要的基礎(chǔ),但 COM本身并不能構(gòu)造完整的多層應(yīng)用系統(tǒng)框架,它只能在本地生成組件對(duì)象。為了能在網(wǎng)絡(luò)環(huán)境中構(gòu)建多層應(yīng)用系統(tǒng),這就需要進(jìn)一步使用DCOM。DCOM擴(kuò)展了COM,它可以支持實(shí)現(xiàn)在網(wǎng)絡(luò)環(huán)境中不同計(jì)算機(jī)之間對(duì)象的通信。也就是說(shuō),DCOM可以使一個(gè)應(yīng)用系統(tǒng)分布在不同的網(wǎng)絡(luò)環(huán)境中,從而可以更有效地為客戶提供服務(wù)。

        2.4 J2EE技術(shù)規(guī)范

        J2EE是一個(gè)基于JAVA的適合服務(wù)器端組件體系結(jié)構(gòu)的結(jié)合了 Java Enterprise API的完整的企業(yè)級(jí)應(yīng)用系統(tǒng)開(kāi)發(fā)平臺(tái)或中間件體系結(jié)構(gòu),它通過(guò)提供一組應(yīng)用組件和運(yùn)行時(shí)環(huán)境來(lái)構(gòu)造可伸縮的企業(yè)應(yīng)用。J2EE技術(shù)以核心 Java平臺(tái)或Java 2平臺(tái)的標(biāo)準(zhǔn)版J2SE為基礎(chǔ),并且鞏固了標(biāo)準(zhǔn)版J2SE中的許多優(yōu)點(diǎn),例如“編寫(xiě)一次,到處運(yùn)行”的特性、JDBC API、CORBA技術(shù)以及能夠在因特網(wǎng)應(yīng)用中保護(hù)數(shù)據(jù)的安全模式等。同時(shí)J2EE還提供了對(duì)EJB、Java Servlets API、JSP以及XML技術(shù)的全面支持。

        典型的J2EE 結(jié)構(gòu)的應(yīng)用程序包括四層:客戶層、表示邏輯層、業(yè)務(wù)邏輯層和企業(yè)信息系統(tǒng)層,如圖3所示[3]。

        圖3 J2EE 多層體系結(jié)構(gòu)

        3 三種分布式對(duì)象技術(shù)比較和通信

        CORBA、DCOM和J2EE各有其特定的產(chǎn)生背景、技術(shù)特點(diǎn)和使用范圍。CORBA標(biāo)準(zhǔn)是最早出現(xiàn)的,也是最完美的[4]。與COM/DCOM技術(shù)在擴(kuò)展性方面的局限和Java RMI在實(shí)現(xiàn)語(yǔ)言方面的不足相比,CORBA是一種在異構(gòu)平臺(tái)下的語(yǔ)言無(wú)關(guān)的對(duì)象互操作模型。

        3.1 相互比較

        在支持語(yǔ)言方面,CORBA是一個(gè)規(guī)范,可以用在不同的平臺(tái)、操作系統(tǒng)和編程語(yǔ)言之上,只要該平臺(tái)支持ORB的實(shí)現(xiàn),而且有對(duì)編程語(yǔ)言的映射就可以。相對(duì)而言,DCOM比較適合與 C++緊密集成,對(duì)象的實(shí)現(xiàn)需要 WIN32 API的支持。J2EE則建立在Java 語(yǔ)言之上,只能使用Java語(yǔ)言和Java RMI進(jìn)行接口定義和應(yīng)用開(kāi)發(fā)。雖然Java語(yǔ)言提供了和其它語(yǔ)言的接口,但這種接口使用起來(lái)非常復(fù)雜。

        在平臺(tái)支持方面,DCOM是基于微軟操作系統(tǒng)的,使用RPC和安全機(jī)制產(chǎn)生符合 DCOM協(xié)議標(biāo)準(zhǔn)的標(biāo)準(zhǔn)網(wǎng)絡(luò)包,但 DCOM只是簡(jiǎn)單地把本地跨進(jìn)程通信用一個(gè)網(wǎng)絡(luò)協(xié)議傳輸來(lái)替代。雖然通過(guò)使用第三方組件,開(kāi)發(fā)者可以實(shí)現(xiàn)其它操作平臺(tái)上的DCOM組件,但這些實(shí)現(xiàn)必須和微軟的實(shí)現(xiàn)相匹配。J2EE是一種純Java的解決方案,只要安裝有Java虛擬機(jī),就可以實(shí)現(xiàn)J2EE,但是它對(duì)集成的支持卻很脆弱。EJB使用Java遠(yuǎn)程方法調(diào)用接口RMI,RMI使用JRMP作為通信傳遞協(xié)議,但JRMP是一個(gè)非標(biāo)準(zhǔn)的協(xié)議,不允許使用交叉語(yǔ)言編寫(xiě)的對(duì)象之間進(jìn)行通信,這就要求客戶端和服務(wù)器都必須是基于Java的。CORBA使用IIOP和GIOP作為通信層協(xié)議,兩個(gè)協(xié)議從本質(zhì)上來(lái)講非常簡(jiǎn)單,但提供了建立可擴(kuò)展的 CORBA服務(wù)器的能力。

        在分布式事務(wù)處理方面,DCOM沒(méi)有提供自動(dòng)的容錯(cuò)和負(fù)載平衡服務(wù),這個(gè)工作全是交給MTS來(lái)完成的。EJB使用Java事務(wù)服務(wù)JTS來(lái)完成分布式事務(wù)處理,應(yīng)用程序通過(guò)JTA使用事務(wù)管理功能。CORBA規(guī)范中的OTS為分布式CORBA對(duì)象提供了事務(wù)管理的接口,支持平面事務(wù)和嵌套式事務(wù),同時(shí)OTS基于X/open DTP標(biāo)準(zhǔn),所以不是基于CORBA的應(yīng)用程序也可以與OTS互操作。

        3.2 相互通信

        CORBA是一個(gè)通用的分布式對(duì)象規(guī)范說(shuō)明,沒(méi)有給出具體的實(shí)現(xiàn)方案,所以為實(shí)現(xiàn)提供了極大的靈活性。IDL反編譯工具可以從Java RMI實(shí)現(xiàn)類(lèi)生成IDL文件,根據(jù)Java到CORBA的映射規(guī)范可以確定CORBA和EJB架構(gòu)各元素之間的對(duì)應(yīng)關(guān)系。目前很多ORB產(chǎn)品都實(shí)現(xiàn)了基于IIOP的RMI,如Sun的Java IDL、InPrise的VisiBroker,以及一些開(kāi)發(fā)源碼的ORB產(chǎn)品,如OPenORB、JacORB等。

        在.NET中,IDL是由開(kāi)發(fā)工具生成的。.NET中涵蓋的DCOM技術(shù)和CORBA一樣,在網(wǎng)絡(luò)傳輸層都采用TCP/IP協(xié)議和相應(yīng)的IDL規(guī)范,但微軟沒(méi)有公開(kāi)這個(gè)規(guī)范。在實(shí)施時(shí),CORBA的IDL采用類(lèi)C++的定義,是公開(kāi)的規(guī)范,但DCOM的IDL的文件是文本形式的。在DCOM中,客戶機(jī)存根稱(chēng)為代理,而服務(wù)器存根稱(chēng)為存根。相反,CORBA中的客戶機(jī)存根稱(chēng)為存根,而服務(wù)器存根稱(chēng)為框架。這樣,在DCOM和CORBA之間由于存在數(shù)據(jù)類(lèi)型、命名方式、參數(shù)值形式等方面的差異性,使得相互通信很困難。

        4 結(jié)束語(yǔ)

        DCOM只支持 Win32,如果系統(tǒng)主要運(yùn)行微軟操作系統(tǒng),并且其地域分布上不是很廣的話,COM/DCOM或許是比較合適的選擇。J2EE在Internet環(huán)境下集組件模式、跨異構(gòu)平臺(tái)、兼具事務(wù)處理、數(shù)據(jù)庫(kù)連接等許多基礎(chǔ)結(jié)構(gòu)服務(wù),開(kāi)發(fā)效率高、簡(jiǎn)單,缺點(diǎn)是僅限于支持Java語(yǔ)言。相比較而言,CORBA提供了一個(gè)多功能的一致的對(duì)象模型,具有高度的透明性。同時(shí) CORBA具有良好的跨平臺(tái)和跨語(yǔ)言的特征,支持客戶端應(yīng)用和服務(wù)器對(duì)象的特點(diǎn),并且具有良好的運(yùn)行效率,成為了大部分分布式系統(tǒng)設(shè)計(jì)首選[5]。

        [1] 潘俊虹.淺析三種主流分布式組件對(duì)象模型對(duì)比及互操作[J].南平師專(zhuān)學(xué)報(bào),2006,25(4):56-59.

        [2] 劉建兵.基于CORBA的對(duì)象Web研究[J].電腦知識(shí)與技術(shù),2009,5(2):308-312.

        [3] 閆珅,郭燚.基于Eclipse開(kāi)發(fā)環(huán)境的J2EE編程技術(shù)[J].唐山職業(yè)技術(shù)學(xué)院學(xué)報(bào),2008,6(4):45-46.

        [4] 李紅宇,王秀珍.分布式對(duì)象技術(shù)應(yīng)用探討[J].現(xiàn)代計(jì)算機(jī),2007(251):72-75.

        [5] 史永昌,李亞崗.CORBA、DCOM和J2EE技術(shù)比較[J].唐山師范學(xué)院學(xué)報(bào),2007,27(5):98-100.

        猜你喜歡
        存根體系結(jié)構(gòu)客戶端
        建設(shè)美麗中國(guó)是我一生追求的夢(mèng)想
        黃紙白花
        一張火車(chē)票
        ——中國(guó)鐵路客運(yùn)發(fā)展的記憶“存根”
        蘇州河畔的暢想
        縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
        孵化垂直頻道:新聞客戶端新策略
        基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
        基于粒計(jì)算的武器裝備體系結(jié)構(gòu)超網(wǎng)絡(luò)模型
        作戰(zhàn)體系結(jié)構(gòu)穩(wěn)定性突變分析
        基于DODAF的裝備體系結(jié)構(gòu)設(shè)計(jì)
        精品国产一区二区三区久久狼| 国产精品一区二区三区精品| 91精品人妻一区二区三区蜜臀| 国产91精品在线观看| 中文字幕在线亚洲精品| 69久久夜色精品国产69| 最新日韩av在线不卡| 麻豆国产精品久久天堂| 美女张开腿黄网站免费| 精品久久久久久中文字幕| 精品久久杨幂国产杨幂| 亚洲美女一区二区三区三州| 色偷偷888欧美精品久久久| 中文字幕一区二区三区精彩视频| 国产自在自线午夜精品视频在| 亚州中文字幕乱码中文字幕| 99久久精品无码一区二区毛片| 中文字幕人妻丝袜乱一区三区| 亚洲AV无码国产精品久久l| 91国内偷拍精品对白| 国产色系视频在线观看| 亚洲av无码一区二区乱子伦as| 亚洲色欲色欲欲www在线| 99久久久人妻熟妇精品一区二区| 色www永久免费视频| 伊人99re| 亚洲色图少妇熟女偷拍自拍| 人人妻人人澡人人爽精品日本| 亚洲精品无码乱码成人| 人妻少妇人人丰满视频网站| 国语对白精品在线观看| 芒果乱码国色天香| 久久免费大片| 国产一区二区三区精品成人爱 | 野花社区www高清视频| 亚洲色拍拍噜噜噜最新网站| 国产av剧情久久精品久久| 色天使综合婷婷国产日韩av| 成人欧美在线视频| 在线观看高清视频一区二区三区| 浪货趴办公桌~h揉秘书电影|