999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

使用DCOM開發(fā)分布式系統(tǒng)

2015-04-29 00:59:18賈素來

賈素來

摘 要:DCOM擴(kuò)展了COM,實(shí)現(xiàn)在網(wǎng)絡(luò)環(huán)境中不同計(jì)算機(jī)之間組件的通信,具有位置透明性、語言無關(guān)性、優(yōu)越的執(zhí)行性能和良好的安全性等技術(shù)特性。高校教務(wù)系統(tǒng)包含的數(shù)據(jù)量非常巨大,功能繁瑣,同時(shí)訪問數(shù)很多,所以開發(fā)者應(yīng)將其設(shè)計(jì)為分布式系統(tǒng)。使用DCOM可以很方便地開發(fā)高校分布式教務(wù)系統(tǒng)。

關(guān)鍵詞:DCOM;DNA;分布式系統(tǒng)

中圖分類號(hào):TP302.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-2163(2015)01-

Abstract: DCOM is the expansion of COM. It realizes the communication of components between different computers in a network environment. It haves a lot of excellent technical characteristics, such as location transparency, language independent, executive superior performance and good safety etc. Distributed teaching system in colleges includes huge data, complex functions, a lot of visits. So it must be designed for distributed system. The paper uses DCOM to develop the distributed education management system in colleges and universities, which is very convenient.

Keywords: DCOM;DNA;Distributed System

0 引 言

隨著不斷改進(jìn)和發(fā)展,分布式系統(tǒng)逐漸形成了三種具有代表性的主流技術(shù),即CORBA、DCOM(Distributed Component Object Model)和J2EE。DCOM是COM的擴(kuò)展,為網(wǎng)絡(luò)環(huán)境中不同位置的組件提供了互操作的基礎(chǔ),可以作為構(gòu)建多層分布式應(yīng)用系統(tǒng)的基本框架。

1 DCOM的技術(shù)特性

1.1 DCOM簡(jiǎn)介

COM是一個(gè)獨(dú)立于語言的、基于對(duì)象的編程規(guī)范。這是微軟建立的基于二進(jìn)制標(biāo)準(zhǔn)的模型,定義了組件和客戶程序之間互相作用的方式,但COM本身只能在本地生成組件對(duì)象。為了能在網(wǎng)絡(luò)環(huán)境中構(gòu)建多層分布式系統(tǒng),就需要進(jìn)一步使用DCOM。DCOM可以實(shí)現(xiàn)在網(wǎng)絡(luò)環(huán)境中不同計(jì)算機(jī)之間組件的通信,而且不論這些組件是運(yùn)行在局域網(wǎng)、廣域網(wǎng)、還是Internet上。對(duì)于客戶程序而言,組件程序所處的位置是透明的,而且開發(fā)者不必編寫任何處理遠(yuǎn)程調(diào)用的代碼,DCOM處理了底層網(wǎng)絡(luò)協(xié)議的所有細(xì)節(jié)[1,2],如圖1所示。

COM運(yùn)行庫根據(jù)調(diào)用產(chǎn)生代理和樁,向客戶和組件提供服務(wù)。當(dāng)客戶進(jìn)程和COM組件位于不同的機(jī)器中時(shí),DCOM用網(wǎng)絡(luò)協(xié)議來代替本地進(jìn)程之間的通訊。DCOM協(xié)議也被稱為對(duì)象RPC(Object Remote Procedure Call,簡(jiǎn)稱ORPC),是建立在DCE RPC協(xié)議的基礎(chǔ)上,可用于各種基于組件的分布式系統(tǒng)[3]。ORPC建立了一套面向?qū)ο蟮倪h(yuǎn)程調(diào)用規(guī)范,指定了如何在網(wǎng)絡(luò)上進(jìn)行對(duì)象調(diào)用、同時(shí)也包括了對(duì)象的引用應(yīng)如何表示和維護(hù)。在網(wǎng)絡(luò)環(huán)境下,ORPC仍使用標(biāo)準(zhǔn)的RPC數(shù)據(jù)包,并附加了專用于DCOM的一些信息,如接口指針標(biāo)識(shí)符、版本信息和擴(kuò)展信息,再將其作為調(diào)用和返回的附加參數(shù)進(jìn)行傳送。

1.2 DCOM的技術(shù)特性

DCOM具有一些技術(shù)特性使其可以作為多層分布式系統(tǒng)的基本架構(gòu),如位置透明性、語言無關(guān)性、優(yōu)越的執(zhí)行性能和良好的安全性等。下面將對(duì)每一技術(shù)特性進(jìn)行綜合的闡釋和解析。

