監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

網(wǎng)絡(luò)服務(wù)提供了建立 Microsoft .NET 的基本模塊

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

AMTeam.org

網(wǎng)絡(luò)服務(wù)提供了建立 Microsoft .NET 的基本模塊


本文假定你已經(jīng)熟悉了HTTP與XML 本文難度等級(jí): 2

概要:網(wǎng)絡(luò)服務(wù)是基于網(wǎng)絡(luò)的分布式應(yīng)用程序的基本構(gòu)造模塊,而這些程序是以平臺(tái)、對(duì)象模板和多語(yǔ)言方式構(gòu)建的。網(wǎng)絡(luò) 服務(wù)建立在象HTTP和XML之類(lèi)的開(kāi)放的Internet 標(biāo)準(zhǔn)之上的,并且形成了微軟的可編程網(wǎng)絡(luò)理念的基礎(chǔ)。

這篇文章詳細(xì)講述了網(wǎng)絡(luò)服務(wù)以及為其提供保證的技術(shù),這些技術(shù)能確保服務(wù)被集成到應(yīng)用程序里去。接下來(lái)敘述了新的Microsoft .NET框架及它對(duì)生成和使用網(wǎng)絡(luò)服務(wù)的支持。

現(xiàn)在最緊迫的挑戰(zhàn)是應(yīng)用程序的集成化:獲取運(yùn)行在不同操作系統(tǒng)上的不同的應(yīng)用程序――它們是由使用不同編程語(yǔ)言的對(duì)象模板建立的,然后把它們轉(zhuǎn)化為易于使用的網(wǎng)絡(luò)應(yīng)用程序。建立在象HTTP和XML之類(lèi)開(kāi)放的網(wǎng)絡(luò)標(biāo)準(zhǔn)之上的網(wǎng)絡(luò)服務(wù)接受了這項(xiàng)挑戰(zhàn)。

但是只支持標(biāo)準(zhǔn)協(xié)議是不夠的,必須有途徑來(lái)生成、部署、擴(kuò)展和維護(hù)這些網(wǎng)絡(luò)服務(wù),這正是Microsoft? .NET框架要解決的問(wèn)題。

本文描述了網(wǎng)絡(luò)服務(wù)及Microsft .NET框架 的組件,包括通用運(yùn)行語(yǔ)言(common language runtime),服務(wù)框架和用于建立、集成網(wǎng)絡(luò)服務(wù)的程序模板。

網(wǎng)絡(luò)服務(wù)一覽

通常說(shuō)來(lái),一個(gè)網(wǎng)絡(luò)服務(wù)只是一個(gè)作為服務(wù)――通過(guò)Internet標(biāo)準(zhǔn)此服務(wù)能與其它網(wǎng)絡(luò)服務(wù)集成在一起――發(fā)行的簡(jiǎn)單的應(yīng)用程序。換句話說(shuō),它是可通過(guò)URL定位的自動(dòng)將信息返回到需要它的客戶端那里的一種資源。網(wǎng)絡(luò)服務(wù)一個(gè)重要的特點(diǎn)是客戶不需要知道一種服務(wù)是怎樣實(shí)現(xiàn)的。在本節(jié)中,我將向你解釋網(wǎng)絡(luò)及網(wǎng)絡(luò)服務(wù)如何把基于組件技術(shù)的最好的方面結(jié)合在一起的,并且介紹與網(wǎng)絡(luò)服務(wù)通信所需的基本框架。

同組件一樣,網(wǎng)絡(luò)服務(wù)提供“黑匣子”函數(shù),它可以被再次作用而不用關(guān)心此服務(wù)是怎樣實(shí)現(xiàn)的。網(wǎng)絡(luò)服務(wù)提供被稱(chēng)為契約的精確定義的接口,此接口描繪了所提供的服務(wù)。開(kāi)發(fā)人員可以將遠(yuǎn)程服務(wù)、本地服務(wù)和定置代碼組合在一起而集成應(yīng)用程序。例如,某公司可以使用如下服務(wù)組建一在線商店:微軟護(hù)照(原文:Passport)服務(wù)以驗(yàn)證用戶身份,第三方個(gè)人化服務(wù)以使網(wǎng)頁(yè)匹配每一個(gè)用戶的參數(shù),信用卡處理服務(wù),銷(xiāo)售稅服務(wù),對(duì)每個(gè)運(yùn)輸公司的包裹跟蹤服務(wù),鏈接公司內(nèi)部庫(kù)存管理程序的內(nèi)部目錄服務(wù),以及少量定置代碼以使他們的商店能脫穎而出。

