日韩高清在线免费不卡性生活毛片,亚洲av综合第一页,亚洲美女被操,一级无遮挡理论片

綠色資源網(wǎng):您身邊最放心的安全下載站! 最新軟件|熱門(mén)排行|軟件分類(lèi)|軟件專(zhuān)題|論壇轉(zhuǎn)帖|廠商大全

綠色資源網(wǎng)

技術(shù)教程
您的位置:首頁(yè)網(wǎng)絡(luò)編程Xml編程 → XML、Web服務(wù)和.NET框架

XML、Web服務(wù)和.NET框架

我要評(píng)論 2010/02/16 18:48:24 來(lái)源:綠色資源網(wǎng) 編輯:綠色資源站 [ ] 評(píng)論:0 點(diǎn)擊:336次

    應(yīng)用程序開(kāi)發(fā)技術(shù)正發(fā)生著一次質(zhì)的飛躍,從根本上大幅度提高開(kāi)發(fā)人員的生產(chǎn)效率,它開(kāi)啟了一道通向全新概念的應(yīng)用程序的大門(mén)。

    在過(guò)去,開(kāi)發(fā)人員一直通過(guò)集成本地系統(tǒng)服務(wù)來(lái)構(gòu)建應(yīng)用程序。在這種模式下,開(kāi)發(fā)人員可以訪問(wèn)豐富的開(kāi)發(fā)資源并能?chē)?yán)格控制應(yīng)用程序的行為。

    如今,開(kāi)發(fā)人員在很大程度上已掙脫了這種模式的束縛,致力于構(gòu)建具有復(fù)雜結(jié)構(gòu)的n層系統(tǒng),這種系統(tǒng)能將網(wǎng)絡(luò)中各處的眾多的應(yīng)用程序進(jìn)行集成,并大大提升應(yīng)用程序的價(jià)值。這樣,開(kāi)發(fā)人員便可集中精力挖掘軟件獨(dú)特的商業(yè)價(jià)值,而不必日夜為如何構(gòu)建基本結(jié)構(gòu)傷腦筋了。令人欣喜的局面將應(yīng)運(yùn)而生:軟件投放市場(chǎng)的時(shí)間大大縮短、開(kāi)發(fā)人員的編程效率明顯提高,最為根本的是開(kāi)發(fā)出質(zhì)量上乘的軟件。

    我們正在進(jìn)入一個(gè)嶄新的計(jì)算時(shí)代,一個(gè)互聯(lián)網(wǎng)時(shí)代,其核心技術(shù)是“可擴(kuò)展標(biāo)記語(yǔ)言”,即XML.XML創(chuàng)建出可供任何人從任何地方訪問(wèn)和使用的功能強(qiáng)大的應(yīng)用程序。它極大地?cái)U(kuò)展了應(yīng)用程序的功能,并實(shí)現(xiàn)了軟件的不間斷傳輸。在這種大環(huán)境中,軟件已不完全是指那些從CD進(jìn)行安裝的程序,而是已經(jīng)演變成了一種服務(wù):類(lèi)似于調(diào)用者的ID驗(yàn)證或按觀看次數(shù)進(jìn)行收費(fèi)的電視,人們可通過(guò)通信媒體預(yù)定此類(lèi)服務(wù)。

    這一切,是通過(guò)將緊密耦合的、高效的n層計(jì)算技術(shù)與面向消息的、松散耦合的Web概念相結(jié)合來(lái)實(shí)現(xiàn)的。我們將這種計(jì)算風(fēng)格稱(chēng)為Web服務(wù),它的出現(xiàn)標(biāo)志著人類(lèi)已經(jīng)邁入應(yīng)用程序開(kāi)發(fā)技術(shù)的新紀(jì)元。Web服務(wù)是一種應(yīng)用程序,它可以使用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議,像超文本傳輸協(xié)議(HTTP)和XML,將功能綱領(lǐng)性地體現(xiàn)在互聯(lián)網(wǎng)和企業(yè)內(nèi)部網(wǎng)上??蓪eb服務(wù)視作Web上的組件編程。

    從理論上講,開(kāi)發(fā)人員可通過(guò)調(diào)用Web應(yīng)用編程接口(API)(就像調(diào)用本地服務(wù)一樣),將Web服務(wù)集成到應(yīng)用程序中,不同的是Web API調(diào)用可通過(guò)互聯(lián)網(wǎng)發(fā)送給位于遠(yuǎn)程系統(tǒng)中的某一服務(wù)。例如,Microsoft Passport服務(wù)使得開(kāi)發(fā)人員能夠?qū)δ硲?yīng)用程序進(jìn)行驗(yàn)證。通過(guò)Passport服務(wù)編程,開(kāi)發(fā)人員可以充分利用Passport的基本結(jié)構(gòu),通過(guò)運(yùn)行Passport來(lái)維護(hù)用戶(hù)數(shù)據(jù)庫(kù),以確保它的正常運(yùn)行、定期備份等等。

    松散耦合

    在某個(gè)網(wǎng)絡(luò)中分發(fā)應(yīng)用程序邏輯,并不是一個(gè)全新的概念,在Web中分發(fā)并集成應(yīng)用程序邏輯才是一個(gè)嶄新的概念。

    從前,分布式的應(yīng)用程序邏輯需要使用分布式的對(duì)象模型,諸如:微軟的分布式組件對(duì)象模型(DCOM)、對(duì)象管理集團(tuán)的公用對(duì)象請(qǐng)求代理程序體系結(jié)構(gòu)(CORBA)或Sun的遠(yuǎn)程方法調(diào)用(RMI)。通過(guò)使用這種基本結(jié)構(gòu),開(kāi)發(fā)人員仍可擁有使用本地模型所提供的豐富資源和精確性,并可將服務(wù)置于遠(yuǎn)程系統(tǒng)中。

    這些系統(tǒng)有一個(gè)共同的缺陷,那就是它們無(wú)法擴(kuò)展到互聯(lián)網(wǎng)上:它們要求服務(wù)客戶(hù)端與系統(tǒng)提供的服務(wù)本身之間必須進(jìn)行緊密耦合,即要求一個(gè)同類(lèi)基本結(jié)構(gòu)。這樣的系統(tǒng)往往十分脆弱:如果一端的執(zhí)行機(jī)制發(fā)生變化,那么另一端便會(huì)崩潰。例如,如果服務(wù)器應(yīng)用程序的接口發(fā)生更改,那么客戶(hù)端便會(huì)崩潰。

    要求提供緊密耦合的基本結(jié)構(gòu),無(wú)可厚非,許多應(yīng)用程序均是基于這種系統(tǒng)構(gòu)建而成的。但是,當(dāng)各個(gè)公司需要相互合作、或信息技術(shù)提供商擴(kuò)大業(yè)務(wù)范圍時(shí),便很難實(shí)現(xiàn)單一而統(tǒng)一的基本結(jié)構(gòu)。您根本無(wú)法保證您希望與之進(jìn)行遠(yuǎn)程通信的管道的另一端,具備所有您需要的基本結(jié)構(gòu):對(duì)于它使用的操作系統(tǒng)、對(duì)象模型或編程語(yǔ)言,您可能一無(wú)所知。

    相反,Web服務(wù)彼此是松散偶合的。連接中的任何一方均可更改執(zhí)行機(jī)制,卻不影響應(yīng)用程序的正常運(yùn)行。從技術(shù)角度講,人們已轉(zhuǎn)向使用一種基于消息的異步技術(shù)來(lái)實(shí)現(xiàn)高可靠性的系統(tǒng)性能,通過(guò)使用諸如HTTP、簡(jiǎn)單郵件傳輸協(xié)議(SMTP)以及至為重要的XML來(lái)實(shí)現(xiàn)統(tǒng)一的連接。

    消息傳遞系統(tǒng)將通信的基本單元打包成自我描述型的數(shù)據(jù)包(又稱(chēng)作消息),并將其放到網(wǎng)絡(luò)纜線(xiàn)中。消息傳遞系統(tǒng)與分布式對(duì)象系統(tǒng)之間的本質(zhì)區(qū)別在于:要求發(fā)送方辨識(shí)接收方的基本結(jié)構(gòu)的程度有所不同。在分布式系統(tǒng)中,發(fā)送方需對(duì)接收方的情況作出種種猜測(cè):應(yīng)用程序是如何激活或拆包的,調(diào)用的是什么樣的界面,等等。

    另一方面,消息傳遞系統(tǒng)會(huì)在纜線(xiàn)格式級(jí)上創(chuàng)建合同。發(fā)送方既不需考慮消息被接收后的情況,也不需考慮接發(fā)雙方之間的通信情況,唯一需要考慮的是接收方是否能辯識(shí)發(fā)送的消息內(nèi)容。

    在纜線(xiàn)格式級(jí)上創(chuàng)建合同的優(yōu)勢(shì)不言而喻。例如,接收方可在任何時(shí)刻進(jìn)行更改,而不會(huì)干擾發(fā)送方的消息發(fā)送,只要它仍可辯識(shí)原有消息的內(nèi)容。另外,發(fā)送方無(wú)需任何特殊的軟件即可與接收方通信:只要它發(fā)出正確格式的消息,接收方就可以響應(yīng)。


