问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用pb开发基于c\s模式的系统

发布网友 发布时间:2022-10-14 07:39

我来回答

2个回答

热心网友 时间:2023-11-29 23:01

用PowerBuilder6建立browser/server结构应用程序
1998.10.20 新疆财院计算中心 孙彬 王东
【摘要】本文主要论述Powerbuilder6.0实现 Browser/Server结构的Internet解决方案和工作方式,对实现该方式的几种重要模块的数据流程进行论述,最后给出实例。
PowerBuilder 6.0实现“Web浏览器-数据库服务器”方案的前提条件是构建分布式应用体系。将 Powerbuilder6.0应用分布到Internet结构下,也就是把PowerBuilder 6.0客户端应用分布到Web服务器上,当浏览器客户端向Web 服务器发出服务请求时,Web服务器自动调用Powerbuilder应用软件系统, 从而实现各种业务软件的Internet结构功能。
一、组成Browser/Server结构的模块结构。
由上图所示, 用 Powerbuilder6. 0 开发的各种基于Internet的应用,是利用PowerBuilder6.0 提供的分布式应用技术及PowerScripts编程技术来实现的,相当于编写分布式应用环境下的服务器应用。例如采用PowerScripts语言环境、数据窗*术等。其制作流程及工作原理是:
1. 建立及配置 Web 服务器。 PowerBuilder 中自带O'Reilly公司基于WindowsNT 3.51以上版本和Win 95/98平台的32位多线程个人Web服务器WebSite 1.1版。该Web 服务器提供了完整的Web服务创建、管理环境和安全机制。
2.在Web服务器上建立可执行程序(Web.Pb)。Web.pb(Pbcgi60.exe)程序主要功能是调用PowerBuilder应用服务器中预置的处理程序,包括分析执行用户对象中的用户函数,反馈HTML控制流和生成解释插入件程序等。
Web.PB是用来开发基于Web应用的基本部件,该部件本身就是Web上的一个网关应用程序。该工具提供从 Web服务器到PowerBuilder应用服务器的访问,允许用户在 Internet以及Intranet下,通过Web对数据库进行近于完全的操纵。同时,通过Web.PB,动态创建HTML文档亦成为可能。Web.PB程序是Web服务器和 PowerBuilder应用服务器相连接的桥梁。使用Web.PB构建Web应用有如下优点:
a.支持CGI、ISAPI、NSAPI、MSAPI等多种网关程序接口。
b.支持PowerBuilder中数据窗口的引用。
c.易于将以前编写的PowerBuilder应用移植到Web环境下。
d.易于创建嵌入PowerBuilder应用程序的HTML文件,应用服务器在运行环境下,将根据用户需求, 动态生成HTML语法,发布完全动态的信息。
e.支持数据库连接。PowerBuilder所能够连接到的数据库都可以被浏览器用户访问到,使得 Web服务与数据库服务通过Powerbuilder 6.0完整地结合起来。
3.建立PowerBuilder应用服务器。PowerBuilder应用服务器主要是一些用于激活Powerbuilder6.0 业务应用的类库程序组成。创建上图所示的PowerBuilder应用服务器时,须引用Powerbuilder6.0 Web类库,类库中定义了五种定制的类用户对象,封装了创建HTML语法及事务管理所需的函数、结构和实例等多种实体,可用来创建HTML语法、管理客户浏览器连接的状态等。PowerBuilder 6.0应用服务器相当于分布式应用中客户端应用,用于向PowerBuilder6.0业务应用发出调用请求。执行方法是:当Powerbuilder6.0 应用服务器监听到Web.PB的请求后,则启动PowerBuilder应用服务器中已预定义的业务处理程序。
例如,当用户在浏览器端使用Web浏览器(IE或Netscape)浏览页面时,通过在HTML页面中嵌入的 <A>或<FORM>元素,Web服务器可自动激活Web.PB应用。活动的Web服务器首先调用PowerBuilder6.0的Web.PB类程序,作为PowerBuilder 分布式应用中的客户端应用,建立与PowerBuilder 6.0应用服务器的连接,然后调用PowerBuilder6.0应用服务器中定义的各个业务功能,也就是用户自定义对象中封装的用户函数,包括数据库访问和文件处理等数据处理功能。
4.建立PowerBuilder业务应用程序。在用户自定义对象中,创建用户自定义函数。功能要求是根据浏览器端用户的需求,进行业务数据处理,把处理结果以HTML页格式,反馈给web.pb程序,经常用于人事管理、财务管理、信息数据处理和系统管理等业务工作。
PowerBuilder业务应用程序有插入件(Plug_ins)和嵌入HTML文件两种风格。Plug-ins(插入件)的使用方法又分成Window plug-ins和Datawindow plug-ins两种。
Window plug-ins 插入件编制业务程序的的方法是 : 在HTML页面上,嵌入并显示PowerBuilder6.0中Child 类型的窗口对象,可放置数据窗口(DataWindow)、树状浏览(TreeView)、Tab页等丰富多彩的控件类型, 丰富HTML页面的表现形式。当客户端用浏览器浏览页面时,Web服务器将PSR文件或PBD文件卸载给客户,客户浏览器接收到PSR文件和PBD文件,将Child窗口对象嵌入在Web 页面中,如果嵌入的是窗口对象,则窗口上定义的功能在浏览器环境下同样能使用,如窗口上定义了数据库操纵的功能,则在浏览器客户端能直接连接操纵数据库。Plug-ins起到了将PowerBuilder6.0对象嵌入到页面中的作用,数据窗口具有丰富的显示风格,用户比较欢迎浏览器上“Powerbuilder Child类数据窗口”的数据表现形式。
Window ActiveX的使用方法与Window plug-ins类似,用来在HTML页面中嵌入并显示PowerBuilder中Child 类型的窗口对象。该组件可以和HTML中的VBScripts和JavaScripts交互使用。
单纯嵌入HTML文件的方法是流行的编程趋势, 也就是说根本不用插入件产品,客户端只需安装常规的Web浏览器,便能实现真正“瘦”的 Browser/Client/Server 结构体系。
总之,Powerbuilder6.0 应用服务器将业务处理程序的执行结果以HTML格式返回给Web服务器。Web服务器再将HTML发布给用户,客户浏览器端在浏览器上接收到结果。
二、简单的Internet应用实例
1.选用Web服务器,配置Web.pb程序。Web服务器种类很多,在此选用Websuit1.1服务器,其它种类的Web 服务器类似。Web.pb程序包括pbcgi60.exe、psisa60.dll、pbnsl60.dll、pbns260.dll、webbagent.dll和pbweb.ini等文件。 注意:设置映射目录/scripts/为c:\ website\ cgi-shl;将上述Web.pb文件复制到/scripts/目录下;将pbweb.ini文件拷贝到WINDOWS NT或WINDOWS 95 的系统目录下;在webpb.ini文件中加入以下内容:
[pb60]
driver=winsock
application=10082
location=202.201.208.6
2.在Powerbuilder6.0开发平台上,选取Internet选项,创建 Powerbuilder6. 0 应用服务器。 技术要点是:建立Internet应用,加入webpb.pbl 类库文件并作启动服务器的脚本,内容是:
transport.mytransport
mytransport=create transport
mytransport="winsock"
my transport.location="202.201.208.6"
//PowerBuilder6.0应用服务器监听地址
mytransport.application="10082"
//服务端口号
mytransport.listen()
//启动监听服务
return
3、设置业务数据库服务器和sybase SQL Anywhere本地库wedpb.db的连接。其中业务数据存放到数据库服务器,例如:SQL6.5、Sybase 11、Informix 6.0、Ingres和DB2等类型的数据库;本地库webpb.db中,只存放PowerBuilder 6.0应用服务器的控制信息。
4、创建用户对象,并为该用户对象编写处理脚本。例如:创建用户对象ur,并给constructor事件编写如下脚本:
mytransaction=create transaction
mytransaction.dbms='ODBC"
mytransaction.dbparm="Connectstring='DSN=WebPb'"
Connect using mytransaction;
if mytransaction.sqlcode<>0 then
messagebox("mytransaction.error="+string(mytransaction. &
sql_dbcode),mytransaction.sqlerrtext)
end if
sqlca.dbms="MSS (Msoft) SQL Server 6.5"
sqlca.DataBase="xyw"
sqlca.Userid="sa"
sqlca.ServerName="Server"
sqlca.logid="sa"
Connect using sqlca;
if sqlca.sqlcode<>0 then
messagebox("sqlca.error="+string(sqlca.sql_dbcode),sqlca.sqlerrtext)
end if
给destructor事件编写如下脚本:
disconnect using mytransaction
disconnect using sqlca
目的是:当Web.pb调用Powerbuilder6.0服务器时,用户对象自动先建立与数据库的连接,调用结束后断开连接。
5、编写用户自定义函数,各种业务工作的数据处理都由该类函数来完成。例如,在用户对象UR上,创建一查询功能的函数fp(),其内容是:
string return_html
long ii
datastore data_fp
data_fp=create datastore
data_fp.dataobject="dw_fp"
//dw_fp为已经做好的查询数据窗口
data_fp.settransobject(mytransaction)
ii=date_fp.retrieve()
//检索到的记录数存入变量ii
if ii>=1 then
return_html+=data_fp.object.datawindow.data.htmltable
else
return_html="没有检索到满足条件的数据"
end if
return return_html
6、启动服务器,再启动Powerbuilder6.0应用服务器; 在客户浏览器端浏览含有如下HTML语法的页面:
<h2>查询页面实例</h2>
<A href="/scripts/pbcgi60.exe/pb60/ur/fp?"> 查询开始</A>
这样Powerbuilder6.0数据窗口dw_fp的内容就可以通过点击超文本链接“查询开始”而显示在客户浏览器界面上,完成一个简单的“瘦”的browser/server应用。