然而,網(wǎng)絡(luò)服務(wù)與現(xiàn)在的組件技術(shù)不同,它不使用需要在服務(wù)器和客戶機(jī)有明確的、同類(lèi)型基本構(gòu)架的具體的對(duì)象模型協(xié)議,例如DCOM、 RMI或 IIOP 。盡管與具體組件技術(shù)緊密結(jié)合的實(shí)現(xiàn)在一個(gè)受控的環(huán)境中能很好地被接受,但它們?cè)诰W(wǎng)絡(luò)環(huán)境中變得不切實(shí)際。因?yàn)橐粋€(gè)集成商業(yè)程序的參與者會(huì)發(fā)生變化,隨著時(shí)間的推移,技術(shù)也在變化,所以在所有參與者間確保一個(gè)單一的、統(tǒng)一的體系架構(gòu)就變得十分困難。網(wǎng)絡(luò)服務(wù)采取了另外一種途徑,它使用普便存在的網(wǎng)絡(luò)協(xié)議和數(shù)據(jù)格式,如HTTP和XML,進(jìn)行通信。支持這些網(wǎng)絡(luò)標(biāo)準(zhǔn)的任何系統(tǒng)都支持網(wǎng)絡(luò)服務(wù)。

而且,網(wǎng)絡(luò)服務(wù)契約描述的是以術(shù)語(yǔ)報(bào)文形式提供的服務(wù),這些服務(wù)是由網(wǎng)絡(luò)服務(wù)生成和接受的,而不是描述服務(wù)是如何實(shí)現(xiàn)的。通過(guò)把重點(diǎn)放在報(bào)文上,網(wǎng)絡(luò)服務(wù)模板就完全對(duì)語(yǔ)言、平臺(tái)和對(duì)象模板一無(wú)所知。 用任何一套編程語(yǔ)言、對(duì)象模型和平臺(tái)的完全特性集,都可實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)。網(wǎng)絡(luò) 服務(wù)可在任何平臺(tái)被用任何語(yǔ)言所實(shí)現(xiàn)的應(yīng)用程序使用。只要用于解釋服務(wù)容量、報(bào)文序列和所期望協(xié)議的契約得到認(rèn)同,那么所實(shí)現(xiàn)的網(wǎng)絡(luò)服務(wù)及網(wǎng)絡(luò)服務(wù)用戶就可相互不同,而不會(huì)影響會(huì)話另一端的應(yīng)用程序。

網(wǎng)絡(luò)服務(wù)模板對(duì)最小體系架構(gòu)的要求很低,以確保網(wǎng)絡(luò)服務(wù)在使用任何技術(shù)和編程語(yǔ)言的平臺(tái)上實(shí)現(xiàn)和訪問(wèn)。對(duì)網(wǎng)絡(luò)服務(wù)互用性的解決可只依靠網(wǎng)絡(luò)標(biāo)準(zhǔn)。然而,為了使應(yīng)用程序更容易使用網(wǎng)絡(luò)服務(wù),簡(jiǎn)單地同意通過(guò)標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議就可以訪問(wèn)網(wǎng)絡(luò)服務(wù)是不夠的。當(dāng)網(wǎng)絡(luò)服務(wù)和網(wǎng)絡(luò)服使用者依靠標(biāo)準(zhǔn)的方式表示數(shù)據(jù)和命令、表示網(wǎng)絡(luò)服務(wù)契約 、算出網(wǎng)絡(luò)服務(wù)所提供的容量時(shí),網(wǎng)絡(luò)服務(wù)才容易使用。

