使用PB 7.0 开发Web应用

使用PB 7.0 开发Web应用,第1张

Sybase公司的PowerBuilder 是适用于开发Web 应用的新一代开发工具 利用它可以建立 管理和提交Web应用使用DataWindow技术 开发人员可以利用现有的PowerBuilder逻辑 把它们重新提交到瘦客户端或HTML JavaScript客户端容易地集成标准的Web组件和业务逻辑它与Enterprise Application Server紧密集成 便于开发 管理 调试和提交

  完善的Web开发环境      PowerBuilder 中集成了PowerSite 技术 Enterprise Application Server提供专业戚铅贺的Web开发环境 无论你想建立单机的Web应用 还是把DataWindow与其它组件相结合激樱开发出复杂的Web应用 都可以由开发人员任意发挥

PowerSite 非常适合企业级Web应用开发人员 他们可以在同一个环境下建立 管理和提交Web应用 PowerSite不仅提供快速建立大型Web页面的能力 而且还为Web开发人员提供轻松集成和扩展他们的Web应用的能力  

  创建页面的标准Web编辑器  

  这个HTML编辑器能够进行快速的企业Web开发 它有三种编辑方式:WSIYWYG(所见既所得的页面) 原代码和结构 预显示模式可以随时测试你所编辑的当前页面和执行客户端的脚本代码 你可以随意在这几种模式中切换 使用你喜欢的方式 它还包括一个集成的风格编辑器可以方便地创建页面内嵌的风格 基于页面的表的风格和一体化的CSS文件  

  PowerSite提供一个非常方便的功能——系统树(System Tree) 它可以更好地组织程序结构 提高Web 应用的开发进度  

  为了更方便地生成HTML和脚本 PowerSite支持DTC(Design Time Controls) HTML和脚本语句有时会很复杂或重复率较高 DTC就象是一个向导而且功能更强 它可以帮助按照开发人员的需要生成HTML或JavaScript 当使用PowerSite的DTC时 在编辑界面上会出现一个属性表 你可以编辑它的属性 它就可以自动生成你所需要的代码  

  组件装配与站点管理  

  PowerSite允许在PowerBuilder PowerJ或其它工具中装配组件 只要这些工具是IDE并且具有编辑环境即可

·拖拽客户端组件 如小程序(applets)或ActiveX控件 可以把它们放到编辑界面上 系统树在本地机上会显示出所有组件和所能联到的Jaguar服务器 所有的方法 属性和事件也都显示在屏幕上 它们都可以被拖拽到脚本编辑器中    ·拖拽服务器端组件 可以在Jaguar的IDE中进行 并且可以自动生成调用它们的脚本 可以使用PowerBuilder建立业务逻辑组件提交到Jaguar服务器中 也可以在PowerSite中开发HTML页面调用这些组件  

  ·利用DataWindow组件 使用HTML DataWindow和DataWindow DTC可以在新的Web应用中使用现有的客户机/服务器应用中的逻辑组件    HTML DataWindow是瘦客户应用技术与DataWindow技术相结合的一项新技术 它可以使你能够在数据显示界面上通过高亮条 *** 作和编辑数据 就象在客户机/服务器应用中一样 发挥DataWindow的优异特性    可以将现有的Web站点集成到PowerBuilder应用中 使用PowerSite可以把现有的站点输入(Import)到组件管理器中 并把它们归入PowerSite的版本控制之下 再利用新的HTML   DataWindow增强它们的功能    Web应用的提交    企业应用服务器(Enterprise Application Server)的页面服务组件称为PowerDynamo PowerSite可以把应用提交到页面服高派务器 执行服务器端的脚本 如PowerDynamo和Microsoft   ASP 另外 如果服务器的脚本是用PowerSite Common Object Model写成的 那么同一个页面可以被提交到任何一个页面服务器上    PowerSite可以将页面转换成为独立于服务器的模式 并生成相应的脚本 因此它们可以运行在任何服务器上 在异构和传统的环境中 由于页面写一次可以被提交到不同的服务器上 所以它可以节省很多时间

lishixinzhi/Article/program/PB/201311/24561

一 PowerBuilder中的WEB应用模块

