收藏 分销(赏)

用WEB.PB开发瘦客户机WEB应用.doc

上传人:仙人****88 文档编号:7043299 上传时间:2024-12-25 格式:DOC 页数:5 大小:36.50KB 下载积分:10 金币
下载 相关 举报
用WEB.PB开发瘦客户机WEB应用.doc_第1页
第1页 / 共5页
用WEB.PB开发瘦客户机WEB应用.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
用Web.PB开发瘦客户机Web应用 (深圳:独孤求败 2003-05-20)   Powersoft的Web.PB技术可以将分布式PowerBuilder的客户端应用分布到Web服务器上,由Web服务器调用PowerBuilder应用。用户可以用WebPB技术实现完全瘦客户机的PB Web应用。   1.Web应用的执行过程   浏览器访问Web服务器,向Web服务器提出请求,服务器给浏览器返回HTML文档。如果HTML页面中嵌入了通过〈A〉元素链接到WebPB的超级链接,或HTML页面中嵌入了通过〈FORM〉元素对WebPB的调用,则Web服务器调用WebPB建立与PowerBuilder服务器应用的连接,向PowerBuilder服务器应用提出请求,PowerBuilder服务器应用处理请求。如有数据库访问的请求,则PowerBuilder服务器应用访问数据库服务器。PowerBuilder服务器应用将处理结果以HTML文档格式返回到Web服务器。Web服务器将PowerBuilder服务器应用的处理结果以HTML文档格式发布给浏览器。   2.应用实例   本人已将利用Web.PB技术开发的学校管理查询系统应用于实际应用中。下面通过简单的例子说明如何利用Web.PB技术实现瘦客户机的Web应用。   2.1. 运行环境   服务器为HP NetServer 5/133 LC,内装Windows NT 4.0、SQL Server 6.5、IIS 40和PowerBuilder 6.0。   2.2. 配置   拷贝WebPB文件,将PBISA60DLL拷入\scripts虚拟目录下,拷贝PBWEBINI文件到WINNT目录下。用记事本编辑\Winnt\System32\Drivers\Etc\目录下的Hosts和Services文件,在Hosts文件中填加一行:202.194.168.88 server—sls,在Services文件中填加一行:pb—sls—server 10099/tcp。   2.3. 创建PowerBuilder服务器应用   2.3.1. 创建服务器应用及应用对象   启动PowerBuilder,点取PowerBar上Application画笔,进入Application工作区。从Application工作区上的PainterBar点取New,创建一个新的PowerBuilder应用sls.pbl。按下“保存”按钮,弹出“Save Application”对话框,定义Application对象“sls”,按下“OK”按钮。弹出“Application”对话框,选择对话框中“NO”按钮,应用sls.pbl创建完成。修改该应用对象的Library属性,在Application工作区中点击PainterBar上的Property工具,弹出“Application”对话框,选择“Libraries”。定义应用的可搜索路径,填加“c:\program Files\Powersoft\PB6\IT\webpb.pbl”,按下“OK”按钮,服务器应用及应用对象创建完毕。   2.3.2. 创建PowerBuilder服务器应用的用户界面   点取PowerBar上Windows画笔,弹出“Select Window”窗口,点取“New”按钮,进入新创建的窗口的工作区。在该窗口上放置两个命令按钮cb—1、cb—2和一个静态文本st—1,在两个命令按钮cb—1、cb—2上的文本分别改为“启动服务器应用”、“关闭服务器应用”。   定义窗口上transport类型实例变量mytransport,用于监听Web.PB的调用请求:   transport mytransport   为cb—1的Clicked事件编程如下: transport mytransport mytransport=CREATE transport mytransport.driver=″winsock″ mytransport.location=″202.194.168.88″ mytransport.application=″10099″ mytransport.Listen() IF (mytransport.ErrCode<>0) THEN    MessageBox(″错误信息″,″服务器应用不能启动监听~r~n″+″错误号为:″+string(mytransport.ErrCode)+″~r~n″+″错误信息为:″+mytransport.ErrText)   Close(this.getparent())    return   ELSE   St—1.text=″服务器正在运行″   END IF   为cb—2的Clicked事件编程如下:   Close(Parent)   上述工作完成后,选取选单项File下的Save选单项,弹出“Save Window”对话框,定义窗口名为w—sls—server,然后点击“OK”按钮,保存窗口。这个窗口对象将是应用服务器中第一个打开的窗口。为应用对象sls的open事件编写如下程序:   open(w—sls—server)   2.3.3. 创建PowerBuilder服务器应用中的用户对象   进入PowerBuilder工作区,点取PowerBar上User Object画笔,弹出“Select User Object”对话框。选择“New”按钮,弹出“New User Object”对话框。选择Class类Custom用户对象,单击“OK”按钮,进入到用户对象工作区。选取选单项File下的Save选单项,弹出“Save User Object”对话框,输入“u—sls”,然后点击“OK”按钮,保存该用户对象。   为用户对象u—sls的constructor事件编写处理程序:   transaction mytransaction   mytransaction=CREATE transaction   mytransaction.dbms=″odbc″   mytransaction.dbparm=″ConnectString=′DSN=Powersoft Demo DB V6;″&+″UID=dba;PWD=sql′ ″   CONNECT USING mytransaction;      Sqlca.dbms=″odbc″   Sqlca.dbparm=″ConnectString=′DSN=Powersoft Webpb;UID=dba;PWD=sql′″   CONNECT USING sqlca;   IF sqlca.sqlcode<>0 THEN      MessageBox(″Sqlca Error:″+String(sqlca.sqldbcode),        sqlca.SqlErrText)   END IF   为该用户对象的destructor事件编写处理程序:   transaction mytransaction   DISCONNECT USING mytransaction;   DISCONNECT USING SQLCA;   DESTROY mytransaction   这样,当Web.PB调用PowerBuilder服务器应用中用户对象时先建立了和数据库的连接。当调用完成时关闭连接。   在用户对象u—sls的工作区中,选取选单项Declare下的Instance Variables选单项,定义用户对象上的实例变量,输入:   u—html—form my—html—form   u—session my—session   u—transaction my—transaction   integer ii—count   datastore mydatastore   按下“OK”按钮,返回用户对象工作区。   创建用户对象函数在查询时所需的数据窗口对象dw—rsda(假定已创建了Powersoft Demo DB V6库rsda(bh,xm,xb,bm,…)表),进入PowerBuilder工作区。点取PowerBar上Data Window画笔,弹出“Select DataWindow”对话框。点击“New”按钮,弹出“New DataWindow”对话框,在“DataSource”选择框中选择Quick Select,“Presentation Style”选择框中选择Grid。点击“OK”按钮,弹出“Quick Select”对话框,选取表rsda和表中相应的列(bh,xm,xb,bm)。按下“OK”按钮,进入数据窗口工作区,存此数据窗口为“dw—rsda”。   打开已创建好的用户对象u—sls。在用户对象工作区点取选单项Declare下的“User Object Functions”选单项,弹出“Select Function in User Object”对话框。单击“New”按钮,弹出“New Function”对话框。在此对话框中定义函数的参数及返回值。定义函数名为:f—rsda,函数返回值为:string。点击“OK”按钮,进入函数编程工作区,编写程序如下:   string return—html   long ll—dw—row   transaction mytransaction   datastore datastore—rsda   datastore—rsda=CREATE datastore   datastore—rsda.dataobject=″dw—rsda″   datastore—rsda.settransobject(mytransaction)   ll—dw—row=datastore—rsda.retrieve()   IF LL—dw—row>=1 THEN   Return—html=return—html+   datastore—rsda.object.datawindow.data.htmltable   ELSE   Return—html=″没有检索到数据″   END IF   RETURN return—html   这个函数的主要作用是调用数据窗口dw—rsda进行数据查询,将查询结果以HTML的语法格式返回。Web服务器将得到这个返回参数,并发布给调用函数的浏览器客户。   2.4. 用Web.PB Wizard创建访问Web.PB的HTML文件   在PowerBuilder环境下,点取PowerBar上的Web.PB Wizard画笔。输入或浏览选择Web.PB要访问的PowerBuilder服务器应用名后,点击“Next”按钮。在弹出的窗口中选择所需的用户对象u—sls,然后点击“Next”,在弹出的窗口中选择所需的用户对象函数f—rsda。然后点击“Next”,在弹出的窗口中分别作如下的选择:在Select the program interface框中选择“Internet Server API(ISAPI)”,在Enter the URL path for CGI program框中输入“/scripts”,在Select the HTML style框中选择“Anchor”。然后点击“Next”按钮,在弹出的窗口中分别作如下的选择:在位置框中输入“C:\winnt\pbweb.ini”,在Enter Server Alias Section框中输入“Internet”,在Driver框中选择“Winsock”,在Application框中输入“10099”,在Location框中输入“20219416888”。然后点击“Next”按钮,在弹出的窗口中,在HERF text框中输入“人事档案查询”,在Specity location and name of HTML file框中输入“c:\intepub\wwwroot\rsdaweb.htm”。然后点击“Next”按钮,在弹出的窗口中点击“Finish”。到此为止,能够访问PowerBuilder服务器应用中用户对象u—sls上函数f—rsda的HTML页面已经完成。   2.5. 启动服务器应用   在PowerBuilder环境下,按下PowerBar上的Run画笔,应用打开w—sls—server窗口,点取“启动服务器应用”按钮。在静态文本框中显示“服务器正在运行”,使服务器应用能够监听Web.PB的调用。   2.6. 启动浏览器浏览   打开IE4.0,在Location框中输入:http://202.194.168.88/rsdaweb.htm,然后再在“人事档案查询”上单击,则在页面中按照PowerBuilder的Data Window格式显示出rsda表中的记录。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服