热心网友 时间:2023-11-29 23:02

首先,你是弄个大型点的数据库,比如SQLSERVER2000,sybase12.0之类的东西,然后,你找个电话专门做数据库服务器,其它电脑安装相应数据库的连接客户端,客户端怎么装,软件介绍里都有,我就不COPY了,你是程序里把数据连接的内容改一下,再让其它电脑都在同一局域网内,OK了,已经CS了,还想BS不?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
陕汽德龙f3000搅拌车仪表盘按钮用途 单眼皮肿眼泡下垂眼怎么化妆 蔚顿烟罩净化一体机突然不亮了是怎么回事? 蔚顿油烟净化器官网 有谁知道么蔚顿油烟净化器的售后怎么样? vivo手机左上角出现lte是什么意思 ...x5m手机前千面刻有4G,后面刻有ChinaMobile4GLTE是怎么回事 vivov3maxA的手机屏幕上出现了4GLTE怎么才能关闭 vivoy51左上角怎么是4glte 我本机是vivoX5L的移动版,为什么机的后盖有china mobile 《4glte... 新买的比阳充电宝充电时前3个格充了5个小时,第四格充了单独5个小时还没满,是坏了吗 比阳充电宝是安全的吗 当天去了三亚再报散团,管吃住吗,大概三月份去 海南乐悠乐游网络科技有限公司怎么样? 梦见狗会说话是什么预兆 磐蛇24英寸一体机电脑质量好不好,受追捧吗 keep-alive菜单栏不断加载 15《Vue 入门教程》Vue 动态组件 &amp; keep-alive 伦敦下午两点纽约几点 美国东部时间和伦敦差多少 一直从事酒店行业至的翻译是:什么意思 我发现,自己的膝盖和小腿走路不在一条线上,小腿向外翻,像x型。很难看。。想通过非手术的办法矫正一下 o型腿和X型腿在医院看什么科 天津哪家三甲医院可以看由于走路姿势不正确导致的腿型不好看,小腿有点外翻,矫正腿型,谢谢 诱狼五百字观后感 诱狼观后感,600字 《诱狼》观后感 诱狼300字的观后感 观《诱狼》有感600字作文 电影诱狼内容简介与观后感 c语言编程:输入一个整形数,然后按汉语的习惯,将其读出来并输出.如1052,读作:一千零五十二. 石斛兰和铁皮石斛一样吗 什么洗发水用了掉头发 kindle paperwhite kindle voyage,kindle oasis买哪个 微信小程序开发公司怎么选? kindle paperwhite,voyage怎么选择 东野圭吾《嫌疑人X的献身》解读:其实,悬疑故事不是它的全部! 七年级语文《天净沙秋思》教学设计 故乡九年级语文上册说课稿 海信社交电视的功能有用吗? 月亮弯弯绕绕缠绕在我的心上是什么歌 不是大张伟的 感觉是港风? 你认为《黑神话:悟空》是国产3A游戏吗? 求文^_^重生末世之重获新生 求文,重生末世之重获新生。 求文^_^重生末世之重获新生by懒得皮马甲全文 最近有什么很经典的美剧么? 推荐下 黑神话悟空官网是什么? 震撼造句-用震撼造句 基于主动外观模型(AAM)是什么?,谁能给我介绍一些相关的资料? 安卓手机里什么是AAM什么是AOM