<del id="dhfrq"></del>

    1. <tr id="dhfrq"></tr>
      成人午夜激情在线观看,国产精品一线天粉嫩av,99精品国产综合久久久久五月天 ,一卡2卡三卡4卡免费网站,国产高清在线男人的天堂,五月天国产成人AV免费观看,67194熟妇在线观看线路,成人无码潮喷在线观看
      現(xiàn)在位置:范文先生網(wǎng)>理工論文>計(jì)算機(jī)論文>PowerBuilder的分布式計(jì)算技術(shù)及其應(yīng)用

      PowerBuilder的分布式計(jì)算技術(shù)及其應(yīng)用

      時(shí)間:2023-02-20 22:42:19 計(jì)算機(jī)論文 我要投稿
      • 相關(guān)推薦

      PowerBuilder的分布式計(jì)算技術(shù)及其應(yīng)用

      PowerBuilder的分布式計(jì)算技術(shù)及其應(yīng)用

      浙江大學(xué)計(jì)算機(jī)系  梁榮華

      浙江大學(xué)計(jì)算機(jī)系  史濟(jì)建

      杭州電子工業(yè)學(xué)院計(jì)算機(jī)系  周其力

      摘要: 本文分析了客戶機(jī)/服務(wù)器的二級(jí)體系結(jié)構(gòu)缺點(diǎn)與不足,介紹了客戶機(jī)/服務(wù)器的分布式計(jì)算體系結(jié)構(gòu)的優(yōu)點(diǎn),重點(diǎn)論述了分布式計(jì)算體系結(jié)構(gòu)在PowerBuider6中的實(shí)現(xiàn),并給出了具體的應(yīng)用實(shí)例,最后給出了結(jié)論。

      關(guān)鍵詞:客戶機(jī)/服務(wù)器 分布式計(jì)算 二級(jí)體系結(jié)構(gòu) 三級(jí)體系結(jié)構(gòu) 客戶應(yīng)用程序 服務(wù)器應(yīng)用程序

      引言
      90年代,人們開發(fā)MIS系統(tǒng)大都采用客戶機(jī)/服務(wù)器結(jié)構(gòu),客戶機(jī)/服務(wù)器結(jié)構(gòu)既是硬件結(jié)構(gòu)又是軟件結(jié)構(gòu)。即數(shù)據(jù)放在服務(wù)器上,程序在客戶機(jī)上。進(jìn)行數(shù)據(jù)訪問時(shí),由客戶機(jī)提出請(qǐng)求(一般是SQL語句),服務(wù)器執(zhí)行并給出結(jié)果。客戶機(jī)/服務(wù)器對(duì)于優(yōu)化了網(wǎng)絡(luò),提高了系統(tǒng)的利用率。客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的發(fā)展經(jīng)歷了從二級(jí)體系結(jié)構(gòu)模式到三級(jí)體系結(jié)構(gòu)模式。

      1 二級(jí)體系結(jié)構(gòu)模式

      傳統(tǒng)的客戶機(jī)/服務(wù)器的模式是二級(jí)體系結(jié)構(gòu)(Two-tier model)模式。結(jié)構(gòu)圖如圖1

      用戶界面與邏輯事務(wù)駐留在客戶計(jì)算機(jī)上,將大部分的數(shù)據(jù)存放在數(shù)據(jù)庫中,對(duì)數(shù)據(jù)的操作如查詢、修改等由客戶機(jī)提出請(qǐng)求,數(shù)據(jù)庫服務(wù)器完成并返回給客戶機(jī)結(jié)果,這種體系結(jié)構(gòu)雖然可以系統(tǒng)的性能,但它們具有明顯的缺點(diǎn):

      缺乏安全性
      在客戶機(jī)上存取敏感性數(shù)據(jù)時(shí),由于邏輯事務(wù)放在服務(wù)器中,所以用戶可以訪問邏輯事務(wù)的核心部分,這使得未授權(quán)用戶容易侵入系統(tǒng),有安全漏洞。

      重的客戶機(jī)負(fù)荷
      隨著客戶機(jī)要求處理的事務(wù)的數(shù)目增多,系統(tǒng)的任務(wù)日益繁重,導(dǎo)致系統(tǒng)的吞吐量下降,使得客戶機(jī)不能滿足系統(tǒng)的要求,當(dāng)然可以買一臺(tái)更大的機(jī)器來替代舊的客戶機(jī)器,但在經(jīng)濟(jì)方面不如買一臺(tái)機(jī)器來分擔(dān)客戶機(jī)的某些任務(wù)。

      鑒于此,人們提出了三級(jí)體系結(jié)構(gòu)模式(見圖2)。

      2分布式計(jì)算體系結(jié)構(gòu)

      在該模式中,用戶界面保存在客戶端,事務(wù)邏輯保存在應(yīng)用服務(wù)器中,數(shù)據(jù)保存在數(shù)據(jù)庫服務(wù)器中。客戶機(jī)只負(fù)責(zé)提供用戶界面,當(dāng)需要進(jìn)行數(shù)據(jù)訪問時(shí)或復(fù)雜計(jì)算時(shí),客戶機(jī)向應(yīng)用服務(wù)器發(fā)出請(qǐng)求,應(yīng)用服務(wù)器響應(yīng)客戶機(jī)的請(qǐng)求,完成復(fù)雜的計(jì)算或者向數(shù)據(jù)庫服務(wù)器發(fā)送SQL語句由數(shù)據(jù)庫服務(wù)器完成相應(yīng)的數(shù)據(jù)操作,最后由應(yīng)用服務(wù)器將結(jié)果返回給客戶機(jī)。該模式也稱三級(jí)體系結(jié)構(gòu)模式,PowerBuilder對(duì)于該模式是支持的。需要說明的是,三級(jí)體系結(jié)構(gòu)模式的三級(jí)是指邏輯上的三級(jí)(即用戶界面、事務(wù)邏輯、數(shù)據(jù))而不是物理的三級(jí)。(具體見圖二)

      對(duì)于二級(jí)模式,分布式計(jì)算體系結(jié)構(gòu)提供了解決方式,分布式計(jì)算技術(shù)通過將用戶界面與事務(wù)邏輯分開,這使得未授權(quán)用戶很難侵入系統(tǒng),保證了系統(tǒng)的安全性;同時(shí)由于客戶機(jī)只處理用戶界面,大量的事務(wù)處理在服務(wù)器應(yīng)用程序?qū)崿F(xiàn),大大減輕了客戶機(jī)的負(fù)荷,使瘦客戶成為可能。

      二、分布式應(yīng)用的體系結(jié)構(gòu)在PowerBuidler中的實(shí)現(xiàn)

      分布式PowerBuilder 應(yīng)用程序典型使用兩個(gè)應(yīng)用程序,即服務(wù)器應(yīng)用程序和客戶應(yīng)用程序,分別在兩臺(tái)機(jī)器上實(shí)現(xiàn)。

      服務(wù)器與客戶應(yīng)用程序一起實(shí)現(xiàn)事務(wù)應(yīng)用,客戶應(yīng)用程序處理用戶界面,與用戶交互,服務(wù)器應(yīng)用程序提供給客戶應(yīng)用程序提供必要的數(shù)據(jù)包,應(yīng)用程序?qū)蛻魬?yīng)用程序透明。結(jié)構(gòu)圖見圖3。

      盡管服務(wù)應(yīng)用通常提供數(shù)據(jù)包給客戶應(yīng)用程序,但服務(wù)器應(yīng)用程序本身也可以作客戶應(yīng)用程序功能,換言之,服務(wù)器應(yīng)用程序能作為客戶應(yīng)用程序與另一服務(wù)器應(yīng)用程序連結(jié),這時(shí),這個(gè)服務(wù)應(yīng)用程序作為客戶應(yīng)用程序與另一應(yīng)用程序的中介等。

      2.1服務(wù)器應(yīng)用程序

      服務(wù)器應(yīng)用程序提供了兩個(gè)主要的組件:傳送對(duì)象(Transport object)、遠(yuǎn)程對(duì)象(Remote object)。


      傳送對(duì)象使之能為服務(wù)器應(yīng)用程序收到客戶連接并處理客戶請(qǐng)求。

      在分布式應(yīng)用中,客戶能調(diào)用服務(wù)器提供的服務(wù),通過遠(yuǎn)程對(duì)象提供,一般地,一個(gè)遠(yuǎn)程對(duì)象是一個(gè)NVO(nonvisual user object)-----不可視用戶對(duì)象,包含在遠(yuǎn)程服務(wù)器上,一個(gè)客戶能調(diào)用遠(yuǎn)程對(duì)象提供的功能,就好象他們被定義在本地的對(duì)象一樣,也就是說,客戶應(yīng)用程序能調(diào)用遠(yuǎn)程的對(duì)象,與同一臺(tái)計(jì)算機(jī)或另一臺(tái)網(wǎng)絡(luò)上的計(jì)算機(jī)各自執(zhí)行程序完成某項(xiàng)功能,PowerBuiler對(duì)遠(yuǎn)程對(duì)象的調(diào)用有同步與異步調(diào)用。當(dāng)同步調(diào)用時(shí),客戶等待直到服務(wù)器處理完成,當(dāng)異步調(diào)用時(shí),服務(wù)器只在自己的隊(duì)列中增加一個(gè)請(qǐng)求隊(duì)列,以后處理之,同時(shí),客戶機(jī)去做其他的事情,直到服務(wù)器處理該請(qǐng)求。

      2.2客戶端應(yīng)用程序

      客戶端應(yīng)用程序有三個(gè)組件

      用戶界面(user interface)
      連接對(duì)象(Connection object)
      遠(yuǎn)程對(duì)象的類定義(remote object class definitions)
      結(jié)構(gòu)圖見圖5

      用戶界面
      客戶應(yīng)用程序包含與用戶的交互,除此之外,客戶包含執(zhí)行腳本,對(duì)于客戶采取的反應(yīng)。例如,這些腳本能規(guī)定當(dāng)用戶點(diǎn)了按紐會(huì)發(fā)生什么事件等。

      連接對(duì)象
      該對(duì)象提供了客戶應(yīng)用程序連接到服務(wù)器應(yīng)用程序,并要求服務(wù).

      遠(yuǎn)程對(duì)象的類定義
      每個(gè)服務(wù)器應(yīng)用程序的遠(yuǎn)程對(duì)象在客戶應(yīng)在程序中有相關(guān)的類定義。遠(yuǎn)程對(duì)象定義的本地的拷貝與服務(wù)器應(yīng)在程序的定義有一個(gè)相同的名字,執(zhí)行期間,本地定義的對(duì)象允許客戶訪問,就如遠(yuǎn)程對(duì)象實(shí)例就象在本地一樣。

      類定義在客戶應(yīng)在程序中包含了遠(yuǎn)程對(duì)象的完全或部分功能,Proxy(代理) 對(duì)象提供了遠(yuǎn)程對(duì)象界面的表示,對(duì)分布式處理,只有Proxy對(duì)象在客戶應(yīng)在程序是必須的。在客戶應(yīng)在程序中,對(duì)象透明,當(dāng)你在客戶應(yīng)在程序利用遠(yuǎn)程對(duì)象類定義,客戶端的定義與服務(wù)器端的定義一致。考慮到這兩個(gè)定義有相同的名字,PowerBuiler提供了這種透明技術(shù)。用這個(gè)類定義的變量能保持本地對(duì)實(shí)例的引用。執(zhí)行時(shí),你能初始化本地的對(duì)象或遠(yuǎn)程對(duì)象,這依賴你的應(yīng)用要求。

      2.3通訊方式

      PowerBuiler的分布式技術(shù)中支持以下幾個(gè)通訊協(xié)議

      Winsock
      在支持TCP/IP的網(wǎng)絡(luò)中,利用WINDOWS SOCKETS工具通訊。只要支持TCP/IP的網(wǎng)絡(luò)都可以用該方式。

      Names pipes, 通過命名的管道進(jìn)行通訊。
      local, 指在分布式應(yīng)用程序可在本地運(yùn)行。
      不同的運(yùn)行平臺(tái)支持不同的通訊方式.

      三、 應(yīng)用程序舉例(PowerBuiler的實(shí)例)

      在客戶機(jī)/服務(wù)器中,一個(gè)比較典型的例子是實(shí)現(xiàn)服務(wù)器推拉(Sever Push)

      ,客戶機(jī)請(qǐng)求服務(wù)器稱為拉,服務(wù)器響應(yīng)客戶機(jī)請(qǐng)求并將消息發(fā)回給客戶機(jī)稱為推。

      本例子功能是這樣的,由客戶機(jī)應(yīng)用程序向服務(wù)器應(yīng)用程序發(fā)出請(qǐng)求(為簡單起見,請(qǐng)求服務(wù)是一條消息),服務(wù)器應(yīng)用程序收到消息后,做一些數(shù)據(jù)處理或其他的工作,完成之后,給客戶機(jī)應(yīng)用程序返回一條消息告知請(qǐng)求服務(wù)完成。

      本例子代碼解釋如下:首先建立即兩個(gè)NVO,一個(gè)是Uo_Custdata, 一個(gè)是Uo_response_Object, 在 Uo_response_object中,有一個(gè)用戶對(duì)象函數(shù)Doneprocessing(),該函數(shù)執(zhí)行一個(gè)提示窗口,給客戶機(jī)發(fā)布消息,說明處理數(shù)據(jù)完畢。在Uo_Custdata中建立一個(gè)處理數(shù)據(jù)的函數(shù)process_data,其參數(shù)包含Uo_response_Object。將包含該用戶對(duì)象的文件編譯成proxy,如a.pbl在客戶應(yīng)用程序中包含a.pbl即可。在客戶機(jī)應(yīng)用程序中,先建立connection對(duì)象,定義connection的屬性,然后創(chuàng)建 remote object(用Create Instance),本例子是Uo_Custdata,再調(diào)用remote object的一個(gè)函數(shù)(也就是process_data);在服務(wù)器應(yīng)用程序中,先建立transport對(duì)象,定義transport對(duì)象的屬性,然后等待客戶提出請(qǐng)求(用listen函數(shù))。

      源程序如下:

      // ------------------客戶機(jī)應(yīng)用程序

      //定義connection

      connection myconnect

      long ll_rc

      //用Create建立實(shí)例

      myconnect = create connection

      //設(shè)置Connect屬性

      myconnect.driver = "WinSock"

      myconnect.application = "70000"

      myconnect.location = "server01"

      ll_rc = myconnect.ConnectToSe ver()

      IF ll_rc <> 0 THEN MessageBox(“警告”,"連結(jié)錯(cuò)誤")

      END If

      // 調(diào)用remote object(服務(wù)器應(yīng)用程序提供)

      // Mycustdata 是服務(wù)器應(yīng)用程序的NVO,將包含該user object的文件編譯成//proxy,在客戶應(yīng)用程序中包含proxy的pbl文件。

      Uo_custdata Mycustdata

      Uo_response_object Myresponseobject

      …….

      Myconnect.createInstance(Mycustdata)

      Myresponceobject=Create.Uo_response_object

      Mycustdata.post process_data(Myresponceobject)

      // ---------用戶對(duì)象

      // uo_custdata的函數(shù)process_data

      參數(shù):Uo_response_object.responceobject

      …….//做一些數(shù)據(jù)處理的工作


      給客戶發(fā)布消息,說明處理數(shù)據(jù)完畢

      Responceobject.post Doneprocessing()

      // Uo_response_object 的函數(shù)Doneprocessing

      Messagebox(“提示”,“處理完畢”);

      //----------服務(wù)器應(yīng)用程序

      TransPort myTransPort

      //建立transport對(duì)象

      myTransProt=create TransPort

      //定義transport對(duì)象的屬性,

      myTransPort.Driver='WinSock'

      myTransPort.application='70000'

      //然后等待客戶提出請(qǐng)求。

      MyTransPort.listen()

      當(dāng)然,在基于一般中大型數(shù)據(jù)庫系統(tǒng),基于WEB方式體系統(tǒng)結(jié)構(gòu),客戶應(yīng)用程序?qū)τ跀?shù)據(jù)庫的操作都可以用通過應(yīng)用服務(wù)器程序,這樣客戶程序就很瘦了,不需要安裝如Open Client之類的軟件;另外,應(yīng)用服務(wù)器程序可同時(shí)運(yùn)行在幾臺(tái)計(jì)算機(jī)上,它對(duì)于系統(tǒng)的安全性,平衡網(wǎng)絡(luò)負(fù)載都具有重要的現(xiàn)實(shí)意義,在PowerBuilder中都是能實(shí)現(xiàn)的。

      四、結(jié)論

      PowerBuider5就已經(jīng)提出了分布式計(jì)算技術(shù),但使用起來較為煩瑣,這主要表現(xiàn)在編寫Proxy,PowerBuilder6 通過程序直接編譯成proxy,并且功能增強(qiáng)了許多,使分布式計(jì)算技術(shù)更為方便,剛出來的PowerBuider7更為方便、完善,這對(duì)于解決網(wǎng)絡(luò)瓶頸,優(yōu)化網(wǎng)絡(luò)具有重大的現(xiàn)實(shí)意義。

      [參考文獻(xiàn)]

      1.Simmon Gallegher 、simmon Herbert 《PowerBuilder6.0程序設(shè)計(jì)大全》 機(jī)械工業(yè)出版社 1998、8

      2.鐘虎林等新一代客戶機(jī)/服務(wù)器體系結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)應(yīng)用 1998第一期

      3.Paul E.Renaud 《客戶機(jī)/服務(wù)器系統(tǒng)入門必讀》電子工業(yè)出版社 1995、6

      4、Application Techniques------PowerBuider version6Document number AA0518 SYBASE 1997.10

      5 、湯子瀛等 《計(jì)算機(jī)實(shí)用網(wǎng)絡(luò)技術(shù)教程》杭州大學(xué)出版社 1998.8

      6 、黃允聰?shù)取毒W(wǎng)絡(luò)安全基礎(chǔ)》清華大學(xué)出版社 1999.2


      【PowerBuilder的分布式計(jì)算技術(shù)及其應(yīng)用】相關(guān)文章:

      淺談云計(jì)算技術(shù)_分布式08-18

      分布式對(duì)象技術(shù)及其在Web上的應(yīng)用08-09

      分布式對(duì)象技術(shù)及其在Web上的應(yīng)用08-06

      利用PowerBuilder開發(fā)WEB應(yīng)用08-06

      利用PowerBuilder開發(fā)WEB應(yīng)用08-06

      利用PowerBuilder開發(fā)WEB應(yīng)用08-06

      利用PowerBuilder開發(fā)WEB應(yīng)用08-06

      Powerbuilder6.5應(yīng)用實(shí)例08-12

      Powerbuilder中樹形視圖的實(shí)現(xiàn)與應(yīng)用08-06

      主站蜘蛛池模板: 蜜臀av性久久久久蜜臀aⅴ麻豆| 男人扒女人添高潮视频| 国产中文字幕精品免费| 又爽又黄又无遮挡的激情视频| 亚洲一区二区三区丝袜| 国产高清亚洲一区亚洲二区| 国产偷窥熟女高潮精品视频| 偷青青国产精品青青在线观看| 中文字幕人妻丝袜美腿乱 | 精品天堂色吊丝一区二区| 激情文学一区二区国产区| 熟女视频一区二区三区嫩草| 精品视频不卡免费观看| 嫩草研究院久久久精品| 色综合五月伊人六月丁香| 亚洲高清WWW色好看美女| 国内精品久久人妻无码不卡 | 国产大尺度一区二区视频| 深夜福利资源在线观看| 欧美亚洲另类 丝袜综合网| 蜜桃亚洲一区二区三区四| 欧洲中文字幕一区二区| 黄页网址大全免费观看| 一色桃子中出欲求不满人妻| 真人无码作爱免费视频| 高清性欧美暴力猛交| 美女一区二区三区亚洲麻豆| 东京热人妻丝袜无码AV一二三区观| 国产三级精品三级在线观看| 精品无人区一码二码三码| 国产午夜福利小视频合集| 97一区二区国产好的精华液| 人妻中文字幕不卡精品| A级毛片免费完整视频| 日韩一区二区黄色一级片| 国产无人区码一区二区| 国产极品精品自在线不卡| 亚洲综合网一区中文字幕| 欧美亚洲综合成人A∨在线| 日本道之久夂综合久久爱| 国产一二三五区不在卡|