XML是定義一個(gè)標(biāo)準(zhǔn)的、可擴(kuò)展的用于提供命令和典型數(shù)據(jù)的語(yǔ)言明顯的一種選擇。雖然為表示命令和典型數(shù)據(jù)可以定義使用其它技巧(比如編碼為一種查詢字符串)的規(guī)則,但XML被專(zhuān)門(mén)設(shè)計(jì)為描述數(shù)據(jù)的標(biāo)準(zhǔn)元語(yǔ)言。簡(jiǎn)單對(duì)象存取協(xié)議(SOAP)是以一種可擴(kuò)展的方式使用XML表示數(shù)據(jù)和命令的工業(yè)標(biāo)準(zhǔn)。網(wǎng)絡(luò)服務(wù)可選擇用SOAP決定報(bào)文的格式。從發(fā)表在2000年8月那期《MSDN Magazine》上的Rob Caron的文章中,你可以學(xué)到更多有關(guān)SOAP和SOAP Toolkit for Visual Studio? 6.0 的知識(shí)(見(jiàn)“開(kāi)發(fā)網(wǎng)絡(luò)服務(wù):與Visual Studio開(kāi)發(fā)的SOAP Toolkit運(yùn)行”)。

XML是網(wǎng)絡(luò)服務(wù)契約的一種使能技術(shù)。服務(wù)契約語(yǔ)言 (SCL)是記錄網(wǎng)絡(luò)服務(wù)契約的XML語(yǔ)法。由于SCL是基于XML的,所以對(duì)開(kāi)發(fā)者和開(kāi)發(fā)工具來(lái)說(shuō),容易生成、解釋契約。關(guān)于SCL細(xì)則的草案很快會(huì)出臺(tái)(注意:現(xiàn)在的SOAP Toolkit for Visual Studio 6.0支持稱(chēng)為SDL的SCL的早期版本)。

Disco 規(guī)范為服務(wù)提供者發(fā)布網(wǎng)絡(luò) 服務(wù)契約和相應(yīng)的機(jī)制描述了一個(gè)標(biāo)準(zhǔn)方式,這將使開(kāi)發(fā)者或開(kāi)發(fā)工具可找到契約文獻(xiàn)。當(dāng)你讀到這里時(shí), Disco規(guī)范的草案應(yīng)出臺(tái)了。

象SOAP, SCL和Disco這樣的標(biāo)準(zhǔn)有助于開(kāi)發(fā)者,因?yàn)樗鼈儾恍枰靼缀蛯?shí)現(xiàn)所使用的每一個(gè)網(wǎng)絡(luò)服務(wù)的訪問(wèn)方式。支持這些標(biāo)準(zhǔn)的更好的、已充分測(cè)試的、高性能的體系架構(gòu)將由開(kāi)發(fā)平臺(tái)提供,這會(huì)大大簡(jiǎn)化整個(gè)開(kāi)發(fā)過(guò)程。

Microsoft .NET Framework

Microsoft .NET框架的目的是使你更容易建立網(wǎng)絡(luò)應(yīng)用程序和網(wǎng)絡(luò)服務(wù)。建立在操作系統(tǒng)最上層的服務(wù),是管理運(yùn)行時(shí)代碼需求的common language runtime,這些代碼可以用任何現(xiàn)代編程語(yǔ)言所寫(xiě)。Runtime提供了許多服務(wù),這些服務(wù)有助于簡(jiǎn)化代碼開(kāi)發(fā)和應(yīng)用程序的開(kāi)發(fā)同時(shí)也將提高應(yīng)用程序的可靠性。.NET Framework包括一套可被開(kāi)發(fā)者用于任何編程語(yǔ)言的類(lèi)庫(kù)。在此之上是許多應(yīng)用程序模板,這些模板特定地為開(kāi)發(fā)網(wǎng)絡(luò)站點(diǎn)和網(wǎng)絡(luò)服務(wù)提供高級(jí)組件和服務(wù)。下面我將一層層地描述。

Common Language Runtime

運(yùn)行語(yǔ)言(runtime)調(diào)入并運(yùn)行用任何運(yùn)行感知編程語(yǔ)言所寫(xiě)的代碼。以運(yùn)行為目標(biāo)的代碼被稱(chēng)為受控(managed )代碼,受控代碼代碼只是意味著在內(nèi)部可執(zhí)行代碼與運(yùn)行自身間存在已定義好的合作契約。對(duì)于象生成對(duì)象、調(diào)用方法等這樣的任務(wù),被委托給了運(yùn)行語(yǔ)言,這使得在運(yùn)行語(yǔ)言能為可執(zhí)行代碼增加額外的服務(wù)。