纜線(xiàn)級(jí)的XML:SOAP

  實(shí)現(xiàn)Web服務(wù)的異類(lèi)基本結(jié)構(gòu)以及在整個(gè)Web中實(shí)現(xiàn)Web服務(wù)的關(guān)鍵,是實(shí)現(xiàn)支持簡(jiǎn)單數(shù)據(jù)描述格式的技術(shù)。這種格式就是XML。Web服務(wù)必須使用XML來(lái)完成三件事情:基本的纜線(xiàn)格式、服務(wù)描述以及“服務(wù)發(fā)現(xiàn)”。

  SOAP:在通信的最低級(jí)別,系統(tǒng)需要使用同一語(yǔ)言。特別,作為通信雙方的應(yīng)用程序需要遵守同一套通信規(guī)則:如何表示不同的數(shù)據(jù)類(lèi)型(例如:是整數(shù)還是數(shù)組),以及如何表示命令(即:需要對(duì)數(shù)據(jù)進(jìn)行何種操作)。另外,在必要的時(shí)候應(yīng)用程序還需對(duì)該語(yǔ)言適當(dāng)?shù)臄U(kuò)展。簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(SOAP)是XML的實(shí)施工具,它提供了一套公共規(guī)則集,該規(guī)則集說(shuō)明了如何表示并擴(kuò)展數(shù)據(jù)和命令。

  Web服務(wù)描述語(yǔ)言(WSDL)。雙方應(yīng)用程序在得到了如何表示數(shù)據(jù)類(lèi)型和命令的規(guī)則后,需要對(duì)所接收的特定數(shù)據(jù)和命令進(jìn)行有效的描述。僅僅說(shuō)已接收到整數(shù)是不夠的;比如,在接收到兩個(gè)整數(shù)后,應(yīng)用程序必須明確表述它可以對(duì)這兩個(gè)整數(shù)執(zhí)行乘法運(yùn)算操作。Web服務(wù)描述語(yǔ)言(WSDL)是一種XML語(yǔ)法,開(kāi)發(fā)人員和開(kāi)發(fā)工具可使用它來(lái)表述Web服務(wù)的具體功能。

  “SOAP發(fā)現(xiàn)”:在最高層,還需制定一套如何定位服務(wù)描述的規(guī)則:默認(rèn)情況下,用戶(hù)或工具能在什么地方找到服務(wù)的功能描述?依據(jù)“SOAP發(fā)現(xiàn)”規(guī)格說(shuō)明中提供的規(guī)則集,用戶(hù)或開(kāi)發(fā)工具可以自動(dòng)找到服務(wù)的SCL描述。

  一旦實(shí)現(xiàn)了這三種功能層,開(kāi)發(fā)人員便可容易地找到Web服務(wù),將它例示成一個(gè)對(duì)象后再集成進(jìn)應(yīng)用程序中,繼而構(gòu)建出一個(gè)具有豐富功能的基本結(jié)構(gòu)。這樣,得到的應(yīng)用程序便能與Web服務(wù)進(jìn)行反向通信了。

  .NET框架:Web服務(wù)引擎

  很顯然,許多基本結(jié)構(gòu)都需實(shí)現(xiàn)上述進(jìn)程對(duì)開(kāi)發(fā)人員和用戶(hù)的透明化。.NET框架提供此基本結(jié)構(gòu)。從.NET框架角度看,所有組件都可以是Web服務(wù),而Web服務(wù)也僅是一種組件。實(shí)際上,.NET框架提取出微軟組件對(duì)象模型(COM)的精華,將它們與松散耦合計(jì)算的精華有機(jī)地結(jié)合在一起,生成了強(qiáng)大、高效的Web組件系統(tǒng):簡(jiǎn)化程序員的“管道”操作、深入地集成了安全性,引進(jìn)了基于互聯(lián)網(wǎng)的操作系統(tǒng),極大地改善應(yīng)用程序的可靠性和可擴(kuò)展性。

  .NET框架包含三個(gè)主要部分:公共語(yǔ)言運(yùn)行時(shí)、具有多層次結(jié)構(gòu)的統(tǒng)一的類(lèi)庫(kù)集合和高級(jí)版“活動(dòng)服務(wù)器頁(yè)面”(又名ASP+)

  公共語(yǔ)言運(yùn)行時(shí)

  此名稱(chēng)不能準(zhǔn)確反映它的全部功能。實(shí)際上,公共語(yǔ)言運(yùn)行時(shí)在組件的開(kāi)發(fā)過(guò)程中以及軟件的運(yùn)行過(guò)程中,都扮演著非常重要的角色。在組件運(yùn)行過(guò)程中,運(yùn)行時(shí)負(fù)責(zé)管理內(nèi)存分配、啟動(dòng)或取消線(xiàn)程和進(jìn)程、實(shí)施安全性策略、同時(shí)滿(mǎn)足當(dāng)前組件對(duì)其它組件的需求。在開(kāi)發(fā)階段,運(yùn)行時(shí)的作用有些變化:與現(xiàn)今的COM相比,運(yùn)行時(shí)的自動(dòng)化程度大為提高(比如可自動(dòng)執(zhí)行內(nèi)存管理),因而開(kāi)發(fā)人員的工作變得非常輕松。尤其是,映射功能將使代碼編寫(xiě)量銳減,這些代碼是開(kāi)發(fā)人員在將業(yè)務(wù)邏輯轉(zhuǎn)化成可復(fù)用的組件進(jìn)行編程時(shí)所需的。

  對(duì)編程語(yǔ)言而言,運(yùn)行時(shí)這個(gè)概念并不新奇:實(shí)際上每種編程語(yǔ)言都有自己的運(yùn)行時(shí)。Visual Basic?開(kāi)發(fā)系統(tǒng)具有最為明顯的運(yùn)行時(shí)(名為VBRUN),Visual C++?跟Visual FoxPro?、Jscript?、SmallTalk、Perl、Python和Java一樣,有一個(gè)運(yùn)行時(shí)MSVCRT。NET框架的關(guān)鍵作用是它提供了一個(gè)跨編程語(yǔ)言的統(tǒng)一的編程環(huán)境,這也是它能獨(dú)樹(shù)一幟的根本原因所在。

  統(tǒng)一的編程類(lèi)

  .NET框架中的類(lèi)為開(kāi)發(fā)人員提供了一個(gè)統(tǒng)一的、面向?qū)ο蟮?、層次化的、可擴(kuò)展的類(lèi)庫(kù)集(API)?,F(xiàn)今,C++開(kāi)發(fā)人員使用的是微軟基礎(chǔ)類(lèi)庫(kù),Java開(kāi)發(fā)人員使用的是Windows?基礎(chǔ)類(lèi)庫(kù),而Visual Basic用戶(hù)使用的又是Visual Basic API集。簡(jiǎn)而言之,.NET框架統(tǒng)一了微軟當(dāng)前各種不同的框架。這樣,開(kāi)發(fā)人員不再需要學(xué)習(xí)多種框架就能順利編程。遠(yuǎn)不止于此的是,通過(guò)創(chuàng)建一個(gè)公共的跨編程語(yǔ)言的API集,.NET框架可實(shí)現(xiàn)跨語(yǔ)言繼承性、錯(cuò)誤處理功能和調(diào)試功能。實(shí)際上,從Jscript到C++的所有編程語(yǔ)言,都是相互等同的,開(kāi)發(fā)人員可以自由選擇理想的編程語(yǔ)言。

  高級(jí)版“活動(dòng)服務(wù)器頁(yè)面”(ASP+)

  ASP+是使用 .NET框架提供的類(lèi)庫(kù)構(gòu)建而成的,它提供了一個(gè)Web應(yīng)用程序模型,該模型由一組控件和一個(gè)基本結(jié)構(gòu)組成。有了它,Web應(yīng)用程序的構(gòu)建變得非常容易。開(kāi)發(fā)人員可以直接使用ASP+控件集,該控件集封裝了公共的、用于超文本標(biāo)識(shí)語(yǔ)言(HTML)用戶(hù)界面的各種小組件(諸如文本框、下拉菜單等等)。實(shí)際上,這些控件運(yùn)行在Web服務(wù)器上,它們將用戶(hù)界面轉(zhuǎn)換成HTML格式后再發(fā)送給瀏覽器。在服務(wù)器上,控件負(fù)責(zé)將面向?qū)ο蟮木幊棠P统尸F(xiàn)給Web開(kāi)發(fā)人員,這種編程模型能提供面向?qū)ο蟮木幊碳夹g(shù)擁有的豐富功能。ASP+還提供一些基本結(jié)構(gòu)服務(wù)(諸如會(huì)話(huà)狀態(tài)管理和進(jìn)程循環(huán)),這些服務(wù)進(jìn)一步減少了

關(guān)鍵詞:XML,Web服務(wù),.NET框架

閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

  • 1 歡迎喜歡
  • 1 白癡
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙視