專(zhuān)利名稱(chēng):基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)站系統(tǒng),特別是涉及一種基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng) 站系統(tǒng)。
背景技術(shù):
當(dāng)今世界網(wǎng)絡(luò)無(wú)處不在,怎樣改善人們?yōu)g覽網(wǎng)頁(yè)的體驗(yàn)以及消除人們?cè)跒g 覽網(wǎng)頁(yè)的時(shí)候由于網(wǎng)速的原因而處于長(zhǎng)時(shí)間的等待狀態(tài)成了當(dāng)今網(wǎng)站開(kāi)發(fā)者 的當(dāng)務(wù)之急。解決辦法之一就是網(wǎng)絡(luò)由瘦客戶(hù)端像胖客戶(hù)端發(fā)展,隨之而產(chǎn)生
的技術(shù)也隨處可見(jiàn),比如Adobe公司的Flash技術(shù)等等,但是Flash技術(shù)是存 在他的缺陷的,首先他是以二進(jìn)制來(lái)傳送的難以檢査,這樣對(duì)安全性產(chǎn)生了一 定的影響,其次他很難與后臺(tái)的服務(wù)器端進(jìn)行通訊,只能通過(guò)Flash的腳本語(yǔ) 言(Actionscript)與腳本語(yǔ)言(Javascript)進(jìn)行通訊,然后歩卩本語(yǔ)言(Javascript) 再與后臺(tái)服務(wù)器通過(guò)異步(AJAX)或者網(wǎng)絡(luò)服務(wù)(WebService)來(lái)實(shí)現(xiàn)通訊, 可以看出,這個(gè)過(guò)程需要消耗相當(dāng)大的資源而且也很復(fù)雜。解決辦法之二就是 使用異步通訊技術(shù)(AJAX)使得網(wǎng)頁(yè)通過(guò)異步方式訪(fǎng)問(wèn),在用戶(hù)瀏覽網(wǎng)頁(yè)觸 發(fā)一個(gè)事件的時(shí)候網(wǎng)頁(yè)并不會(huì)向傳統(tǒng)的頁(yè)面一樣刷新等待服務(wù)器的響應(yīng),而是 不刷新頁(yè)面以異步的方式與服務(wù)器通訊并在客戶(hù)端使用腳本語(yǔ)言(Javascript) 將結(jié)果顯示出來(lái),但這種技術(shù)存在的缺陷就是如果網(wǎng)速很慢的話(huà)即使是異步但 響應(yīng)的時(shí)間還是會(huì)比較慢。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提 供一種基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng)。
本發(fā)明的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)基于桌面應(yīng)用程序的智能客 戶(hù)端網(wǎng)站系統(tǒng),其特征在于,包括
智能客戶(hù)端,該智能客戶(hù)端的計(jì)算機(jī)系統(tǒng)上運(yùn)行有用于處理用戶(hù)請(qǐng)求的桌面應(yīng)用程序;
網(wǎng)站服務(wù)器,該網(wǎng)站服務(wù)器的網(wǎng)頁(yè)的Html中以對(duì)象的方式嵌有所述的應(yīng) 用程序;
所述的桌面應(yīng)用程序由客戶(hù)端的瀏覽器從網(wǎng)站服務(wù)器加載。 本發(fā)明還包括一數(shù)據(jù)庫(kù)系統(tǒng),該數(shù)據(jù)庫(kù)系統(tǒng)設(shè)于智能客戶(hù)端內(nèi)或網(wǎng)站服務(wù) 器內(nèi)。
所述的桌面應(yīng)用程序通過(guò)編譯得到一個(gè)特定文件,該特定文件進(jìn)行數(shù)字簽 名后,通過(guò)對(duì)象標(biāo)記嵌入到網(wǎng)頁(yè)的Html中。
所述的桌面應(yīng)用程序通過(guò)COM與網(wǎng)頁(yè)進(jìn)行通訊。 所述的特定文件為動(dòng)態(tài)鏈接庫(kù)文件或可執(zhí)行文件。 所述的桌面應(yīng)用程序通過(guò)計(jì)算機(jī)語(yǔ)言編寫(xiě)。 所述的計(jì)算機(jī)語(yǔ)言采用C#。
與現(xiàn)有技術(shù)相比,本發(fā)明中,當(dāng)用戶(hù)打開(kāi)電腦的時(shí)候整個(gè)桌面(Windows) 應(yīng)用程序已經(jīng)加載到客戶(hù)端的瀏覽器上了,因此此時(shí)用戶(hù)相當(dāng)于在使用桌面
(Windows)應(yīng)用程序,所以無(wú)論是執(zhí)行效率上還是用戶(hù)體驗(yàn)上都會(huì)很舒服, 更加值得一提的是由于全是運(yùn)行在客戶(hù)機(jī)上也減輕了很多服務(wù)器的負(fù)擔(dān)。
圖1為現(xiàn)有的瘦客戶(hù)端網(wǎng)站系統(tǒng)的示意圖; 圖2為本發(fā)明的示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
如圖2所示,基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng),包括 智能客戶(hù)端,該智能客戶(hù)端的計(jì)算機(jī)系統(tǒng)上運(yùn)行有用于處理用戶(hù)請(qǐng)求的桌 面應(yīng)用程序;
網(wǎng)站服務(wù)器,該網(wǎng)站服務(wù)器的網(wǎng)頁(yè)的Html中以對(duì)象的方式嵌有所述的應(yīng) 用程序;
所述的桌面應(yīng)用程序由客戶(hù)端的瀏覽器從網(wǎng)站服務(wù)器加載。本發(fā)明還包括一數(shù)據(jù)庫(kù)系統(tǒng),該數(shù)據(jù)庫(kù)系統(tǒng)設(shè)于智能客戶(hù)端內(nèi)或網(wǎng)站服務(wù) 器內(nèi);所述的桌面應(yīng)用程序通過(guò)編譯得到一個(gè)特定文件,該特定文件進(jìn)行數(shù)字 簽名后,通過(guò)對(duì)象標(biāo)記嵌入到網(wǎng)頁(yè)的Html中;所述的桌面應(yīng)用程序通過(guò)COM 與網(wǎng)頁(yè)進(jìn)行通訊;所述的特定文件為動(dòng)態(tài)鏈接庫(kù)文件或可執(zhí)行文件;所述的桌 面應(yīng)用程序通過(guò)計(jì)算機(jī)語(yǔ)言編寫(xiě);所述的計(jì)算機(jī)語(yǔ)言采用C#。
把桌面(Windows)應(yīng)用程序像一個(gè)對(duì)象一樣直接加載到網(wǎng)頁(yè)中,當(dāng)在該 桌面(Windows)應(yīng)用程序上操作時(shí)完全就像是在直接操作桌面(Windows) 應(yīng)用程序,根本感覺(jué)不到有正在使用網(wǎng)頁(yè)的痕跡,更不會(huì)有刷新網(wǎng)頁(yè)發(fā)生,很 類(lèi)似于現(xiàn)在流行的異步訪(fǎng)問(wèn)技術(shù)(AJAX),但是它比異步訪(fǎng)問(wèn)(AJAX)速度 更快,因?yàn)樗囊粋€(gè)特征就是直接運(yùn)行在客戶(hù)機(jī)上的。
桌面(Windows)應(yīng)用程序的控件,可以使用任意一種語(yǔ)言來(lái)創(chuàng)建,需要 注意的是,該控件必須支持COM,因?yàn)榫W(wǎng)頁(yè)與桌面(Windows)應(yīng)用程序是通 過(guò)COM來(lái)通訊的;
超文本標(biāo)記語(yǔ)言(HTML),用來(lái)顯示已經(jīng)創(chuàng)建的桌面(Windows)控件。 該控件必須以對(duì)象(Object)方式嵌入到超文本標(biāo)記語(yǔ)言(HTML)中。
當(dāng)一切準(zhǔn)備就緒之后應(yīng)該為已經(jīng)創(chuàng)建的動(dòng)態(tài)鏈接庫(kù)(DLL)文件或者可執(zhí) 行文件(EXE)加上數(shù)字簽名,并且在因特網(wǎng)信息服務(wù)(IIS)的虛擬目錄中配 置,使的該桌面(Windows)控件擁有一定的權(quán)限。
如需用到數(shù)據(jù)庫(kù),可以使用兩種模式, 一種是將數(shù)據(jù)庫(kù)直接部署到客戶(hù)機(jī) 上去,這種方式比較適合分布在多個(gè)地方的同一個(gè)企業(yè)的內(nèi)部網(wǎng)站的構(gòu)建上, 其好處是響應(yīng)速度快,可以脫機(jī)使用,壞處是部署麻煩,數(shù)據(jù)庫(kù)更新存在同步 問(wèn)題。另一種方式是連接遠(yuǎn)程數(shù)據(jù)庫(kù),這種方式適用于任何的場(chǎng)合,好處是部 署相對(duì)簡(jiǎn)單,也不存在數(shù)據(jù)不同步的問(wèn)題,壞處是響應(yīng)速度相對(duì)較慢,不能脫 機(jī)使用。給桌面(Windows)應(yīng)用程序經(jīng)過(guò)編譯的動(dòng)態(tài)鏈接庫(kù)(DLL)文件或 者是可執(zhí)行文件(EXE)加上數(shù)字簽名(并不是必須的),因?yàn)樵谝恍踩?性設(shè)置的比較高的客戶(hù)端的瀏覽器上,沒(méi)有數(shù)字簽名的動(dòng)態(tài)鏈接庫(kù)(DLL)文 件或者是可執(zhí)行文件(EXE)可能沒(méi)辦法正確的顯示。使用對(duì)象(Object)標(biāo) 記直接將桌面(Windows)應(yīng)用程序嵌入到網(wǎng)頁(yè)中間??蛻?hù)端的瀏覽器加載桌 面(Windows)應(yīng)用程序,在剛開(kāi)始加載的時(shí)候可能會(huì)有些慢,但是加載完畢之后就像在使用桌面(Windows)應(yīng)用程序一樣方便快速。
在一個(gè)一般的網(wǎng)站系統(tǒng)中,通常情況下,不管是富媒體也好,異步通訊也 好,網(wǎng)頁(yè)的表現(xiàn)形式總是比不上桌面(Windows)應(yīng)用程序,這是由網(wǎng)頁(yè)的性 質(zhì)決定的。本發(fā)明旨在突破這種限制,既然桌面(Windows)應(yīng)用程序比起網(wǎng) 頁(yè)無(wú)論在哪方面都強(qiáng)上很多的話(huà),我們?yōu)槭裁床恢苯影炎烂?Windows)應(yīng)用 程序嵌入到網(wǎng)頁(yè)中去呢?當(dāng)用戶(hù)在瀏覽網(wǎng)頁(yè)的時(shí)候他就仿佛是在使用桌面 (Windows)應(yīng)用程序一樣的得心應(yīng)手,這應(yīng)該是每個(gè)用戶(hù)都想要的,也是我 們網(wǎng)站開(kāi)發(fā)者想要的。
以下借助圖2描述本發(fā)明的一個(gè)較佳實(shí)例,本例使用微軟(Microsoft)的可 視化工作室(Visual Stdio 2005)中的面向?qū)ο笳Z(yǔ)言(C#)來(lái)描述,在該實(shí)例中, 網(wǎng)頁(yè)設(shè)計(jì)者首先創(chuàng)建一個(gè)桌面(Windows)控件,創(chuàng)建桌面(Windows)控件 與創(chuàng)建桌面(Windows)程序差不多,而且?guī)缀跛械墓ぞ呦渲械墓ぞ叨寄苁?用,在這里需要注意的是創(chuàng)建的桌面(Windows)控件必須允許COM通訊, 否則在網(wǎng)頁(yè)中將不能正常顯示,將沒(méi)有錯(cuò)誤的桌面(Windows)控件編譯成動(dòng) 態(tài)鏈接庫(kù)(DLL)文件或者可執(zhí)行文件(EXE),接下去創(chuàng)建一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)(Aspx), 將剛才編譯完成的動(dòng)態(tài)鏈接庫(kù)文件(DLL)或者可執(zhí)行文件(EXE)復(fù)制到該 網(wǎng)站項(xiàng)目中來(lái),在網(wǎng)頁(yè)中使用超文本標(biāo)記語(yǔ)言(HTML)把他當(dāng)作一個(gè)對(duì)象嵌 入進(jìn)來(lái),其中在在classid的屬性中需指明動(dòng)態(tài)鏈接庫(kù)文件(DLL)或者可執(zhí)行 文件(EXE)的路徑以及全名(Fully Qualified Name),中間使用"#"分隔開(kāi)。 這樣該桌面(Windows)控件便已經(jīng)被包含到該網(wǎng)頁(yè)中,當(dāng)然如果用到數(shù)據(jù)庫(kù), 那么你可以選擇將數(shù)據(jù)庫(kù)放到客戶(hù)端或者依舊放到服務(wù)器端,這些我們?cè)陂_(kāi)頭 便已經(jīng)分析過(guò)利弊,并且數(shù)據(jù)庫(kù)的實(shí)施方案并不屬于本發(fā)明,所以在此不再介 紹。當(dāng)網(wǎng)頁(yè)設(shè)計(jì)制作完畢之后,我們就需要為該動(dòng)態(tài)鏈接庫(kù)文件(DLL)或者 可執(zhí)行文件(EXE)加上數(shù)字簽名,這個(gè)有專(zhuān)門(mén)的數(shù)字簽名的工具,并且配置 好服務(wù)器端的因特網(wǎng)信息服務(wù)(IIS)的虛擬目錄,不然桌面(Windows)控件 不能正確顯示,而且腳本語(yǔ)言(Javascript)也不能和桌面(Windows)控件進(jìn) 行相互的通訊和操作。
權(quán)利要求
1. 基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng),其特征在于,包括智能客戶(hù)端,該智能客戶(hù)端的計(jì)算機(jī)系統(tǒng)上運(yùn)行有用于處理用戶(hù)請(qǐng)求的桌面應(yīng)用程序;網(wǎng)站服務(wù)器,該網(wǎng)站服務(wù)器的網(wǎng)頁(yè)的Html中以對(duì)象的方式嵌有所述的應(yīng)用程序;所述的桌面應(yīng)用程序由客戶(hù)端的瀏覽器從網(wǎng)站服務(wù)器加載。
2. 根據(jù)權(quán)利要求1所述的基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng),其 特征在于,還包括一數(shù)據(jù)庫(kù)系統(tǒng),該數(shù)據(jù)庫(kù)系統(tǒng)設(shè)于智能客戶(hù)端內(nèi)或網(wǎng)站服務(wù) 器內(nèi)。
3. 根據(jù)權(quán)利要求1或2所述的基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng), 其特征在于,所述的桌面應(yīng)用程序通過(guò)編譯得到一個(gè)特定文件,該特定文件進(jìn) 行數(shù)字簽名后,通過(guò)對(duì)象標(biāo)記嵌入到網(wǎng)頁(yè)的Html中。
4. 根據(jù)權(quán)利要求3所述的基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng),其 特征在于,所述的桌面應(yīng)用程序通過(guò)COM與網(wǎng)頁(yè)進(jìn)行通訊。
5. 根據(jù)權(quán)利要求3所述的基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng),其 特征在于,所述的特定文件為動(dòng)態(tài)鏈接庫(kù)文件或可執(zhí)行文件。
6. 根據(jù)權(quán)利要求3所述的基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng),其 特征在于,所述的桌面應(yīng)用程序通過(guò)計(jì)算機(jī)語(yǔ)言編寫(xiě)。
7. 根據(jù)權(quán)利要求6所述的基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng),其 特征在于,所述的計(jì)算機(jī)語(yǔ)言采用C#。
全文摘要
本發(fā)明涉及基于桌面應(yīng)用程序的智能客戶(hù)端網(wǎng)站系統(tǒng),包括智能客戶(hù)端,該智能客戶(hù)端的計(jì)算機(jī)系統(tǒng)上運(yùn)行有用于處理用戶(hù)請(qǐng)求的桌面應(yīng)用程序;網(wǎng)站服務(wù)器,該網(wǎng)站服務(wù)器的網(wǎng)頁(yè)的Html中以對(duì)象的方式嵌有所述的應(yīng)用程序;所述的桌面應(yīng)用程序由客戶(hù)端的瀏覽器從網(wǎng)站服務(wù)器加載。與現(xiàn)有技術(shù)相比,本發(fā)明中,當(dāng)用戶(hù)打開(kāi)電腦的時(shí)候整個(gè)桌面(Windows)應(yīng)用程序已經(jīng)加載到客戶(hù)端的瀏覽器上了,因此此時(shí)用戶(hù)相當(dāng)于在使用桌面(Windows)應(yīng)用程序,所以無(wú)論是執(zhí)行效率上還是用戶(hù)體驗(yàn)上都會(huì)很舒服,更加值得一提的是由于全是運(yùn)行在客戶(hù)機(jī)上也減輕了很多服務(wù)器的負(fù)擔(dān)。
文檔編號(hào)H04L29/06GK101441628SQ200710170600
公開(kāi)日2009年5月27日 申請(qǐng)日期2007年11月19日 優(yōu)先權(quán)日2007年11月19日
發(fā)明者駿 金, 陳施琦 申請(qǐng)人:上海新納廣告?zhèn)髅接邢薰?br>