999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VFP的三層體系結構應用研究

2008-12-31 00:00:00徐草草郭維樹
考試周刊 2008年22期

摘要: 在這個網絡發達、網絡技術飛速發展的時代,網絡對client/server結構體系新技術的需求也日益增大。在這個環境下,C/S技術的發展得到了長足的進步。而現代C/S的飛速發展,也相應地帶動了三層應用程序的發展。三層體系結構是現代C/S研究中的一個熱點。三層體系結構能夠在 Visual FoxPro 中實現嗎?我們需要怎樣去做呢?那么相對于三層的一層和兩層又是指的什么呢?本文討論了這些問題。

關鍵詞: client/serverVisual FoxPro三層體系結構

在C/S模型中有三層模型。當客戶和服務器是在同樣的環境時就是一層結構。它描述了你單獨用Visual FoxPro編譯的應用程序。數據完整地進入表單,并遵循控制數據全部寫入同樣的地方且在同樣的地方運行它的規則。不管你是直接從表還是通過視圖讀取數據,也不管規則是在你的代碼片斷還是在觸發器中,你只有一個單獨應用程序層:Visual FoxPro。而在兩層結構中,數據被移動到另一個環境中,并通過第一層讀取數據。這描述了傳統的client/server應用程序。數據保留在后端例如SQL Server或者Oracle中。前端響應用戶的界面(表單、菜單等等)。在一個傳統的兩層結構中,自定義規則通常在后端強迫數據完整一致。在三層結構體系中,自定義規則是存儲在它們自己的環境中,典型的是存儲在一個單獨的計算機上,以便多個前端能夠使用它。前端提供界面,后端提供數據,而中間層維護自定義規則的執行。這就意味著你有兩個client/server會話,一個是前端和中間層之間的,另外一個是中間層和后端之間的。前端從不直接和后端會話。

三層結構體系有兩個明顯的好處。第一個好處是你能夠有更多的層來劃分工作。你的應用程序有三塊,用戶界面、數據、規則,你有三層去處理這些事情。第二個好處是很容易重新使用你的自定義規則,因為不管前端還是后端的規則都不是隱藏的。如果你在Visual FoxPro中編寫了你的全部數據確認規則,這樣可以在不同的地方重新使用規則,比如說在Visual Basic或者Access應用程序中。如果它們處于它們自己的層中,那么任何前端都可以通過它們發送數據給任何后端。

這就是兩層和三層結構體系的普通想法。事實上,如果你使用Visual FoxPro去建立一個client/server結構體系,在如何構造你的應用程序上你可以有著更多的靈活性。在一個兩層結構體系中,你可以在后端,在Visual FoxPro,或者兩者都在,強迫執行完整規則。這對要執行的規則來說是非常恰當的和簡潔的。如果你在Visual FoxPro中執行它,用戶將立刻得到數據回饋,而后端就不用花費時間去檢查結果。如果你有500個用戶每天輸入100次,這就使得后端不用處理太多的工作。如果在前端僅僅是存取后端數據,而且是通過你的Visual FoxPro應用程序,那么你就能夠輕而易舉處理巨大容量的,甚至是全部的需要輸入到前端的數據確認代碼。

但是如果另外一個前端需要去讀取數據呢?如果Access和Visual Basic程序能夠輸入或者編輯命令,則你將不得不在后端確認結果。如果僅僅是用Visual FoxPro編寫的其他程序讀取數據,你可以寫Visual FoxPro代碼,并能通過一個存儲過程或者一個數據確認類來共享它。在三層結構體系中,你還能通過在前端執行數據的完整性來劃分工作。中間層用什么來編寫呢?Visual Basic希望你用Visual Basic去編寫中間層,用VB6.0去創建OLE服務器。OLE服務器能夠通過從Visual FoxPro使用OLE自動控制來調用。數據將傳遞給中間層,并進行確認。如果數據被拒絕,中間層將讓FoxPro得到有關的這一切。如果數據是正確的,它將被發送到后端,并同時通知FoxPro。

我們可以從Visual FoxPro中用你使用任何OLE自動控制服務的同樣方法使用這個VB中間層。你可以發出如下命令來啟動和服務器的一個對話:

oData=CreateObject(″VBServer.BizRules″)