PowerBuilder中含有开发WEB应用的模块 通过这些模块可以连接WEB服务器与晌亏PowerBuilder应用.该模块包括以下及部分 Web PB:是几个可以在WEB服务器上执行的程序 被服务器激活后 调用PowerBuilder应用 完成客户端任务和对数据库的事务 *** 作.Plug_ins(插入件) 包括Window plug_in和Datawindow Plug_in 此方式可将PowerBuilder对象嵌入到页面中 在浏览器端执行PowerBuilder应用.Window Activex: 此方式与Window plug_in类似 所不同在于该方式可以和HTML中的JavaScripts VBscripts交互.本文主要讨论利用Web PB开发WEB应用.

二 用Web PB开发WEB应用

Web PB本身就是个CGI程序 它提供了从服务器到PowerBuilder应用的访问.所以在Web PB之上 可以利用PowerBuilder的强大功能开发复杂的WEB应用 如采用PowerBuilder的PowerScripts语言环境 数据窗口技术等.PowerBuilder的WEB应用构建前提是分布式应用体系.PowerBuilder的客户端应用分布到WEB服务器上 可将Web PB看作为客户端应用.当客户端罩陵应用Web PB被WEB服务器激活后 调用PowerBuilder的服务器应用 执行在服务器应用中定义的方法 实现业务逻辑

这种模式是真正的 廋 客户机模式 客户端不需要安装其它软件 只安装浏览器软件.所有的事务 *** 作都在服务器端完成 下面将结合实例详细说明 利用PowerBuilder开发一个网上购书应用.对于物谨戚分布式PowerBuilder应用 首先应向客户Web PB指明PowerBuilder服务器应用在网络上的位置(Location) 其应用名 使用文件PBWEB INI来记录服务器应用信息.在此例中 取服务器应用名为TUTORIAL Driver=Winsock Application= /tcp Location=Localhost 建一个数据库(book_dealing)其中有三个表 分别为 book b_name b_no b_publisher b_price b_num customer c_name c_tel c_addr dealing b_name c_name d_num d_time

建一个数据窗口dw_book 其SQL语法为 SELECT book b_name book b_no book b_publisher book b_price book b_num FROM book

创建PB服务器应用的用户界面 在窗口w_server上有两个按钮cb_ cb_ 再定义一个transport类型的实例变量mytransport cb_ 的clicked事件有关程序如下 mytransport = create transport mytransport driver = winsock mytransport location = localhost mytransport application =

创建一个不可视的用户对象u_internet 定义一个transaction类型的全局变量mytransaction 在该用户对象的constructor事件中定义连接到数据库(book_dealing)的事务对象mytransaction和连接到数据库(webpb)的事务对象sqlca 在该对象的destructor事件中分别取消这两个事务对象 在u_internet上定义两个函数分别为f_book f_book_dealing 这两个函数的返回值都为字符类型 在f_book中 利用数据窗口dw_book作数据库查询 再利用数据窗口的属性将查询结果以HTML形式返回给web pb 有关程序如下 string return_ datastore dd dd = create datastore dd dataobject = dw_book dd settransobject(mytransaction) dd retrieve() return_=return_+dd object datawindow data table return return_

在函数f_dealing中 定义参数分别为 book_name deal_num custom_name deal_time custom_tel custom_addr 用来接受FORM元素传来的信息 再利用PowerScripts语言对数据库(book_dealing)进行修改 有关程序如下 string return_

………… connection using mytransactioninsert into customer ( c_name c_tel c_addr ) values( :custom_name :custom_tel :custom_addr)insert into dealing ( b_name d_num d_time c_name ) value(:book_name :deal_num :deal_time :custom_name)

if mytransaction sqlcacode>then return_= 定货成功! else return_= 定货失败! endif ……… return return_ 主页上的 浏览书库 的超连接为  A HERF= /scripts/pbcgi exe/tutorial/u_internet/f_book 〉 浏览书库</A>  定书信息页上应有几个单行编辑器 用来录入用户购书信息(例如:书名 用户名 购书数量 等等)其FORM元素的ACTION为 <form  action= /scripts/pbcgi exe/tutorial/u_internet/f_book_dealing method= get >

lishixinzhi/Article/program/SQL/201311/16416


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12429710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存