Powerbuilder6.0實現 Browser/Server結構的Internet解決方案和工作
2024-07-21 02:10:06
供稿:網友
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發布給用戶,客戶瀏覽器端在瀏覽器上接收到結果。