Powerbuilder6.0實(shí)現(xiàn) Browser/Server結(jié)構(gòu)的Internet解決方案和工作
2024-07-21 02:10:06
供稿:網(wǎng)友
powerbuilder 6.0實(shí)現(xiàn)“web瀏覽器-數(shù)據(jù)庫服務(wù)器”方案的前提條件是構(gòu)建分布式應(yīng)用體系。將 powerbuilder6.0應(yīng)用分布到internet結(jié)構(gòu)下,也就是把powerbuilder 6.0客戶端應(yīng)用分布到web服務(wù)器上,當(dāng)瀏覽器客戶端向web 服務(wù)器發(fā)出服務(wù)請求時,web服務(wù)器自動調(diào)用powerbuilder應(yīng)用軟件系統(tǒng), 從而實(shí)現(xiàn)各種業(yè)務(wù)軟件的internet結(jié)構(gòu)功能。
一、組成browser/server結(jié)構(gòu)的模塊結(jié)構(gòu)。
由上圖所示, 用 powerbuilder6. 0 開發(fā)的各種基于internet的應(yīng)用,是利用powerbuilder6.0 提供的分布式應(yīng)用技術(shù)及powerscripts編程技術(shù)來實(shí)現(xiàn)的,相當(dāng)于編寫分布式應(yīng)用環(huán)境下的服務(wù)器應(yīng)用。例如采用powerscripts語言環(huán)境、數(shù)據(jù)窗口技術(shù)等。其制作流程及工作原理是:
1. 建立及配置 web 服務(wù)器。 powerbuilder 中自帶o'reilly公司基于windowsnt 3.51以上版本和win 95/98平臺的32位多線程個人web服務(wù)器website 1.1版。該web 服務(wù)器提供了完整的web服務(wù)創(chuàng)建、管理環(huán)境和安全機(jī)制。
2.在web服務(wù)器上建立可執(zhí)行程序(web.pb)。web.pb(pbcgi60.exe)程序主要功能是調(diào)用powerbuilder應(yīng)用服務(wù)器中預(yù)置的處理程序,包括分析執(zhí)行用戶對象中的用戶函數(shù),反饋html控制流和生成解釋插入件程序等。
web.pb是用來開發(fā)基于web應(yīng)用的基本部件,該部件本身就是web上的一個網(wǎng)關(guān)應(yīng)用程序。該工具提供從 web服務(wù)器到powerbuilder應(yīng)用服務(wù)器的訪問,允許用戶在 internet以及intranet下,通過web對數(shù)據(jù)庫進(jìn)行近于完全的操縱。同時,通過web.pb,動態(tài)創(chuàng)建html文檔亦成為可能。web.pb程序是web服務(wù)器和 powerbuilder應(yīng)用服務(wù)器相連接的橋梁。使用web.pb構(gòu)建web應(yīng)用有如下優(yōu)點(diǎn):
a.支持cgi、isapi、nsapi、msapi等多種網(wǎng)關(guān)程序接口。
b.支持powerbuilder中數(shù)據(jù)窗口的引用。
c.易于將以前編寫的powerbuilder應(yīng)用移植到web環(huán)境下。
d.易于創(chuàng)建嵌入powerbuilder應(yīng)用程序的html文件,應(yīng)用服務(wù)器在運(yùn)行環(huán)境下,將根據(jù)用戶需求, 動態(tài)生成html語法,發(fā)布完全動態(tài)的信息。
e.支持?jǐn)?shù)據(jù)庫連接。powerbuilder所能夠連接到的數(shù)據(jù)庫都可以被瀏覽器用戶訪問到,使得 web服務(wù)與數(shù)據(jù)庫服務(wù)通過powerbuilder 6.0完整地結(jié)合起來。
3.建立powerbuilder應(yīng)用服務(wù)器。powerbuilder應(yīng)用服務(wù)器主要是一些用于激活powerbuilder6.0 業(yè)務(wù)應(yīng)用的類庫程序組成。創(chuàng)建上圖所示的powerbuilder應(yīng)用服務(wù)器時,須引用powerbuilder6.0 web類庫,類庫中定義了五種定制的類用戶對象,封裝了創(chuàng)建html語法及事務(wù)管理所需的函數(shù)、結(jié)構(gòu)和實(shí)例等多種實(shí)體,可用來創(chuàng)建html語法、管理客戶瀏覽器連接的狀態(tài)等。powerbuilder 6.0應(yīng)用服務(wù)器相當(dāng)于分布式應(yīng)用中客戶端應(yīng)用,用于向powerbuilder6.0業(yè)務(wù)應(yīng)用發(fā)出調(diào)用請求。執(zhí)行方法是:當(dāng)powerbuilder6.0 應(yīng)用服務(wù)器監(jiān)聽到web.pb的請求后,則啟動powerbuilder應(yīng)用服務(wù)器中已預(yù)定義的業(yè)務(wù)處理程序。
例如,當(dāng)用戶在瀏覽器端使用web瀏覽器(ie或netscape)瀏覽頁面時,通過在html頁面中嵌入的 <a>或<form>元素,web服務(wù)器可自動激活web.pb應(yīng)用。活動的web服務(wù)器首先調(diào)用powerbuilder6.0的web.pb類程序,作為powerbuilder 分布式應(yīng)用中的客戶端應(yīng)用,建立與powerbuilder 6.0應(yīng)用服務(wù)器的連接,然后調(diào)用powerbuilder6.0應(yīng)用服務(wù)器中定義的各個業(yè)務(wù)功能,也就是用戶自定義對象中封裝的用戶函數(shù),包括數(shù)據(jù)庫訪問和文件處理等數(shù)據(jù)處理功能。
4.建立powerbuilder業(yè)務(wù)應(yīng)用程序。在用戶自定義對象中,創(chuàng)建用戶自定義函數(shù)。功能要求是根據(jù)瀏覽器端用戶的需求,進(jìn)行業(yè)務(wù)數(shù)據(jù)處理,把處理結(jié)果以html頁格式,反饋給web.pb程序,經(jīng)常用于人事管理、財(cái)務(wù)管理、信息數(shù)據(jù)處理和系統(tǒng)管理等業(yè)務(wù)工作。 powerbuilder業(yè)務(wù)應(yīng)用程序有插入件(plug_ins)和嵌入html文件兩種風(fēng)格。plug-ins(插入件)的使用方法又分成window plug-ins和datawindow plug-ins兩種。
window plug-ins 插入件編制業(yè)務(wù)程序的的方法是 : 在html頁面上,嵌入并顯示powerbuilder6.0中child 類型的窗口對象,可放置數(shù)據(jù)窗口(datawindow)、樹狀瀏覽(treeview)、tab頁等豐富多彩的控件類型, 豐富html頁面的表現(xiàn)形式。當(dāng)客戶端用瀏覽器瀏覽頁面時,web服務(wù)器將psr文件或pbd文件卸載給客戶,客戶瀏覽器接收到psr文件和pbd文件,將child窗口對象嵌入在web 頁面中,如果嵌入的是窗口對象,則窗口上定義的功能在瀏覽器環(huán)境下同樣能使用,如窗口上定義了數(shù)據(jù)庫操縱的功能,則在瀏覽器客戶端能直接連接操縱數(shù)據(jù)庫。plug-ins起到了將powerbuilder6.0對象嵌入到頁面中的作用,數(shù)據(jù)窗口具有豐富的顯示風(fēng)格,用戶比較歡迎瀏覽器上“powerbuilder child類數(shù)據(jù)窗口”的數(shù)據(jù)表現(xiàn)形式。
window activex的使用方法與window plug-ins類似,用來在html頁面中嵌入并顯示powerbuilder中child 類型的窗口對象。該組件可以和html中的vbscripts和javascripts交互使用。
單純嵌入html文件的方法是流行的編程趨勢, 也就是說根本不用插入件產(chǎn)品,客戶端只需安裝常規(guī)的web瀏覽器,便能實(shí)現(xiàn)真正“瘦”的 browser/client/server 結(jié)構(gòu)體系。
總之,powerbuilder6.0 應(yīng)用服務(wù)器將業(yè)務(wù)處理程序的執(zhí)行結(jié)果以html格式返回給web服務(wù)器。web服務(wù)器再將html發(fā)布給用戶,客戶瀏覽器端在瀏覽器上接收到結(jié)果。