運(yùn)行語(yǔ)言以交叉語(yǔ)言集成、自描述組件、簡(jiǎn)單配制和版本化及集成安全服務(wù)為特點(diǎn)。下面將快速查看一下每一特點(diǎn)。

運(yùn)行語(yǔ)言使用一種新的能表達(dá)大部分現(xiàn)代編程語(yǔ)言語(yǔ)義的通用類(lèi)型系統(tǒng),通用類(lèi)型系統(tǒng)定義了一套標(biāo)準(zhǔn)類(lèi)型及生成新標(biāo)準(zhǔn)的規(guī)則。運(yùn)行語(yǔ)言知道怎樣生成、執(zhí)行這些類(lèi)型。編譯器和解釋器使用運(yùn)行語(yǔ)言服務(wù)定義類(lèi)型、管理對(duì)象、進(jìn)行方法調(diào)用,而不是使用工具或特定于語(yǔ)言的方法。

類(lèi)型系統(tǒng)的主要設(shè)計(jì)目的是使多種語(yǔ)言能深度集成。用一種語(yǔ)言所寫(xiě)的代碼能繼承用另一種語(yǔ)言所寫(xiě)的類(lèi)的實(shí)現(xiàn),用一種語(yǔ)言所寫(xiě)的代碼拋出的異常能被用另一種語(yǔ)言寫(xiě)的代碼捕獲,象調(diào)試和剖析之類(lèi)的操作會(huì)在完全封閉下工作,而不用考慮代碼所用的語(yǔ)言。這就意味著編寫(xiě)可重用類(lèi)庫(kù)的開(kāi)發(fā)者,不再需要為每一種編程語(yǔ)言或編譯器生成一個(gè)版本,并且使用類(lèi)庫(kù)的開(kāi)發(fā)者不再受到為他們使用的編程語(yǔ)言開(kāi)發(fā)的庫(kù)的限制。

自描述組件――現(xiàn)在Microsoft .NET框架上已成為可能――簡(jiǎn)化了開(kāi)發(fā)和配制,并提高了系統(tǒng)的可靠性。我解釋一下它是怎樣工作的。許多由運(yùn)行語(yǔ)言提供的服務(wù)是由元數(shù)據(jù)及用于補(bǔ)充可執(zhí)行代碼的信息所驅(qū)動(dòng)。因?yàn)樗械男畔⒍純?chǔ)存在一起,只有可執(zhí)行的(代碼)才被稱(chēng)為自描述組件。

自描述組件的一個(gè)主要優(yōu)點(diǎn)是,使用它們并不需要其它文件。類(lèi)的定義不需要單獨(dú)的頭文件;通過(guò)檢查元數(shù)據(jù)對(duì)類(lèi)的定義可以從組件自身獲得??缯Z(yǔ)言或過(guò)程邊界訪問(wèn)組件并不需要各自的IDL文件、類(lèi)型文件或proxy/stubs;所必需的信息已存在于元數(shù)據(jù)之中。為識(shí)別開(kāi)發(fā)者請(qǐng)示的服務(wù)屬性,并不需要展開(kāi)各自的配制信息。 最主要的是,由于元數(shù)據(jù)是在編譯過(guò)程中由源代碼生成,并與可執(zhí)行代碼儲(chǔ)存在一起,它將永遠(yuǎn)和可執(zhí)行部分同步。

除了改善對(duì)單個(gè)組件的配制,Microsft .NET框架定義了一個(gè)應(yīng)用程序配制模板,以解決定置應(yīng)用程序安裝和DLL版本化(通常被稱(chēng)為“DLL Hell”)這一復(fù)雜過(guò)程的問(wèn)題,運(yùn)行語(yǔ)言提供了支持這個(gè)模板的服務(wù)。

