荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: icefire (as you wish), 信区: Database
标  题: 用PowerBuilder开发internet程序(下)
发信站: BBS 荔园晨风站 (Sat Dec 12 08:46:50 1998), 站内信件

用PowerBuidler 5.0创建Internet应用(下)
    窗口Plug-in
    PowerBuilder窗口的Plug-in功能是一个将客户/服务器应用扩展
到Web上的技术。窗口的Plug-in功能允许在支持Plug-in的浏览器(如
: Netscape Navigator、MicrosoftsInterne t Explorer 3.0)上运行

PowerBuilder应用。这种Plug-in功能允许打开一个包含所有Power B
uilder标准控件的子窗口,例如tab控件、treeh和list view以及OLE
对象。也可以使用数据窗口技术,通过PowerBuilder的直接接口和ODB

C接口访问各种数据源。另外,PowerBuilder窗口Plug-in应用可具有

和分布式PowerBuilder应用的接口,这些应用可以运行在其它平台上,

如UNIX或Windows NT。
    PowerBuilder窗口包含在PowerBuilder动态库(pbd)中,放在Web

服务器上。例如:要装入某PowerBuilder窗口,在HTML页上嵌入如下标

记:

    〈embed src=windows_plugin.pbd width=370 height=320 wind

ow=w_product〉

    这里,windows_plugin.pbd是PowerBuilder库的名称,w_product

是由浏览器打开的子窗口的名称。width和height定义了在浏览器中

窗口的尺寸。可以同样用这个嵌入标记来指定其它需要的对象的Powe

rBuilder库,并且可以用commandparm属性向窗口传递一个字符串参数

。最终用户的PC机上必须安装有PowerBuilder运行时所需的动态链接

库,以便在WWW浏览器中运行窗口。

    窗口Plug-in功能的优点表现在以下几个方面:

    ·PowerBuilder窗口可以运行在WWW浏览器中,避免了编写大量的

HTML和CGI程序;

    ·只做很小的修改就可以让现有的应用具有运行在Web上的能力;

    ·PowerBuilder支持的高级用户界面功能克服了HTML的不足;

    ·可以使用数据窗口的读/写 /更新和删除功能。

    使用Web.PB进行基于服务器的开发

    Web.Pb是一种新的技术,可以让PowerBuilder建立基于服务器的I

nternet应用,允许WWW 浏览器访问分布式PowerBuilder应用的服务。

这些分布式的应用可以使用PowerBuilder所有的功能,例如数据窗口

、PowerScript、面向对象等,来建立基于服务器的应用。并且,Power

Builder服务器可以动态生成HTML页"飞到"或将HTML发送到Web浏览
器。这允许用户支持真正的"瘦客户机"体系结构,也就是在客户机上

只需要一个WWW浏览器。

    Web.PB2体系结构如下:

图1

    如上图所示,Web.PB的体系结构非常简单,并且建立在分布式Powe

rBuilder的基础上。W eb.PB实际上代替了传统的PowerBuilder客户

端应用的位置,允许用户通过WWW浏览器访问分布式的PB应用。在浏览

器中,用户可以访问在分布式PowerBuilder应用中的任何不可视对象

的属性和方法。用户还可以向方法传递参数。Web服务器与Web.PB通

讯将这些信息发送给分布式PowerBuilder应用,应用会执行方法并且

将结果以动态HTML的形式返回给浏览器。

    例如,下面的代码放在一个分布式PowerBuilder应用中的"of_get

_data"函数中。这个函数在SQL Anywhere数据库中搜索姓名的第一个

字母与用户输入的字母相同的雇员,用户输入的字母放在search_lett

er参数中:

    //定义变量

    String ls_html

    String ls_search_arg

    long ll_rows_retrieved

    ls_search_arg=search_letter+%

    //创建数据存储(非可视化数据窗口)并与一个数据窗口相关联

       ds_names=create datastore

    ds_names.dataobjecet="d_names"

    ds_names.settransobject(sqlca)

    //检索行

    ll_rows_retrieved=ds_names.retrieve(ls_scarch_arg)

    //用htmltable属性以HTML表格形式存储结果

    if ll_rows_retrieved>0 then

    ls_html=ds_names.object.DataWindow.data.htmltable

    else

    ls_html=‘No employees found for this search'

    end if

    //返顺包含HTML表格的字符串。

    return ls_html

    建立了函数后,在HTML页中用下列语法调用它:

    〈FORM METHOD="GET"ACTION="/cgi-shl/pbcgi050.exe/of_get_

data"〉

    请键入搜索字母〈INPUT NAME="search_letter"〉

    〈INPUT TYPE="SUBMIT" VALUE="search"〉



    Action语句指出使用Web.PB的接口,在这个例子中使用pbcgi050.

exe。PowerBuilder还支持Microsoft(ISAPI)和Netscape(NSAPI)Web

服务器。被调用函数"of_get_data"参数名称是"search_letter"。一

旦这个需求被提交,分布式PowerBuilder获取数据,将它格式化为HT M

L表格并且将表格返回给浏览器:

服务器。被调用函数"of_get_data"参数名称是"search_letter"。一

旦这个需求被提交,分布式PowerBuilder获取数据,将它格式化为HT M

L表格并且将表格返回给浏览器:

    Web.PB的优点表现在以下几个方面:

    ·用户可以访问动态的、数据驱动的Web节点;

    ·创建与服务器无关的应用,可以使用Microsoft、Netscape或任

何CGI兼容的WWW服务器;


    ·客户端的PC机只需要WWW浏览器;

    ·使用数据窗口技术在WWW节点上加入数据库连接能力;

    ·简单地提交复杂的、基于数据库的事务应用;

    ·只在服务器上修改,简化应用的维护和支持。


--
我不愿回首过去
我无力展望未来
但是
我至少拥有现在

※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.0.5]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店