當(dāng)前位置:工程項目OA系統(tǒng) > 泛普各地 > 河北O(jiān)A系統(tǒng) > 石家莊OA系統(tǒng) > 石家莊OA信息化
Microsoft.Net 與 Web Services
Microsoft.Net 與 Web Services
1.Net是什么?
Microsoft
.Net的目標(biāo)是讓分布在不同區(qū)域的計算機(jī)、設(shè)備一起工作,為用戶提供各種各樣的服務(wù)。人們可以控制在什么時候、獲取什么信息以及怎樣獲取信息,而不必像現(xiàn)在這樣,用戶在無數(shù)個信息孤島中找來找去,尋找著自己需要的信息。例如,我想在居住的小區(qū)內(nèi)找一家燒烤店,并且晚上7點還有空位;
又比如,我有一筆業(yè)務(wù)要做,我要知道哪家供貨商庫存有該貨物,如果有幾家可以提供該商品,我還要知道誰能給我最好的價格以及誰能最先將貨送到。類似這樣的服務(wù)在現(xiàn)在的Internet上并不存在,因為沒有一個標(biāo)準(zhǔn)將這些分屬于不同單位的信息集成起來。
Microsoft
.Net將徹底改變現(xiàn)在Internet的工作方式,推動下一代Internet的發(fā)展。XML和SOAP是實現(xiàn)上述偉大理想的核心技術(shù)。
簡單地說,.Net主要由兩大部分組成:
● .Net平臺 包括.Net基礎(chǔ)框架、工具和核心服務(wù)等;
●
.Net產(chǎn)品和服務(wù) 包括Windows .Net、MSN.Net、Office.Net、Visual Studio.Net以及bCentral for
.Net。
本文主要介紹.Net基礎(chǔ)框架以及 .Net包含的重要理念——Web Services。
2.Web Services架構(gòu)
Web Service是由應(yīng)用程序完成的服務(wù),通過Internet標(biāo)準(zhǔn),可以和其他Web
Service集成,它是一個URL服務(wù)資源,客戶端可以通過編程方式請求得到它返回的信息。Web
Services的一個重要特點就是客戶端不需要知道所請求的服務(wù)是怎樣實現(xiàn)的,這一點與傳統(tǒng)的分布式組件對象模型(DCOM/CORBA)完全不同。
.Net系統(tǒng)之間的通信采用通行的Web協(xié)議和數(shù)據(jù)格式,例如HTTP和XML,任何支持Web標(biāo)準(zhǔn)的系統(tǒng)都能支持Web
Services。XML是定義一套可擴(kuò)展的、標(biāo)準(zhǔn)化的語言的最好選擇,它可以表示命令和類型數(shù)據(jù)定義。SOAP(簡單對象訪問協(xié)議)則是一套用XML表示數(shù)據(jù)和命令的國際標(biāo)準(zhǔn)。因此,在.Net中,選用SOAP定義通信消息格式應(yīng)是很好的選擇。
Web Services 定義了明確的接口,在.Net中被稱為約定(contracts),它描述了Web
Services提供的服務(wù),客戶端應(yīng)用程序就是根據(jù)約定知道Web
Services是否包含所需的服務(wù)以及調(diào)用方法。開發(fā)人員可以通過組合調(diào)用遠(yuǎn)程服務(wù)、本地服務(wù)和自己編寫代碼來實現(xiàn)一個Web應(yīng)用。圖1顯示了怎樣將Web
Services連接在一起,建立分布式的Web應(yīng)用。
3.Net框架
我們知道,.Net的主要目標(biāo)就是在Internet的站點之間通過分布式的協(xié)作,為用戶提供更加完美的服務(wù)。但在目前的技術(shù)條件下,實現(xiàn)這樣的應(yīng)用難度非常大,Microsoft為此開發(fā)的.Net框架、核心基礎(chǔ)構(gòu)件服務(wù)以及系列開發(fā)工具,將使開發(fā)人員可以很容易地搭建這樣的應(yīng)用(包括開發(fā)Web應(yīng)用和Web 服務(wù))。.Net框架是Microsoft繼DNA之后最新提出的新一代Internet軟件開發(fā)模型。圖2顯示了Microsoft .Net框架的組成。
從圖中可以看出,Microsoft.Net框架的核心是公共語言運行環(huán)境(Common Language
Runtime)引擎和服務(wù)框架(Servies
Frameworks),它們建立在操作系統(tǒng)層之上。公共語言運行環(huán)境(Runtime)引擎的功能是管理代碼的運行,代碼可以采用任何現(xiàn)代編程語言編寫,并以一種中間語言(IL)代碼的形式出現(xiàn)。另外,運行環(huán)境引擎還提供了許多服務(wù)功能以簡化代碼的開發(fā)和應(yīng)用配置,同時也改善了應(yīng)用程序的可靠性。.Net還包括一組類庫,開發(fā)人員可以在任何一種編程語言環(huán)境中使用。最上一層是各種應(yīng)用程序開發(fā)模型,并特別針對開發(fā)Web站點和Web服務(wù)提供了更高一級的組件和服務(wù)。
1.公共語言運行環(huán)境(Runtime)
.Net框架的核心是公共語言運行環(huán)境(Runtime)引擎。很多程序員對Runtime這個概念并不陌生,我們知道C
Runtime庫、標(biāo)準(zhǔn)模板庫、MFC庫、活動模板庫以及VB運行庫等,目的都是為應(yīng)用程序提供公共服務(wù),以節(jié)省編程時間和提高程序的可靠性。Runtime引擎和庫同樣如此,不同的是,Runtime引擎更像Java虛擬機(jī),因為它管理的代碼是與機(jī)器無關(guān)的中間代碼,在Runtime加載后才編譯執(zhí)行。
專門為Runtime生成的代碼在.Net中稱為可管理代碼(Managed
Code)。簡單地說,可管理代碼意味著在執(zhí)行代碼和Runtime之間定義了一個接口,諸如創(chuàng)建對象、方法調(diào)用等任務(wù)都可以交給Runtime完成,它同時還向執(zhí)行代碼提供一些附加的服務(wù)功能。另外,Runtime還具有平臺無關(guān)、語言交叉集成、自描述組件、簡單配置、版本控制和集成安全服務(wù)等特性。
● 平臺無關(guān)
在圖2中,最底層是操作系統(tǒng)但并沒有特指是Windows,因此它可以是任何一種操作系統(tǒng),只要開發(fā)出了可在該操作系統(tǒng)下運行的Runtime,就可以在上面執(zhí)行.Net應(yīng)用。一個可管理的.Net應(yīng)用(完全是由可管理代碼組成),只要編寫一次,就能夠在任何支持.Net
的平臺上執(zhí)行。Microsoft.Net的平臺無關(guān)性與Java完全一樣。
● 語言集成
過去,我們可以用不同的編程語言實現(xiàn)對COM的互操作,現(xiàn)在,.Net實現(xiàn)了語言的相互集成。例如,用C++建立一個類,而其基類是VB實現(xiàn)的類,則.Net可以實現(xiàn)這一目標(biāo),因為它定義并提供了一個對所有.Net語言都通用的公共類型系統(tǒng)。
● 公共類型系統(tǒng)
語言集成是在公共類型系統(tǒng)的基礎(chǔ)上實現(xiàn)的,公共類型系統(tǒng)能表示絕大多數(shù)現(xiàn)代編程語言的語法。通過定義一組標(biāo)準(zhǔn)的類型和規(guī)則集,可建立新的類型,Runtime知道怎樣建立和執(zhí)行這些類型(類)。編譯器和解釋器使用Runtime提供的服務(wù)來定義類型、管理對象和進(jìn)行方法調(diào)用,而以前是使用工具或某種語言特定的方法來完成同樣的事情。
● 自描述組件
自描述組件可以大大簡化系統(tǒng)的開發(fā)、配置,并且改進(jìn)系統(tǒng)的可靠性。由Runtime提供的許多服務(wù)都需要元數(shù)據(jù)(metadata)的驅(qū)動,元數(shù)據(jù)是執(zhí)行代碼的附加信息,由于所有的數(shù)據(jù)和代碼都放在一個文件中,因此,這個執(zhí)行文件在.Net中稱作自描述組件。自描述組件最主要的優(yōu)點是使用這個組件時不再需要其他文件。
● 匯編(assembly)
.Net
框架再次提出了匯編的概念。這里的匯編與DOS下宏匯編的概念稍有不同,在這里,一個匯編是資源、類型(類)以及與資源和類型相關(guān)的元數(shù)據(jù)的組合,它們可以被裝配成一個單元(Unit)。元數(shù)據(jù)稱作匯編清單,它包括一些信息,例如對外可見的類型(類)以及資源的列表信息。一個匯編可以專屬于某個應(yīng)用,也可由多個應(yīng)用共享。另外,一個匯編的多個版本也可以同時放在一臺機(jī)器上。
● .Net 安全
Runtime
提供了系統(tǒng)的安全服務(wù),以保證未授權(quán)用戶不能訪問機(jī)器上的資源,并且代碼也不能完成未授權(quán)的活動,這將大大改善系統(tǒng)的安全性和可靠性。由于用Runtime加載代碼、建立對象并實現(xiàn)方法調(diào)用,因此,當(dāng)可管理代碼被加載和執(zhí)行時,Runtime可以進(jìn)行安全檢查和執(zhí)行安全策略。.Net框架提供了兩種安全方案:代碼訪問安全和基于角色的安全。
● 中間語言和JIT編譯器
在.Net中,編譯器產(chǎn)生的可管理代碼并不是x86機(jī)器碼或其他機(jī)器碼,而是Microsoft中間語言(MSIL)代碼。MSIL比大多數(shù)機(jī)器語言的層次高,它懂得對象類型,有建立和初始化對象、在對象上調(diào)用虛擬方法以及直接操縱數(shù)組元素等指令,它甚至有提交和捕捉例外進(jìn)行錯誤處理的指令。MSIL指令不能在CPU上直接執(zhí)行,因此,Runtime引擎必須首先編譯可管理的MSIL指令,使其成為本地CPU指令。
2. Win Forms應(yīng)用模型
在圖2中可以看到,在服務(wù)框架的上方有兩種應(yīng)用模型:Win
Forms應(yīng)用模型和Web應(yīng)用模型。雖然.Net框架的主要目標(biāo)是開發(fā)Web服務(wù)和Web應(yīng)用,但它也可以用來開發(fā)傳統(tǒng)的Windows應(yīng)用,同時這些應(yīng)用也可以使用Web
Services。
在寫Windows客戶端應(yīng)用程序時采用Win
Forms應(yīng)用模型,可以調(diào)用Windows豐富的界面功能,包括現(xiàn)存的ActiveX控件和一些Windows
2000新功能。不管是選擇傳統(tǒng)的Windows方式還是新的Web方式,Win Forms編程模型和設(shè)計支持都是非常直觀的,與現(xiàn)在的Windows窗體方式很相似。
Win
Forms同樣也利用了.Net框架的Runtime引擎,這樣可以減少Windows客戶端應(yīng)用程序的開發(fā)工作量。.Net框架的安全模型保證了在客戶端機(jī)器上能夠安全地執(zhí)行應(yīng)用程序和組件。
3. Web 應(yīng)用模型
Microsoft
.Net框架下的Web應(yīng)用程序模型稱作ASP+。在這個模型中,一個Web應(yīng)用是從一些基URL引伸而來的一組URL,它涵蓋了在瀏覽器中產(chǎn)生顯示頁面的Web應(yīng)用和Web
Services。ASP+是從ASP發(fā)展而來。ASP+充分利用了公共語言運行環(huán)境(Runtime)和服務(wù)框架(Services
Framework),為Web應(yīng)用提供可靠的、堅固的和可伸縮的運行環(huán)境。另外,系統(tǒng)提供的服務(wù)使應(yīng)用的開發(fā)、配置也變得很簡單。ASP+的核心概念是HTTP
Runtime、模塊管道和請求處理器。HTTP
Runtime是基于底層結(jié)構(gòu)建立的高性能HTTP處理運行環(huán)境;模塊管道和請求處理器則增強(qiáng)了系統(tǒng)的靈活性和可擴(kuò)展性。另外,ASP+還對ASP中的三種Web應(yīng)用狀態(tài)管理功能進(jìn)行了增強(qiáng),并提供了緩存服務(wù)。在ASP+編程模型之上,還有以下兩種更高級的編程模型:
● ASP+ Web Forms
Web
Forms的開發(fā)風(fēng)格類似VB窗體的快速應(yīng)用開發(fā)。Web
Forms支持傳統(tǒng)的ASP語法:混合HTML內(nèi)容和腳本代碼,但它也提供了一個結(jié)構(gòu)化的方法,可以將應(yīng)用代碼和用戶界面內(nèi)容分離。新引入的Web
Forms控件提供了一個機(jī)制,即可以將公共用戶界面內(nèi)容打包。這樣,我們可以使用類似VB的工具,以所見即所得的方式完成Web頁面布局開發(fā)。使用控件的一個重要優(yōu)點是讓程序能自適應(yīng)客戶端的特點,這樣,相同的頁面就能適應(yīng)多種不同的客戶端平臺,包括低端瀏覽器的HTML3.2和IE5.0的動態(tài)HTML。
代碼和內(nèi)容的分離使得ASP+頁面可動態(tài)編譯成可管理的類,從而使性能有很大的提高。
● ASP+ Web
Services
ASP+ Web Services編程模型的主要優(yōu)點是簡化了Web
Services的開發(fā),同時,其編程模型也非常類似人們已熟悉的ASP或VB開發(fā)。
開發(fā)者用ASP+建立Web服務(wù)的方法很簡單,通過編寫一個擴(kuò)展名為.ASMX的文件,并且將其配置成Web應(yīng)用的一部分即可。ASMX文件要么包含一個對已定義的可管理類的引用,要么本身有一個類定義,且類是從ASP+提供的Web
Services類中導(dǎo)出來的。
目前,微軟正在積極地實施它的.Net戰(zhàn)略,及早地了解有關(guān)技術(shù)細(xì)節(jié),將會有助于我們開發(fā)出更好的應(yīng)用產(chǎn)品。
- 1EIP 相關(guān)資源
- 2[理論] 信息管理的四種模式:從獨裁走向民主(AMT 石家莊OA信息化研究小組)
- 3源天軟件為特優(yōu)仕照明實施協(xié)同辦公管理系統(tǒng)
- 4關(guān)于資料收集的一些心得(by AMT 羅贊)
- 5知識庫建設(shè)應(yīng)規(guī)避的5點具體誤區(qū)
- 6Sun拒入“WS-I” 不想跟微軟IBM玩游戲
- 7資本的冬天是協(xié)同軟件行業(yè)的春天
- 8ITToolBox KM(by AMT整理)
- 9炎黃盈動AWS石家莊OA信息化應(yīng)用套件
- 10XML Web Service 安全性
- 11Accessing Server Variables From Within Web Services
- 12協(xié)同辦公OA軟件對系統(tǒng)登陸的安全設(shè)置
- 13石家莊OA信息化的基本XML和RDF技術(shù)(六):使用Versa的RDF查詢
- 14大規(guī)模定制時代,知識將會怎樣?(by AMT 夏敬華)
- 15SOAP技術(shù)與B2B應(yīng)用集成--SOAP的型系統(tǒng)和數(shù)據(jù)編碼規(guī)則
- 16石家莊OA信息化與企業(yè)發(fā)展
- 17無SOAP的Web服務(wù),第二部分
- 18在Web Service中使用ASP.net狀態(tài)保持
- 19泛普軟件如何實現(xiàn)知識庫雙機(jī)熱備
- 20走出石家莊OA信息化的迷思(BY AMT 夏敬華)
- 21xml and KM
- 22.NET會取代COM嗎?--準(zhǔn)備Web服務(wù)的未來
- 23OA辦公系統(tǒng)的信息發(fā)布與管理門戶介紹
- 24源天榮獲“2008中國信息產(chǎn)業(yè)年度高成長性企業(yè)”稱號
- 252001年度“世界最受贊賞的知識型企業(yè)”排名揭曉
- 26解讀德魯克
- 27架構(gòu)Web Service:為什么需要Web服務(wù)?
- 28Web服務(wù)準(zhǔn)備:理解和使用Web服務(wù)托管技術(shù)
- 29組織學(xué)習(xí)的五個子系統(tǒng)
- 30如何讓知識員工忠字當(dāng)頭?
成都公司:成都市成華區(qū)建設(shè)南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓
版權(quán)所有:泛普軟件 渝ICP備14008431號-2 渝公網(wǎng)安備50011202501700號 咨詢電話:400-8352-114