張旭
摘要:文章通過介紹.NET框架概述,分析.NET框架下分布式通信技術(shù)(與.NET框架下分布式通信技術(shù)對比),對基于NET通信技術(shù)的生產(chǎn)商應(yīng)用模型展開探討,旨在為如何實現(xiàn).NET框架下分布式通信技術(shù)的有效應(yīng)用研究提供一定的參考思路。
關(guān)鍵詞:.NET框架;分布式;通信技術(shù)
智能客戶端是.NET平臺下的新型部署方式,.NETRemoting,Web service,En terprise service是.NET框架下連接智能客戶端與后臺服務(wù)端的主要消息通信技術(shù)。智能客戶端系統(tǒng)全面性能很大程度上受選取何種通信方式影響,因此對.NET框架下分布式通信技術(shù)展開研究有著十分重要的現(xiàn)實與理論指導(dǎo)意義。
1..NET框架概述
.NET框架是指用于構(gòu)建、規(guī)劃及運(yùn)行XML Web服務(wù)和相關(guān)應(yīng)用程序的編程模型,能夠使高度分布式Internet背景下應(yīng)用程序開發(fā)得以簡化。
.NET框架包括統(tǒng)一類庫、通用語言運(yùn)行時2項主要組件。其中,統(tǒng)一類庫是一個綜合性的可重用類型集合,用戶可通過對統(tǒng)一類庫的使用開發(fā)出Web窗體、XML Web服務(wù)等一系列應(yīng)用程序。其涵蓋的技術(shù)主要為ASR NET、XML類、windowsForms、企業(yè)服務(wù)以及web Forms等。作為.NET框架的基礎(chǔ),用戶可把通用語言運(yùn)行時視成一項在執(zhí)行期間管理代碼的代理,其輸出線程管理、內(nèi)存管理及遠(yuǎn)程處理等核心服務(wù),同時強(qiáng)制運(yùn)行嚴(yán)格的類型安全及保證可靠性、安全性的相關(guān)形式代碼準(zhǔn)確性。本質(zhì)上而言,代碼管理的含義即為運(yùn)行時的基本原則。
.NET框架可通過非托管組建承載,此類組件把通用語言運(yùn)行時加載至自身進(jìn)程中同時開啟托管代碼執(zhí)行,進(jìn)一步建立起一個能夠一并對托管、非托管功能進(jìn)行利用的軟件環(huán)境。.NET框架一方面提供相應(yīng)的運(yùn)行庫宿主,一方面促進(jìn)第三方運(yùn)行庫宿主開發(fā)。
2..NET框架下分布式通信技術(shù)對比
在智能客戶端應(yīng)用系統(tǒng)開發(fā)過程中,應(yīng)當(dāng)充分權(quán)衡系統(tǒng)安全性、表示層實現(xiàn)、部署維護(hù)及支持離線應(yīng)用與否等方面內(nèi)容,不過最需要考慮的是怎么去達(dá)成前后臺客戶端、服務(wù)端相互的通信。智能客戶端應(yīng)用系統(tǒng)中,囊括了.NETRemoting,Web service,Enterprise service等典型通信技術(shù)。其中,.NET Remoting是一項相對于DCOM的技術(shù),建立了某一許可對象經(jīng)由程序域與另x~象開展交互的結(jié)構(gòu),與DCOM相互更加安全、便捷,能夠同時支持多種協(xié)議;Webservice是一項能夠跨平臺的技術(shù)框架,制定了建立跨系統(tǒng)、跨平臺、跨語言等的分布式應(yīng)用可行方案;Enterpriseservice是一項COM+月艮務(wù)基礎(chǔ)框架訪問技術(shù),大部允NET特性集成至該項技術(shù)中,一定程度使訪問此類服務(wù)時得到了簡化。這3項技術(shù)均能夠有效實現(xiàn)客戶端與服務(wù)端的連接,不過各項技術(shù)有著不同的關(guān)注點(diǎn),在此作下述對比。
2.1.NET框架下分布式通信技術(shù)的性能對比
智能客戶端系統(tǒng)整體性能很大程度上受通信性能影響。通過使.NET Remoting,Web service,Enterprise service選取同一手段,逐一大數(shù)據(jù)量DataSet、小數(shù)據(jù)量DataSet及大數(shù)據(jù)量對象集合的通信時間展開比較(見表1)。
由表1可發(fā)現(xiàn),在大數(shù)據(jù)量DataSet、小數(shù)據(jù)量DataSet用例中,3項技術(shù)的通信時間數(shù)據(jù)對比差異不顯著,這是由于即便.NET Remoting,Enterprise service選取的是更便捷傳輸?shù)亩M(jìn)制機(jī)制,然而在對DataSet進(jìn)行傳輸期間,仍舊要把DataSet序列化為xml,因此,.NET Remoting,Enterpriseservice僅存在細(xì)微的優(yōu)勢。在大數(shù)據(jù)量對象集合用例中,憑借集合形式返回與大數(shù)據(jù)量Dataset一致的數(shù)據(jù)結(jié)構(gòu),全面處理時間明顯減少,同時.NET Remoting,Enterpriseservice相較于Web service存在顯著的性能優(yōu)勢。經(jīng)上述對比可知,相較于選取哪一種通信方式,經(jīng)由對象集合返回數(shù)據(jù)結(jié)果對系統(tǒng)性能產(chǎn)生的影響明顯更大,且.NET Remoting,Enterprise service在處理時間方面明確要比Web service耗費(fèi)時間少。
2.2.NET框架下分布式通信技術(shù)的安全性
客戶端與服務(wù)端通信期間,.NET web service存在內(nèi)建安全機(jī)制。.NET Remoting不存在自身安全模式,身份授權(quán)、驗證均通過通道、主機(jī)進(jìn)程開展既可對安全模式進(jìn)行自定義并將其插入,又可通過IIS開展。Enterprise service將DCOM作為幌子開展遠(yuǎn)程通信,且DCOM具備十分強(qiáng)的安全性。
2.3.NET框架下分布式通信技術(shù)的耦合性
智能客戶端系統(tǒng)開發(fā)與部署的靈活性很大程度上受耦合性影響,即伴隨耦合性松散度的提升,系統(tǒng)開發(fā)與部署便越來越簡單。Web service相互耦合性較為松散,連接中不論哪一方都能夠?qū)?zhí)行機(jī)制進(jìn)行更改,并不對應(yīng)用程序有序運(yùn)行構(gòu)成影響。倘若單從部署層面而言,Web service為智能客戶端系統(tǒng)最佳通信技術(shù)。.NET Remoting同樣部署相對簡單,需要開展的工作僅為程序集部署、配置文件更改。然而,一般情況下,.NET Remoting要經(jīng)由專門端口開展二進(jìn)制通信,由此使得其與網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)耦合性極其強(qiáng)。相較于前2項技術(shù),Enterprise service耦合性略顯不足,但是經(jīng)由松散耦合時間機(jī)制可使客戶端與服務(wù)端組建緊耦合的特性得到一定程度緩解。
3.基于.NET通信技術(shù)的生產(chǎn)商應(yīng)用模型
通過對現(xiàn)階段客戶端及分布式通信技術(shù)的探討,制定了一類前端采用智能客戶端,后臺基于不同類型業(yè)務(wù)邏輯服務(wù)組件的生產(chǎn)商應(yīng)用模型。智能客戶端能夠使操作界面變得越來越智能化、人性化,結(jié)合后端一系列通信技術(shù)可使操作流程變得越來越簡化,提升生產(chǎn)商決策反應(yīng)速度,強(qiáng)化生產(chǎn)商競爭水平。
3.1生產(chǎn)商內(nèi)部生產(chǎn)監(jiān)測
在生產(chǎn)商內(nèi)部,生產(chǎn)工作是一項繁雜的系統(tǒng)工程,不僅有著復(fù)雜的流程,還要不同資源的配合,且伴有嚴(yán)苛的實時性要求。與.NET Remoting、Web service相比,Enterpriseservice最主要的不同之處在于對事務(wù)的處理上。選取Enterprise service所看重的是其良好的分布式事務(wù)操作水平,每一組件均為繼承制Enterprise service、Systrm.Enterprise service組件客戶端與服務(wù)端相關(guān)聯(lián),結(jié)合生產(chǎn)商生產(chǎn)工作實質(zhì)內(nèi)容來對組件相應(yīng)需求功能予以指定,客戶端經(jīng)由服務(wù)端來傳達(dá)對應(yīng)配置的每一組件,產(chǎn)生服務(wù)鏈,進(jìn)而使具體生產(chǎn)需求得到滿足。
3.2生產(chǎn)商內(nèi)部生產(chǎn)指導(dǎo)
通常情況下,生產(chǎn)商內(nèi)部生產(chǎn)指導(dǎo)是對生產(chǎn)數(shù)據(jù)展開分析,對不同部門相互生產(chǎn)狀況予以協(xié)調(diào)。.NET Remoting,Web service均是適用的技術(shù),不過有著不一致的關(guān)注點(diǎn)。Web service有著相對廣泛的通用性,能夠跨平臺,不過webservice在通信期間不斷序列化會使得應(yīng)用程序性能逐步下降。就生產(chǎn)商應(yīng)用程序來說,一旦傳輸量十分高時,簡單對象訪問協(xié)議系統(tǒng)會出現(xiàn)開銷過度情況,要想達(dá)成盡可能快的生產(chǎn)指導(dǎo)解決方案,于該級系統(tǒng)中,.NET Remoting顯然更為適用。.NET Remoting建立了某一許可對象經(jīng)由程序域與另一對象開展交互的結(jié)構(gòu)。不管這2個對象處在一個進(jìn)程與否,均能夠應(yīng)用。就框架上來說,.NET Remoting獨(dú)享十分適宜經(jīng)由網(wǎng)絡(luò)對資源進(jìn)行訪問,而不需要應(yīng)對基于簡單對象訪問協(xié)議的Web service[NI臨的困難。
4.結(jié)語
總而言之,.NET Remoting,Web service,En terpriseservice是.NET框架下連接智能客戶端與后臺服務(wù)端的主要消息通信技術(shù),智能客戶端系統(tǒng)全面性能很大程度上受選取何種通信方式影響。相關(guān)人員務(wù)必清楚認(rèn)識NET框架,全面分析.NET框架下分布式通信技術(shù)的不同,不斷鉆研研究,總結(jié)經(jīng)驗,積極促進(jìn).NET框架下分布式通信技術(shù)的有效應(yīng)用。