當你希望發送數據到中間層,你可以發出如下代碼:

oData.Send(″Update employee Set salary=87000000″)

如果數據有效你可以使用如下代碼去查看:

If oData.ValidData

=MessageBox(″Success″)

Else

=MessageBox(oData.ErrorMessage)

Endif

請注意上面的語法是假設性的。實際執行時可能是不一樣。

用這個方法的不利之處是什么呢?你不能使用Visual FoxPro的遠程視圖來編寫client/server應用程序,至少在目前VFP的版本中是不能的。還有,通過OLE發送數據要比通過ODBC慢得多。

你可以在 Visual FoxPro 中編寫中間層。當前端希望保存數據的時候,保存數據到表的操作將在網絡上某個地方等待到結束。中間層是Visual FoxPro應用程序,為了確認新的數據要經常查詢表。數據不是被拒絕就是被發送到SQL Server。中間層能夠在一個表中保存一個成功或者失敗的消息。前端將根據這個查詢表并查明發送的數據是否有效。

通過例子我們可以看到將同樣的有效性規則寫入一個存儲過程和放入一個數據庫的區別。每個Visual FoxPro應用程序能夠在前端打開數據庫,并運行有效性檢查代碼。只將有效的數據發送到SQL Server中,三層結構體系中Visual FoxPro會比其他的做得更好。

參考文獻:

[1][美]Patrick O’Neil Elizabeth O’Neil.數據庫原理、編程與性能.機械工業出版社.

[2]匡松.Visual FoxPro程序設計教程.西南交通大學出版社.

[3]徐人鳳.SQL Server 2000 數據庫及應用.高等教育出版社.

[4]章立民.SQL Server 2005數據庫開發實戰.機械工業出版社.

主站蜘蛛池模板: 欧美国产在线看| 精品亚洲国产成人AV| 第一页亚洲| 免费国产无遮挡又黄又爽| 九九热精品免费视频| 国产成人免费| 一区二区三区国产精品视频| 久久久久免费看成人影片 | 国产高清精品在线91| 国产丝袜无码一区二区视频| 国产亚洲精品精品精品| 女同久久精品国产99国| 强奷白丝美女在线观看 | 亚洲国产日韩欧美在线| 日本在线免费网站| 女同国产精品一区二区| 国产一二三区视频| 欧美在线网| 欧美影院久久| 91区国产福利在线观看午夜| 成人av专区精品无码国产| 亚洲国产综合精品一区| 中文字幕波多野不卡一区| www精品久久| 超碰91免费人妻| 亚洲精品国产成人7777| 日韩不卡高清视频| 婷婷午夜天| www.91在线播放| 亚洲日本中文综合在线| 九色综合视频网| 国产午夜看片| av天堂最新版在线| 国产爽爽视频| 波多野结衣一区二区三区四区 | 一级毛片视频免费| 国产福利一区二区在线观看| 久久不卡精品| 色综合热无码热国产| 97se亚洲综合在线| 国产精品专区第1页| 国产成人综合久久| 国产色网站| 国产精品视频观看裸模| 精品欧美一区二区三区在线| 国产成人一区二区| 国产视频只有无码精品| 97精品久久久大香线焦| 成人亚洲天堂| 亚洲愉拍一区二区精品| 国产精品va| 国产欧美日韩18| 国产高清不卡视频| 国产美女无遮挡免费视频网站 | 幺女国产一级毛片| 亚洲精品少妇熟女| 欧美成人午夜视频| 成人91在线| 国产一级二级三级毛片| 欧美成人综合在线| 97国产在线观看| 91丝袜美腿高跟国产极品老师| 一本大道无码日韩精品影视| 国内精品久久人妻无码大片高| 亚洲日本韩在线观看| 国产欧美精品午夜在线播放| 日韩不卡免费视频| 天堂在线亚洲| 国产尤物在线播放| 久久精品这里只有精99品| 日韩在线欧美在线| 美女被操黄色视频网站| 国产主播福利在线观看| 一本大道视频精品人妻| 亚洲综合亚洲国产尤物| 国产视频入口| 国产在线视频二区| 精品少妇人妻av无码久久| 国产精品99在线观看| 91无码人妻精品一区二区蜜桃| 天堂成人av| 二级特黄绝大片免费视频大片|