本發(fā)明涉及一種網(wǎng)絡(luò)管理信息的方法,特別是涉及一種C/S結(jié)構(gòu)向B/S結(jié)構(gòu)移植的方法。
背景技術(shù):
::傳統(tǒng)的C/S模式下應(yīng)用系統(tǒng)一般由服務(wù)器(Server)和客戶端(Client)應(yīng)用程序組成。數(shù)據(jù)一般存放在服務(wù)器上,應(yīng)用程序一般存放在客戶端計(jì)算機(jī)上。這樣的系統(tǒng)雖然解決了數(shù)據(jù)共享等問(wèn)題,但卻具有不易維護(hù)、操作風(fēng)格不一致、能夠處理的數(shù)據(jù)類型不易擴(kuò)展等缺點(diǎn)。盡管后來(lái)將企業(yè)邏輯從客戶端劃分出來(lái),但隨著網(wǎng)絡(luò)應(yīng)用系統(tǒng)的發(fā)展,傳統(tǒng)C/S模式應(yīng)用系統(tǒng)的缺點(diǎn)還是不斷的暴露出來(lái),促使B/S模式應(yīng)用系統(tǒng)的產(chǎn)生和發(fā)展。B/S模式應(yīng)用系統(tǒng)由瀏覽器(Browser)和服務(wù)器(WebServer、OtherServer、MiddleWare)組成。數(shù)據(jù)和應(yīng)用程序分別存放在應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器上,瀏覽器可以通過(guò)Web服務(wù)器調(diào)用應(yīng)用服務(wù)器,從而得到動(dòng)態(tài)結(jié)果集。以B/S模式開發(fā)的系統(tǒng)維護(hù)工作集中在服務(wù)器上,客戶端不用維護(hù),操作風(fēng)格比較一致,只要有瀏覽器的合法用戶都可以十分容易地使用。為了從分利用Internet巨大的資源為企業(yè)創(chuàng)造更多經(jīng)濟(jì)效益和社會(huì)效益,對(duì)當(dāng)前大多數(shù)企業(yè)來(lái)說(shuō)使用的管理信息系統(tǒng)(MIS系統(tǒng))從原有的C/S結(jié)構(gòu)改造成3層甚至N層的C/S或B/S結(jié)構(gòu)就成為一個(gè)關(guān)鍵性的問(wèn)題。如果完全放棄原有的MIS系統(tǒng),重新投資,組織人力、物力開發(fā)新的基于B/S結(jié)構(gòu)的MIS系統(tǒng),無(wú)論是在時(shí)間上還是在人力物力上將會(huì)損失很大。但如果要利用現(xiàn)有的條件,對(duì)原有的系統(tǒng)進(jìn)行局部改造,實(shí)現(xiàn)向B/S結(jié)構(gòu)移植,不僅可以節(jié)約大量的人力物力,而且更重要的是節(jié)約時(shí)間,使企業(yè)能夠緊跟時(shí)代發(fā)展潮流并為企業(yè)創(chuàng)造更多的價(jià)值。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于提供一種C/S結(jié)構(gòu)向B/S結(jié)構(gòu)移植的方法,該方法利用原有的C/S結(jié)構(gòu)的MIS系統(tǒng)改造成B/S結(jié)構(gòu)的MIS系統(tǒng)會(huì)使企業(yè)節(jié)約大量成本,是一個(gè)極有價(jià)值的方法。通過(guò)ASP技術(shù)調(diào)用原有系統(tǒng)中數(shù)據(jù)庫(kù)服務(wù)器的存儲(chǔ)過(guò)程來(lái)獲得所需的數(shù)據(jù),這樣同樣可以節(jié)省很大成本。本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:一種C/S結(jié)構(gòu)向B/S結(jié)構(gòu)移植的方法,所述方法包括以下過(guò)程:首先,C/S結(jié)構(gòu)的應(yīng)用系統(tǒng)向B/S結(jié)構(gòu)移植的實(shí)現(xiàn);使用PB開發(fā)的C/S結(jié)構(gòu)的MIS系統(tǒng)向B/S結(jié)構(gòu)移植;(1)原有C/S結(jié)構(gòu)的MIS系統(tǒng)的數(shù)據(jù)庫(kù)可以完全保留,應(yīng)用服務(wù)器中的企業(yè)邏輯大部分可以保留,剩下的一部分僅做修改即移植到B/S結(jié)構(gòu)中,而用戶界面中的一部分改造而加以保留;(2)原有C/S結(jié)構(gòu)的MIS系統(tǒng)中的企業(yè)邏輯主要有兩大部分:數(shù)據(jù)窗口對(duì)象、用戶對(duì)象;用戶對(duì)象的改造使之讓W(xué)eb服務(wù)器調(diào)用并將結(jié)果以HTML文檔的形式送回瀏覽器上。所述的一種C/S結(jié)構(gòu)向B/S結(jié)構(gòu)移植的方法,所述對(duì)用戶對(duì)象加以改造主要有以下兩種方案:(1)利用Web.pb向?qū)С绦蛏煽梢哉{(diào)用指定用戶對(duì)象中的某一函數(shù)的網(wǎng)頁(yè);(2)將用戶對(duì)象中的函數(shù)稍加改動(dòng)使之返回一定的字符串,這些字符串即為HTML文檔,直接傳遞給瀏覽器顯示。所述的一種C/S結(jié)構(gòu)向B/S結(jié)構(gòu)移植的方法,所述HTML文檔首先用數(shù)據(jù)存儲(chǔ)的Object.Datawindow.data.htmltable方法獲得一個(gè)數(shù)據(jù)表,然后再用腳本語(yǔ)言給它加上文件頭和文件尾。本發(fā)明的優(yōu)點(diǎn)與效果是:本發(fā)明利用原有的C/S結(jié)構(gòu)的MIS系統(tǒng)改造成B/S結(jié)構(gòu)的MIS系統(tǒng)會(huì)使企業(yè)節(jié)約大量成本,是一個(gè)極有價(jià)值的思想。本發(fā)明對(duì)以前使用PB開發(fā)的C/S結(jié)構(gòu)的MIS系統(tǒng)進(jìn)行改造移植,同樣對(duì)于使用其它語(yǔ)言開發(fā)的系統(tǒng)而言,利用在原系統(tǒng)基礎(chǔ)上進(jìn)行改造的思想是可行的,但不同的開發(fā)工具使用的具體方法會(huì)有些出入。即使有些系統(tǒng)的企業(yè)邏輯部分很難改造,也可以保留數(shù)據(jù)庫(kù)服務(wù)器中所有存儲(chǔ)過(guò)程,通過(guò)ASP技術(shù)調(diào)用原有系統(tǒng)中數(shù)據(jù)庫(kù)服務(wù)器的存儲(chǔ)過(guò)程來(lái)獲得所需的數(shù)據(jù),這樣同樣可以節(jié)省很大成本。附圖說(shuō)明圖1為WindowPlug_in的執(zhí)行原理示意圖。具體實(shí)施方式下面結(jié)合實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。C/S結(jié)構(gòu)的應(yīng)用系統(tǒng)向B/S結(jié)構(gòu)移植的實(shí)現(xiàn)。使用PB開發(fā)的C/S結(jié)構(gòu)的MIS系統(tǒng)向B/S結(jié)構(gòu)移植的方案:原有C/S結(jié)構(gòu)的MIS系統(tǒng)的數(shù)據(jù)庫(kù)可以完全保留,應(yīng)用服務(wù)器中的企業(yè)邏輯大部分可以保留,剩下的一部分僅做一定的修改即可移植到B/S結(jié)構(gòu)中,而用戶界面中的一部分也可以適當(dāng)改造而加以保留。原有C/S結(jié)構(gòu)的MIS系統(tǒng)中的企業(yè)邏輯主要有兩大部分:數(shù)據(jù)窗口對(duì)象、用戶對(duì)象(主要是對(duì)使用PB開發(fā)的C/S結(jié)構(gòu)的MIS系統(tǒng)而言)。其中數(shù)據(jù)窗口對(duì)象大部分可以完全保留,而大部分用戶對(duì)象可做一定的修改而保留??梢娛褂肞B開發(fā)的C/S結(jié)構(gòu)的MIS系統(tǒng)向B/S結(jié)構(gòu)移植的關(guān)鍵在于如何對(duì)C/S結(jié)構(gòu)中的用戶對(duì)象的改造使之可以讓W(xué)eb服務(wù)器調(diào)用并將結(jié)果以HTML文檔的形式送回瀏覽器上。對(duì)用戶對(duì)象加以改造主要有以下兩種方案:(1)利用Web.pb向?qū)С绦蛏煽梢哉{(diào)用指定用戶對(duì)象中的某一函數(shù)的網(wǎng)頁(yè)。這種方法快而簡(jiǎn)單,但生成的網(wǎng)頁(yè)較單一而且樣式普通。(2)將用戶對(duì)象中的函數(shù)稍加改動(dòng)使之返回一定的字符串,這些字符串即為HTML文檔,可直接傳遞給瀏覽器顯示。首先用數(shù)據(jù)存儲(chǔ)的Object.Datawindow.data.htmltable方法來(lái)獲得一個(gè)數(shù)據(jù)表而不是用Getfullstate函數(shù)捕獲源數(shù)據(jù)窗口的當(dāng)前狀態(tài)。然后再用腳本語(yǔ)言給它加上文件頭和文件尾。下面的例子就是一個(gè)典型的改造過(guò)程:一個(gè)典型的用戶對(duì)象中的函數(shù)改造后的函數(shù)…………ds_employ.Retrieve()ds_employ.Retrieve()ll_rv=ds_employ.Getfullstate(lblb_data)st=ds_employ.Object.Datawindow.data.htmltable……//定義HTML文件頭Stringis_header=”<html><head>”Stringis_title=”<title>產(chǎn)品清單</title></head>”Stringis_body=”<body>產(chǎn)品清單</body>”//定義HTML文件尾Stringis_foorer=”</body></html>”St_rv=is_header+is_title+is_body+st+is_foorerReturnSt_rv經(jīng)過(guò)改造完畢的函數(shù)就可用HTML語(yǔ)言直接調(diào)用了。對(duì)于一部分用戶界面可以利用PB的WindowPlug_in內(nèi)插件使瀏覽器在預(yù)定位置顯示該窗口,該窗口的運(yùn)行和PB應(yīng)用程序中的窗口的運(yùn)行幾乎一致。當(dāng)瀏覽器裝載一個(gè)包含WindowPlug_in數(shù)據(jù)源的主頁(yè)時(shí),瀏覽器將自動(dòng)裝載這個(gè)內(nèi)插件的執(zhí)行庫(kù)和PB的運(yùn)行文件,然后,在主頁(yè)中顯示起始的窗口。用戶可以使用這個(gè)窗口中的控件來(lái)和瀏覽器進(jìn)行交互。WindowPlug_in的執(zhí)行原理如圖1所示。具體的改寫步驟如下:(1)將初始窗口的類型設(shè)為Child。(2)移去所有對(duì)全局變量的引用,包括在應(yīng)用一級(jí)定義的全局變量和庫(kù)中的窗口名稱。(3)將應(yīng)用中和MID框架窗口的Open事件中的起始代碼移到初始窗口的Constructor事件中。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3