首先在位置透明性方面,開發(fā)者在使用DCOM開發(fā)分布式系統(tǒng)時(shí),可以使用配置程序預(yù)先完成組件配置,這就使得組件的位置完全透明。DCOM不僅無需改變?cè)创a,而且也無需重新編譯程序,客戶程序連接組件和調(diào)用組件的方法都是一樣的。DCOM的位置透明性極大地簡(jiǎn)化了將應(yīng)用組件分布化的任務(wù),使其能夠達(dá)到最合適的執(zhí)行效果。例如,某個(gè)組件必須位于某臺(tái)特定的機(jī)器上或某個(gè)特定的位置,并且該應(yīng)用有許多小組件,此時(shí)即可通過將這些組件配置在同一個(gè)局域網(wǎng)上,或者同一臺(tái)機(jī)器上,甚至同一個(gè)進(jìn)程中來減少網(wǎng)絡(luò)的負(fù)載。而當(dāng)應(yīng)用是由比較少的大組件構(gòu)成時(shí),網(wǎng)絡(luò)負(fù)載已不是問題,此時(shí)就可將組件配備在速度快的機(jī)器上,而無需考慮這些機(jī)器的具體位置。

其次,在語言無關(guān)性方面,當(dāng)設(shè)計(jì)和實(shí)現(xiàn)分布式應(yīng)用系統(tǒng)時(shí),一個(gè)常規(guī)問題就是為開發(fā)一個(gè)特定的組件而選擇語言以及工具的問題。其中,語言選擇就是一個(gè)在開發(fā)費(fèi)用、技術(shù)支持以及執(zhí)行性能之間發(fā)生的典型折衷過程。很多語言都可以用來開發(fā)COM組件,具體來說,主要有Java、Microsoft Visual C++、Microsoft Visual Basic、Delphi、PowerBuilder和Micro Focus COBOL。這就使得DCOM能夠直接且透明地改進(jìn)對(duì)現(xiàn)存組件和工具的投資,因此基于DCOM的系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)即可使開發(fā)者的組件無論是現(xiàn)在、或是將來均能實(shí)現(xiàn)良好的可重用性。

第三,在執(zhí)行性能方面,組件和客戶程序之間的通信常態(tài)都是雙向的。微軟開發(fā)了許多標(biāo)準(zhǔn)接口來支持雙向通信[4]。在COM術(shù)語中,雙向通信是由一種稱為連接點(diǎn)的機(jī)制來提供支持的,實(shí)現(xiàn)連接點(diǎn)需要兩個(gè)重要的接口:IconnectionPointContainer和IconnectionPoint,前者是連接點(diǎn)容器,因其知道源對(duì)象支持的所有連接點(diǎn),即可選擇可用的連接點(diǎn)實(shí)現(xiàn)第二個(gè)接口,這樣客戶和組件之間就建立了連接。使用連接點(diǎn)機(jī)制來建立網(wǎng)絡(luò)連接減少了數(shù)據(jù)在網(wǎng)絡(luò)中的往返開銷,在整體效果上就提高了執(zhí)行性能。

最后,在安全性方面,網(wǎng)絡(luò)在分布式系統(tǒng)的廣泛使用,催生了一些諸如關(guān)系到客戶間、組件間以及客戶和組件之間的安全問題。如果分布式開發(fā)平臺(tái)沒有提供安全支持,那么每一個(gè)分布式系統(tǒng)就必須設(shè)計(jì)完成自己的安全機(jī)制。DCOM是基于windows系統(tǒng)的,因而可以使用Windows NT提供的安全框架。Windows NT提供了一套穩(wěn)固的內(nèi)建式安全模塊,可以通過提高操作系統(tǒng)自身安全和網(wǎng)絡(luò)安全兩方面來實(shí)施其具體解決,主要表現(xiàn)在提高賬號(hào)安全性、權(quán)限安全性、環(huán)境安全性以及加密數(shù)據(jù)、設(shè)置防火墻等方面。

除了以上特性之外,DCOM還具有其它很多特性使其適宜于構(gòu)造多層分布式系統(tǒng),如編程控制、良好的容錯(cuò)性、可擴(kuò)展性等。

2 使用DCOM開發(fā)分布式系統(tǒng)

COM擴(kuò)展到DCOM之后,對(duì)象的創(chuàng)建過程有所不同。為了標(biāo)識(shí)一個(gè)遠(yuǎn)程對(duì)象,僅僅提供一個(gè)128位的GUID并不足夠,還須提供遠(yuǎn)程對(duì)象所在的機(jī)器名,也稱為遠(yuǎn)程服務(wù)器名“RemoteServerName”。下面介紹了使用DCOM開發(fā)高校分布式教務(wù)系統(tǒng)的過程。

2.1 高校分布式教務(wù)系統(tǒng)設(shè)計(jì)