Microsft .NET框架 引入了組合體的概念。一個(gè)組合體是一組資源和類(lèi)型,并包括有關(guān)這些資源和類(lèi)型的元數(shù)據(jù),也就是被作為一個(gè)單元配制的。元數(shù)據(jù)被稱(chēng)為組合體的名單,它包含象類(lèi)型和資源表之類(lèi)能被組合體外看得見(jiàn)的信息,這個(gè)名單也包括有關(guān)從屬關(guān)系之類(lèi)的信息,例如組合體建立時(shí)的版本號(hào)。開(kāi)發(fā)人員可以指定版本策略,以指示運(yùn)行語(yǔ)言是否裝入系統(tǒng)上已安裝的依賴于組合體的最新版本,裝入一指定版本,或在編譯時(shí)使用的版本。

某軟件組件的多個(gè)拷貝總可以存在于同樣的操作系統(tǒng)上,然而,通常說(shuō)來(lái),只有其中的一個(gè)拷貝能被操作系統(tǒng)注冊(cè)、調(diào)入內(nèi)存、執(zhí)行。對(duì)系統(tǒng)來(lái)說(shuō),定位和調(diào)入內(nèi)存的策略是全局性。.NET Framework common language runtime 增加了所必須的體系架構(gòu)以支持管理組件定位和調(diào)入的每個(gè)應(yīng)用程序策略,這通常被稱(chēng)為并行配制。

組合體可以被一個(gè)應(yīng)用程序私有,或被多個(gè)應(yīng)用程序共享。一個(gè)組合體的多個(gè)版本可以同時(shí)配制在同一臺(tái)機(jī)器上。應(yīng)用程序配制信息定義了到何處去查找組合體,這樣runtime就能為同時(shí)運(yùn)行的兩個(gè)不同的應(yīng)用程序裝入同一組合體的不同版本。這就消除了由組件版本的不兼容性引起的問(wèn)題,提高了系統(tǒng)整體的穩(wěn)定性。如果必要,如果必要,管理員可以為配制時(shí)刻的組合體增加配制信息,例如一個(gè)不同的版本策略,但是編譯時(shí)提供的原始信息永遠(yuǎn)不會(huì)丟失。

因?yàn)榻M合體是自描述的,所以并不需要在系統(tǒng)上進(jìn)行顯式注冊(cè)。應(yīng)用程序的配制簡(jiǎn)單到只需將文件拷貝到目錄中既可(如果為了使應(yīng)用程序能夠運(yùn)行,必須安裝未經(jīng)組織過(guò)的組件的話,情況會(huì)稍微復(fù)雜一點(diǎn))。配制信息保存在可被任何文本編輯器編輯的XML文件中。

最后,運(yùn)行語(yǔ)言也提供完整的、普遍深入的安全服務(wù),以確保未經(jīng)授權(quán)的用戶不能訪問(wèn)機(jī)器上的資源,并且代碼不會(huì)執(zhí)行未經(jīng)允許的動(dòng)作。這就提高了系統(tǒng)整體的安全性可靠性。 由于運(yùn)行語(yǔ)言用于裝入代碼、生成對(duì)象、執(zhí)行方法調(diào)用,所以當(dāng)受控代碼裝入內(nèi)存、執(zhí)行時(shí),運(yùn)行語(yǔ)言能進(jìn)行安全檢查,強(qiáng)化安全策略。

Microsft .NET框架不僅規(guī)定代碼訪問(wèn)安全,還規(guī)定基于角色的安全。通過(guò)代碼訪問(wèn)安全機(jī)制,開(kāi)發(fā)人員能為應(yīng)用程序指定完成工作所必需的權(quán)限。例如,代碼或許需要寫(xiě)文件或訪問(wèn)環(huán)境變量的權(quán)力。這類(lèi)信息和有關(guān)代碼標(biāo)志的信息一起存儲(chǔ)在配制級(jí)上的。當(dāng)代碼裝入內(nèi)存及執(zhí)行方法調(diào)用時(shí),運(yùn)行語(yǔ)言驗(yàn)證是否能給予代碼所要求的權(quán)限。如果不能,將記錄一條安全沖突信息。給予權(quán)限的策略,這被稱(chēng)為信任策略,是由系統(tǒng)管理員建立的,并且是建立在關(guān)于代碼的證據(jù)基礎(chǔ)之上,比如:代碼是誰(shuí)發(fā)布的,是從什么地方獲得的,以及在組合體中找到的代碼標(biāo)志和它要求的權(quán)限。開(kāi)發(fā)人員可以指定他們顯然不需要的權(quán)限,以防止其它人惡意使用他們的代碼。如果所需要的權(quán)限依賴直到運(yùn)行時(shí)刻才會(huì)知道的信息,那么就可寫(xiě)入綱鄰性的安全檢查。

