問(wèn)題
ADO 可讓?xiě)?yīng)用程序直接訪(fǎng)問(wèn)并修改數(shù)據(jù)源(有時(shí)稱(chēng)為雙層系統(tǒng))。例如,如果要連接到包含所需數(shù)據(jù)的數(shù)據(jù)源,則該連接即是在雙層系統(tǒng)中的直接連接。
然而,也需要通過(guò)象 Microsoft Internet Information Server (IIS) 這樣的媒介間接地訪(fǎng)問(wèn)數(shù)據(jù)源。這種方法稱(chēng)為三層系統(tǒng)。IIS 采用客戶(hù)端/服務(wù)器系統(tǒng),該系統(tǒng)可幫助本地(或客戶(hù)端)的應(yīng)用程序通過(guò) Internet 或 Intranet 高效地調(diào)用遠(yuǎn)程(或服務(wù)器)程序。服務(wù)器程序訪(fǎng)問(wèn)數(shù)據(jù)源,并可有選擇地處理已獲得的數(shù)據(jù)。
例如,您的 Intranet Web 頁(yè)包含有用 Microsoft® Visual Basic® Scripting Edition (VBScript) 編寫(xiě)的應(yīng)用程序,該程序連接 IIS。IIS 相應(yīng)地連接實(shí)際數(shù)據(jù)源,檢索數(shù)據(jù),以某種方式處理數(shù)據(jù),然后將已處理的信息返回給應(yīng)用程序。
在這個(gè)例子中,應(yīng)用程序從未直接連接數(shù)據(jù)源,該工作由 IIS 完成。而 IIS 利用 ADO 來(lái)訪(fǎng)問(wèn)數(shù)據(jù)。
注意 客戶(hù)端/服務(wù)器應(yīng)用程序不一定必須基于 Internet 或 Intranet (即基于 Web),它可以?xún)H由局域網(wǎng)上的編譯程序組成。但是,典型的范例是基于 Web 的應(yīng)用程序。
因?yàn)橐恍┛梢暬丶T如網(wǎng)格、復(fù)選框或列表可以使用返回信息,所以返回信息必須易于被可視化控件使用。
用戶(hù)需要的是簡(jiǎn)單有效的應(yīng)用程序編程接口,該程序應(yīng)支持三層系統(tǒng),同時(shí)能夠象在雙層系統(tǒng)上檢索信息一樣容易返回信息。“遠(yuǎn)程數(shù)據(jù)服務(wù)” (RDS) 即是這樣的接口。
解決方案
RDS 定義的編程模型(訪(fǎng)問(wèn)和更新數(shù)據(jù)源必需的系列活動(dòng))通過(guò)如 Internet Information Server 這樣的中間媒介來(lái)訪(fǎng)問(wèn)數(shù)據(jù)。編程模型總結(jié)了 RDS 的全部功能。
編程模型通過(guò)對(duì)象模型,即“對(duì)象”集來(lái)表達(dá)并實(shí)現(xiàn)編程模型。對(duì)象擁有能操作數(shù)據(jù)的“方法”,以及能夠表示數(shù)據(jù)屬性或控制某些對(duì)象方法行為的“屬性”。
與對(duì)象關(guān)聯(lián)的是“事件”,事件用于通知某些操作已經(jīng)發(fā)生,或?qū)⒁l(fā)生。