經(jīng)過需求分析,高校教務(wù)系統(tǒng)應(yīng)包括以下信息:學(xué)生學(xué)籍、教師課務(wù)、學(xué)校通知、網(wǎng)絡(luò)教學(xué)、考試題庫、圖書館、學(xué)報(bào)和郵件。顯而易見的是,教務(wù)系統(tǒng)的數(shù)據(jù)量是非常巨大的,其中包括的功能也最為繁瑣,學(xué)生和教師的并行訪問量也不會(huì)是個(gè)小數(shù)目。同時(shí),開發(fā)者不可能完全獨(dú)立開發(fā)高校教務(wù)系統(tǒng),必定會(huì)用到很多第三方組件或遺留系統(tǒng),否則開發(fā)成本太過昂貴。基于此,設(shè)計(jì)者就不能使用集中計(jì)算的方式來開發(fā)高校教務(wù)系統(tǒng),而應(yīng)該將其設(shè)計(jì)為分布式系統(tǒng)。

DNA(Distributed iNternet Applications)體系結(jié)構(gòu)是基于Windows平臺(tái)的應(yīng)用程序開發(fā)模型,代表了創(chuàng)建高分布式應(yīng)用程序的方法[5]。該體系結(jié)構(gòu)指定了如何使用Windows平臺(tái)開發(fā)強(qiáng)壯的、可伸縮的、分布式的應(yīng)用程序,其中采用的是一種邏輯上三層的、基于組件的體系結(jié)構(gòu)。具體地,三層分別是表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)層。這樣就使客戶機(jī)/服務(wù)器和基于WEB的應(yīng)用程序依托這一公共的應(yīng)用體系結(jié)構(gòu)而融合為一體。圖2就是使用DCOM開發(fā)的高校分布式教務(wù)系統(tǒng)的結(jié)構(gòu)圖。

由圖2可以看出,客戶端或web服務(wù)器根據(jù)用戶的請(qǐng)求調(diào)用相應(yīng)功能組件服務(wù)器上的功能組件,由此完成計(jì)算任務(wù)或操作管理數(shù)據(jù)庫中數(shù)據(jù)。因?yàn)樵O(shè)計(jì)者將不同用戶的請(qǐng)求分散到不同的服務(wù)器處理,從而提高了執(zhí)行性能、擴(kuò)展性等技術(shù)指標(biāo)。下面給出客戶程序調(diào)用DCOM組件的兩種方法。

2.2 創(chuàng)建DCOM組件

(1)方法一

通過DCOM配置工具指定遠(yuǎn)程服務(wù)器名,這種方式使得DCOM組件具有位置透明性。在Windows系統(tǒng)平臺(tái)上,遠(yuǎn)程服務(wù)器名稱、即RemoteServerName值將保存在系統(tǒng)注冊(cè)表HKEY_CLASSES_ROOT\APPID鍵下。如果操作系統(tǒng)發(fā)現(xiàn)了一個(gè)使用該值的計(jì)算機(jī)名,就將激活在此遠(yuǎn)程機(jī)器上的組件。如下例即可調(diào)用學(xué)籍功能組件服務(wù)器(StuJServer)上的組件對(duì)象:

[HKEY_CALSSES_ROOT\AppID\]

"RomoteServerName"="StuJServer"

每個(gè)AppID可用于多個(gè)組件對(duì)象,通常就是代表了由多個(gè)CLSID共享的進(jìn)程,該進(jìn)程中的所有對(duì)象均共享同樣的配置信息,包括遠(yuǎn)程服務(wù)器名以及安全信息。在DCOM中引入AppID概念可以避免太多的注冊(cè)表關(guān)鍵字。

在Windows NT中提供了一個(gè)DCOM配置工具(dcomconfg.exe),開發(fā)者可以憑此來配置遠(yuǎn)程服務(wù)器,而不必直接修改注冊(cè)表。

(2)方法二

有些應(yīng)用要求在程序運(yùn)行過程中控制要連接的服務(wù)器。DCOM允許在創(chuàng)建函數(shù)中指定遠(yuǎn)程服務(wù)器名字,這些函數(shù)有:CoCreateInstanceEx、 CoGetClassObject、CoGetInstanceFromFile、CoGetInstanceFromeIStorage。如上函數(shù)以一個(gè)指向可選的COSERVERINFO結(jié)構(gòu)的指針作為參數(shù),該結(jié)構(gòu)可用于指定一個(gè)應(yīng)對(duì)COM對(duì)象進(jìn)行實(shí)例化的遠(yuǎn)程服務(wù)器,結(jié)構(gòu)中包含成員pwszName是用于對(duì)組件進(jìn)行實(shí)例化的遠(yuǎn)程服務(wù)器名。而此名字則可使用能在網(wǎng)絡(luò)中被識(shí)別的任一格式,包括IP地址、UNC名以及域名。