除了代碼訪問(wèn)安全,運(yùn)行語(yǔ)言還支持基于角色的安全?;诮巧陌踩⑼a訪問(wèn)安全一樣的權(quán)限模板,只是這些權(quán)限是建立在用戶的身份之上,而不是建立在代碼的標(biāo)志之上。角色表明了用戶所屬的類(lèi),并且可以在開(kāi)發(fā)和配制階段定義。給予權(quán)限的策略被分配到每個(gè)預(yù)定義的角色。在運(yùn)行時(shí)刻,用戶的身份被確定,代碼將代表這個(gè)身份運(yùn)行。運(yùn)行語(yǔ)言決定用戶是哪個(gè)角色的成員,然后給予基于這個(gè)角色的權(quán)限。
在查看Microsft .NET框架的可編程模板前,先看一下它所提供的服務(wù)。

服務(wù)框架

在common language runtime之上是服務(wù)框架,此框架提供能被任何現(xiàn)代編程語(yǔ)言調(diào)用的類(lèi)。所有的類(lèi)都遵循一套命名和設(shè)計(jì)方針,以大大減小開(kāi)發(fā)人員的學(xué)習(xí)上的彎路。

框架包括一套開(kāi)發(fā)人員希望在標(biāo)準(zhǔn)語(yǔ)言庫(kù)中存在的基類(lèi)庫(kù),例如:集合、輸入/輸出,字符串及數(shù)據(jù)類(lèi)。另外,基類(lèi)庫(kù)提供訪問(wèn)操作系統(tǒng)服務(wù)如圖畫(huà)、網(wǎng)絡(luò)、線程、全球化和加密的類(lèi)。服務(wù)框架也包括數(shù)據(jù)訪問(wèn)類(lèi)庫(kù),及開(kāi)發(fā)工具,如調(diào)試和剖析服務(wù),能夠使用的類(lèi)。本文章沒(méi)有詳細(xì)討論所有的類(lèi),我將重點(diǎn)放在數(shù)據(jù)訪問(wèn)類(lèi)上,因?yàn)榇蠖鄶?shù)網(wǎng)絡(luò)服務(wù)需要對(duì)數(shù)據(jù)的訪問(wèn)。當(dāng)然,你可以在Microsoft .NET Framework SDK中找到關(guān)于服務(wù)框架類(lèi)庫(kù)的附加信息。

數(shù)據(jù)訪問(wèn)服務(wù)

幾乎所有的網(wǎng)絡(luò)服務(wù)都需要查詢和更新永久性數(shù)據(jù),不論是以簡(jiǎn)單文件,還是以相關(guān)數(shù)據(jù)庫(kù),或是以其它的存儲(chǔ)類(lèi)型存在。為了提供對(duì)數(shù)據(jù)的訪問(wèn),服務(wù)框架包括ActiveX? Data Objects+ (ADO+)類(lèi)庫(kù)。如同名子所暗示地那樣,ADO+由ADO發(fā)展而來(lái)。ADO+被設(shè)計(jì)為基于網(wǎng)絡(luò)的可擴(kuò)展的應(yīng)用程序和服務(wù)提供數(shù)據(jù)訪問(wèn)服務(wù)。ADO+為連接的指針風(fēng)格的數(shù)據(jù)訪問(wèn),同時(shí)也為更適合于把數(shù)據(jù)返回到客戶端應(yīng)用程序的無(wú)連接的數(shù)據(jù)模板提供高性能的APIs流,就象在以后介紹的那樣。圖4 闡明了ADO+的體系結(jié)構(gòu),表明任何數(shù)據(jù),不論這些數(shù)據(jù)實(shí)際上如何存儲(chǔ)的,都以XML或相關(guān)數(shù)據(jù)的格式被操作,不論是哪一種格式,在一個(gè)給定的時(shí)間點(diǎn)上對(duì)應(yīng)用程序都是最合適的。

就象其余幾個(gè)部分一樣,ADO+定義了那些鏈接數(shù)據(jù)倉(cāng)庫(kù)、 對(duì)數(shù)據(jù)倉(cāng)庫(kù)發(fā)送命令及從中獲取結(jié)果的類(lèi)。這些類(lèi)由受控?cái)?shù)據(jù)提供者(managed data provider)實(shí)現(xiàn)。ADO+中鏈接和命令對(duì)象看上去和ADO中的是一樣的,并且一個(gè)名為DataReader的新類(lèi)提供了通過(guò)高性能A
  
表單應(yīng)用模板

從概念上講,在服務(wù)框架的最上面是兩個(gè)應(yīng)用程序模板:Windows?應(yīng)用程序模板和網(wǎng)絡(luò)應(yīng)用程序模板。盡管我把重點(diǎn)放在把微軟.NET 框架用作開(kāi)發(fā)網(wǎng)絡(luò)服務(wù)和網(wǎng)絡(luò)應(yīng)用程序的一種途徑上,但框架也可用于開(kāi)發(fā)較傳統(tǒng)的基于Windows的應(yīng)用程序(當(dāng)然,這些應(yīng)用程序也能使用網(wǎng)絡(luò)服務(wù))。

編寫(xiě)Windows客戶應(yīng)用程序的開(kāi)發(fā)人員可使用Win表單應(yīng)用程序模板以利用Windows豐富的用戶接口特點(diǎn),包括現(xiàn)在的ActiveX控件和Windows 2000的新特點(diǎn),如透明的、分層的、浮動(dòng)窗口。可以選擇傳統(tǒng)的Windows或網(wǎng)絡(luò)外觀。得知它和現(xiàn)在的基于Windows表單包的相似性以后,開(kāi)發(fā)人員會(huì)發(fā)現(xiàn)Win表單可編程模板和對(duì)設(shè)計(jì)階段的支持非常直觀。

Win 表單利用了Microsft .NET框架 runtime以減少基于Windows的客戶應(yīng)用程序的開(kāi)銷(xiāo)。只要應(yīng)用程序和組件是用Win所寫(xiě)或被Win表單應(yīng)用程序使用,那么它們就能被框架安全模板在客戶機(jī)上安全地執(zhí)行。如果以這種方式使用或執(zhí)行,那么某人從Internet下載下來(lái)的生猛游戲就不會(huì)對(duì)配制信息和數(shù)據(jù)產(chǎn)生破壞,否則會(huì)自動(dòng)地給用戶地址薄里的每一個(gè)人發(fā)送電子郵件。

Microsft .NET框架 裝配模板簡(jiǎn)化了應(yīng)用程序的配制和版本化 。應(yīng)用程序可被配制為使用它們?cè)诰幾g和測(cè)試所用的共享組件,而不是使用恰好在客戶機(jī)器上安裝的隨便什么版本的組件,這就提高了應(yīng)用程序的可靠性,減少了應(yīng)用程序所支持調(diào)用的主要因素:用戶接口控件和其它共享組件版本的不兼容性。

結(jié)論

網(wǎng)絡(luò)服務(wù)為在Internet上綁定應(yīng)用程序提供了一個(gè)利用現(xiàn)存體系架構(gòu)和應(yīng)用程序的簡(jiǎn)單的、靈活的、基于許多標(biāo)準(zhǔn)的模型。網(wǎng)絡(luò)應(yīng)用程序很容易與當(dāng)?shù)亻_(kāi)發(fā)的服務(wù)或已存在的服務(wù)集成在一起,而不用考慮開(kāi)發(fā)平臺(tái)、開(kāi)發(fā)語(yǔ)言或使用的對(duì)象模型,以用于實(shí)現(xiàn)任何組成的服務(wù)或應(yīng)用程序。

Microsft .NET框架在現(xiàn)有開(kāi)發(fā)人員技巧之上,提供了一個(gè)應(yīng)用程序模板和關(guān)鍵技術(shù),用于簡(jiǎn)化安全、可靠、可擴(kuò)展、高可用性的網(wǎng)絡(luò)服務(wù)的建立、部署和不斷的發(fā)展。

發(fā)布:2007-03-25 10:34    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:
上海OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