現(xiàn)給出各函數(shù)的實(shí)現(xiàn)功能分別如下:CoCreateInstanceEx函數(shù)可以用指定的類標(biāo)識(shí)符創(chuàng)建一個(gè)遠(yuǎn)程COM對(duì)象。CoGetClassObject函數(shù)返回一個(gè)對(duì)象類的類工廠接口指針,可以創(chuàng)建多個(gè)同CLSID的對(duì)象。CoGetInstanceFromFile函數(shù)創(chuàng)建一個(gè)對(duì)象類的新的實(shí)例,并用文件進(jìn)行初始化。CoGetInstanceFromeIStorage函數(shù)創(chuàng)建一個(gè)對(duì)象類的新的實(shí)例,并用Storage進(jìn)行初始化。

3 結(jié)束語

使用DCOM可以創(chuàng)建遠(yuǎn)程COM組件,從而實(shí)現(xiàn)在不同計(jì)算機(jī)之間的對(duì)象通信。這樣,應(yīng)用系統(tǒng)就可以分布在不同的地方,例如一個(gè)局域網(wǎng)、廣域網(wǎng),甚至是在Internet環(huán)境里。使用DCOM來構(gòu)建高校分布式教務(wù)系統(tǒng)可以使得教師和學(xué)生在校園內(nèi)外均能較為方便快捷地訪問并獲取所有需求信息。

參考文獻(xiàn):

[1] 張躍進(jìn).COM/DCOM集成的多數(shù)據(jù)庫系統(tǒng)的研究[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2010,26(6):27-30.

[2] 陶昕,謝昕.基于COM/DCOM集成的多數(shù)據(jù)庫系統(tǒng)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011,27(6):201-207.

[3] 沈晟, 沈炳炎. 基于DCOM/COM+的分布式隨機(jī)庫存管理系統(tǒng)應(yīng)用研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(12):2951-2956.

[4] (美)Tbuan L. Tbai著, 陳逸譯. DCOM入門[M]. 北京: 中國(guó)電力出版社, 2001:511-523.

[5] 潘愛民. COM原理和應(yīng)用[M]. 北京: 清華大學(xué)出版社, 1999: 415-438.

主站蜘蛛池模板: 国产乱人伦AV在线A| 人妻精品全国免费视频| 国产精品人成在线播放| 国产玖玖视频| 亚洲成肉网| 97在线国产视频| 国产香蕉一区二区在线网站| 亚洲天堂免费| 日韩区欧美国产区在线观看| 波多野结衣视频一区二区| 欧美色香蕉| 亚洲一区二区三区中文字幕5566| 老熟妇喷水一区二区三区| yjizz视频最新网站在线| 一级毛片免费高清视频| 制服丝袜一区二区三区在线| 亚洲另类色| 久久综合结合久久狠狠狠97色| 久久天天躁夜夜躁狠狠| 91探花在线观看国产最新| 欧洲欧美人成免费全部视频| 永久免费无码成人网站| 精品国产aⅴ一区二区三区| 影音先锋亚洲无码| 欧美一级片在线| 亚洲国产精品不卡在线| a毛片在线| 色综合热无码热国产| 无码在线激情片| 色首页AV在线| 91精品日韩人妻无码久久| 久久综合激情网| 日韩精品高清自在线| a毛片基地免费大全| 国内精品91| 国产在线小视频| 天堂成人在线| 欧美啪啪精品| 久久精品无码一区二区国产区| 国产呦精品一区二区三区网站| 国产精品自拍露脸视频| 中文成人在线| 中文无码精品a∨在线观看| 日韩第九页| 亚洲水蜜桃久久综合网站| 国产成人亚洲精品无码电影| 成人亚洲国产| 免费国产小视频在线观看| 在线亚洲精品福利网址导航| 欧美成人怡春院在线激情| 萌白酱国产一区二区| 亚洲视频一区| 99在线国产| 国产精品视频白浆免费视频| 精品伊人久久久大香线蕉欧美| 91精品日韩人妻无码久久| 精品国产免费人成在线观看| 婷婷综合缴情亚洲五月伊| 欧美亚洲日韩中文| 亚洲日本中文字幕乱码中文| 亚洲欧美日韩精品专区| 99成人在线观看| 天天色综网| 欧美精品v| 久久人人妻人人爽人人卡片av| 高潮毛片免费观看| 亚洲中文精品久久久久久不卡| 欧美无遮挡国产欧美另类| 91在线一9|永久视频在线| 毛片在线播放a| 亚洲男人的天堂网| a毛片免费观看| 国产精品毛片一区视频播| 91丝袜美腿高跟国产极品老师| 久久久久九九精品影院| 人人爱天天做夜夜爽| 亚洲毛片一级带毛片基地| 精品少妇三级亚洲| 影音先锋亚洲无码| 久久综合色视频| 欧美日韩久久综合| 色网站免费在线观看|