【正文】
程序在執(zhí)行時(shí)是一致的,不再區(qū)分 Visual Basic 或 C++,它們使用相同的執(zhí)行環(huán)境,即通用語言運(yùn)行環(huán)境( Common Language Runtime, CLR)。它希望不同的語言都能依照通用語言規(guī)范( Common Language Specification)來開發(fā),這樣編譯器便能產(chǎn)生相同的中間語言,不同語言所構(gòu)件的組件就能輕易地使用彼此的資源。 (4) 加強(qiáng)程序執(zhí)行的穩(wěn)定性。 .NET Framework 類庫主要包含了 Web Service、 I/O 處理、 GUI 圖形界面處理、 XML 以及與執(zhí)行相關(guān)的管理等等。數(shù)據(jù)共享用戶應(yīng)用程序可以使用 來連接到這些數(shù)據(jù)源,并能檢索、操作和更新數(shù)據(jù) [2]。 DataSet 對(duì)象可以獨(dú)立于 .NET 數(shù)據(jù)提供程序使用,以管理應(yīng)用程序本地的數(shù)據(jù)或源自XML 的數(shù)據(jù)。 和 .NET 筐架中的 XML 類集中于DataSet 對(duì)象, XML 是 DataSet 所采用的存儲(chǔ)和傳輸格式。 DataSet 可以實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問。 (1) 面向?qū)ο蟪绦蛟O(shè)計(jì) 在 .NET 中, Everything is Object 從變量、系統(tǒng)服務(wù),一直到程序設(shè)計(jì)語言,都完全具備對(duì)象的特性。 凡是 DLL、 網(wǎng)頁( .aspx)或是 Web Services 組件 ( .asmx) ,全部是以復(fù)制 /粘貼的方式發(fā)布,而且在復(fù)制之后,不需任何注冊(cè)程序就可以執(zhí)行使用了。 (5) 數(shù)據(jù)類別檢查 在程序執(zhí)行之前, .NET Framwork 會(huì)檢查所有的對(duì)象或是變量的數(shù)據(jù)類型在傳遞與接收時(shí)是否一致。就像是 Microsoft Inter Explorer 提供的安全設(shè)定一樣 ,讓使用者根據(jù)不同的程序源來設(shè)定程序的執(zhí)行權(quán)限??梢允浅绦虻木S護(hù)更簡(jiǎn)單,可擴(kuò)充性與代碼重用的功能更強(qiáng)。此外,開發(fā)人員將能夠創(chuàng)建高度可伸縮的自由線程代碼,并加入了現(xiàn)代化的語言結(jié)構(gòu),如結(jié)構(gòu)化的異常處理的高度可維護(hù)代碼 [4]。開發(fā)人員可以使用新的關(guān)鍵字 Inherits 來從一個(gè)已有的類進(jìn)行派生。 重載 。 帶參數(shù)的構(gòu)造函數(shù) 。 鉆井生產(chǎn)管理及工程指導(dǎo)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 8 添加了許多額外的結(jié)構(gòu),簡(jiǎn)化了更健壯、更具可伸縮性的應(yīng)用程序的開發(fā)。而當(dāng)開發(fā)應(yīng)用程序時(shí),可伸縮性是關(guān)鍵。 開發(fā)企業(yè)應(yīng)用程序需要構(gòu)造可重用的、可維護(hù)的組件。它的名字就反映了某些問題:正如 Go To 所暗示的,當(dāng)一個(gè)錯(cuò)誤發(fā)生時(shí),控制被轉(zhuǎn)移給子程序中某個(gè)標(biāo)記的位置,一旦錯(cuò)誤代碼運(yùn)行,通常它必須通過標(biāo)準(zhǔn)的 Go To 依靠另一個(gè)清除位置轉(zhuǎn)移,它最終將使用另一個(gè) Go To 或 Exit 來退出這個(gè)過程。 今天, VB 語言在其產(chǎn)生的隱含類型強(qiáng)制方面變得非常自由。選項(xiàng) “Strict”用于處理異常錯(cuò)誤,如當(dāng)數(shù)字類型和字符串之間的自動(dòng)類型轉(zhuǎn)換不是用戶所預(yù)期的時(shí)候, Strict 會(huì)生成錯(cuò)誤,從而提高了類型安全性。一個(gè)共享的數(shù)據(jù)成員獨(dú)立于這個(gè)類的任何一個(gè)具體的實(shí)例而存在。 初始化工具 。 Visual Basic 現(xiàn)在已經(jīng)成了第一流的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。 Web Service 技術(shù)簡(jiǎn)介 Web Service指的是一種基于 Web的分布式計(jì)算技術(shù),很多時(shí)候,又指使用這種技術(shù)的應(yīng)用。達(dá)到這個(gè)新天地的關(guān)鍵在于通用的程序到程序通信模型,該模型應(yīng)建立在現(xiàn)有的和新興的標(biāo)準(zhǔn)之上,例如可擴(kuò)展標(biāo)記語言 (XML),簡(jiǎn)單對(duì)象訪問協(xié)議 (SOAP), Web Service描述語言 (WSDL)以及通用描述、發(fā)現(xiàn)和集成 (UDDI) [68]。Web 服務(wù)是一種無需購買并部署的組件,這種組件是被一次部署到 Inter 中,然后到處可用的一種新型組件,所有應(yīng)用只需要能夠連入 Inter,就可以使用和集成 Web 服務(wù)。 從一個(gè) N 層應(yīng)用程序結(jié)構(gòu)的角度來看, Web Service 只是一個(gè)方便程序訪問的包裝,服務(wù)還是要靠中間件來實(shí)現(xiàn)。 XML是一種元語言,可以用它書寫特定 的語言來描述客戶和服務(wù)之間或者組件和復(fù)雜服務(wù)之鉆井生產(chǎn)管理及工程指導(dǎo)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 10 間的交互。該接口隱藏了實(shí)現(xiàn)服務(wù)的細(xì)節(jié),允許獨(dú)立于實(shí)現(xiàn)服務(wù)基于的硬件或軟件平臺(tái)和編寫服務(wù)所用的編程語言使用服務(wù)。要 實(shí)現(xiàn) 互操作性, Web Service 平臺(tái)必 須 提供一套 標(biāo) 準(zhǔn)的 類型系 統(tǒng) ,用于溝通不同平臺(tái)、 編 程 語 言和 組 件模型中的不同 類 型系 統(tǒng) 。 Web Service 平臺(tái)采用 XML 來表示數(shù)據(jù)的基本格式,采用 W3C 制定的 XML Schema(XSD)作為其數(shù)據(jù)類型系統(tǒng) [11]。這個(gè)客戶端 Stub 會(huì)將這個(gè)本地調(diào)用轉(zhuǎn)換為合適的 SOAP 請(qǐng)求。服務(wù)器 Stub把 SOAP 請(qǐng)求轉(zhuǎn)換服務(wù)器實(shí)現(xiàn)程序能夠理解的形式。 執(zhí)行請(qǐng)求的結(jié)果由服務(wù)器 Stub 處理轉(zhuǎn)換為 SOAP 響應(yīng)。 Web 服務(wù)體系結(jié)構(gòu)基于三種角色 (服務(wù)提供者、服務(wù)注冊(cè)中心和服務(wù)請(qǐng)求者 )之間的交互。服務(wù)描述包含服務(wù)的接口的細(xì)節(jié),其中包括服務(wù)的數(shù)據(jù)類型、操作、實(shí)現(xiàn)研究綁定信息和網(wǎng)絡(luò)位置,還可能包括可以方便服務(wù)請(qǐng)求者發(fā)現(xiàn)和利用的分類及其它元數(shù)據(jù)。同樣,服務(wù)請(qǐng)求者可以從服務(wù)注冊(cè)中心以外的其它來源得到服務(wù)描述,例如本地文件、 PIP 站點(diǎn)、 Web站點(diǎn)、廣告和服務(wù)發(fā)現(xiàn) , Web 服務(wù)發(fā)現(xiàn)。 服務(wù)提供者。從企業(yè)的角度看,這是要求滿足特定功能的企業(yè)。這是可搜索的服務(wù)描述注冊(cè)中心,服務(wù)提供者在此發(fā)布服務(wù)描述。 Web Service 體系結(jié)構(gòu)中的操作包括發(fā)布,查找,綁定。這些操作具體為 : 發(fā)布。在查找操作中,服務(wù)請(qǐng)求者直接檢索服務(wù)描述或在服務(wù)注冊(cè)中心中查詢所要求的服務(wù)類型。在綁定操作中,服務(wù)請(qǐng)求者使用服務(wù)描述中的綁定細(xì)節(jié)來定位,聯(lián)系和調(diào)用服務(wù),從而在運(yùn)行時(shí)調(diào)用或啟動(dòng)與服務(wù)的交互。服務(wù)是一個(gè)軟件模塊,它部署在由服務(wù)提供者提供的可以通過網(wǎng)絡(luò)訪問的平臺(tái)上。服務(wù)描述包含服務(wù)的接口和實(shí)現(xiàn)的細(xì)節(jié)。 操作系 統(tǒng) 離不 開 豐富的 應(yīng) 用 軟 件的支持。 微軟 公司的 .NET 也是比 較 好的基 礎(chǔ) 架構(gòu) 軟 件 開發(fā) 平臺(tái)。 簡(jiǎn)化了客戶的自助服務(wù)體系,讓企業(yè)內(nèi)部各個(gè)職能部門通過一個(gè)“ 窗口 ” 了解客戶,也使得客戶通過一個(gè) “ 窗口 ” 接觸整個(gè)企業(yè),接觸到企業(yè)的新產(chǎn)品和服務(wù)。 由于是于 XML的應(yīng)用, Web Service與生俱來地在擁有 XML帶來的一切優(yōu)勢(shì)的同時(shí),不可避免地繼承了 XML所帶來的一些限制 : Web Service通常需要大量的系統(tǒng)資源。所以 Web Service并不適合用于非常精細(xì)的基于會(huì)話的方法調(diào)用以及復(fù)雜的事務(wù)處理之中。因此,經(jīng)常在轉(zhuǎn)換過程中會(huì)出現(xiàn)語義丟失的情況。技術(shù)的研究表現(xiàn)出濃 厚的興趣。 Web Service實(shí)現(xiàn)是一種軟件模塊,所以通過組建 Web Service來產(chǎn)生 Web Service是很自然的。 企業(yè)級(jí)的應(yīng)用程序開發(fā)者都知道,企業(yè)里經(jīng)常都要把用不同語言寫成的在不同平臺(tái)上運(yùn)行的各種程序集成起來,而這種集成將花費(fèi)很大的開發(fā)的力量。 Web Service 既可以在內(nèi)部由單個(gè)應(yīng)用程序使用,也可通過 Inter 公開以供外部的應(yīng)用程序使用。開發(fā)人員可以用像過去在創(chuàng)建分布式應(yīng)用程序時(shí)使用組件一樣的方式創(chuàng)建將來自各種平臺(tái)的 Web Service 組合在一起的應(yīng)用程序。也就是說,能夠在任何平臺(tái)上,用編程的方法通過 Web 來調(diào)用這個(gè)應(yīng)用程序,進(jìn)行基于 Web 的分布式計(jì)算和處理。在 Microsoft 的宣傳中,Web 服務(wù)被推崇為之所以要采用 .NET 技術(shù)的重要理由 之一。數(shù)據(jù)庫不是這些數(shù)據(jù)的唯一來源,定義數(shù)據(jù)源所使用的 Data Source Configuration Wizard 允許您從三種不同的源獲取數(shù)據(jù) 。不一定非要實(shí)現(xiàn)某個(gè)特殊接口。另一方面,它提供一種靈活而統(tǒng)一的機(jī)制,可非常快速地構(gòu)建功能豐富、運(yùn)行高效的用戶界面。不同的數(shù)據(jù)提供程序也進(jìn)行了抽象,以便在只使用 Dataset 公開數(shù)據(jù)訪問的情況下,只需更改連接字符串并重新生成類就可以更改實(shí)際使用的數(shù)據(jù)庫 [15]。 由于大大減少了應(yīng)用程序宕機(jī)時(shí)間,提高了系統(tǒng)的可伸縮 性和性能,并加以更嚴(yán)格的安全控制, SQL Server 2020 在支持現(xiàn)實(shí)中最苛刻的企業(yè)級(jí)系統(tǒng)要求的道路上,邁出了極大的一步。例如, SQL Server 2020將提供全新的安全認(rèn)證、數(shù)據(jù)加密技術(shù)來加強(qiáng)您數(shù)據(jù)系統(tǒng)的安全性;數(shù)據(jù)庫鏡像、快照、時(shí)點(diǎn)恢復(fù)、實(shí)時(shí)在線管理等諸多功能大大提高了企業(yè)級(jí)系統(tǒng)的可靠性、擴(kuò)展性;而數(shù)據(jù)集成,各種自動(dòng)化管理、調(diào)試和優(yōu)化工具則為您的 IT 管理工作帶來全新的體驗(yàn)。 SQL Server 2020 將提供非常完整的商業(yè)智能套件,包括相關(guān)的數(shù)據(jù)倉庫、數(shù)據(jù)分析、 ETL、報(bào)表、數(shù)據(jù)挖掘的一系列設(shè)計(jì)、開發(fā)、管理工具。 SQL Server 2020 將提供更加 強(qiáng)大的開發(fā)工具和各類新的開發(fā)特性, 在大大提高開發(fā)效率的同時(shí),將進(jìn)一步拓展您的應(yīng)用空間,帶來新的商業(yè)應(yīng)用機(jī)遇。全新的數(shù)據(jù)分析工具和豐富的數(shù)據(jù)挖掘算法將幫助客戶有效進(jìn)行深入的業(yè)務(wù)監(jiān)控分析、決策支持;企業(yè)級(jí)的 ETL 工具將支持各種異類數(shù)據(jù)和復(fù)雜數(shù)據(jù)業(yè)務(wù)的整合;面向終端用戶的報(bào)表設(shè)計(jì)及管理 工具與 Office 的前端集成能夠提供非常靈活的數(shù)據(jù)展示和自由定制功能。 先進(jìn)、一體化的商業(yè)智能平臺(tái)。 安全、可靠、高效的 企業(yè)級(jí)數(shù)據(jù)管理。和以往的數(shù)據(jù)解決方案相比, SQL Server 2020 將給您帶來空前的價(jià)值、超強(qiáng)的功能和激動(dòng)人心的全新體驗(yàn) 。也就是說,就像您可以輕松地將基于 Database 的數(shù)據(jù)源綁定到網(wǎng)格控件或一組控件上一樣,真正來自 Web 服務(wù)或您自定義業(yè) 務(wù)對(duì)象的數(shù)據(jù)也要綁定到控件上。 數(shù)據(jù)源具有事半功倍的作用。 Visual Studio 自動(dòng)生成類型化 Dataset 及 其它 類,并將它們添加到項(xiàng)目。當(dāng)然, Web服務(wù)并不是嚴(yán)格意義上的 COM 對(duì)象,但兩者作用方式類似。 由此一來, Web Service處理商業(yè)事務(wù)的能力將大大增強(qiáng), Web Service在電子商務(wù)的領(lǐng)域中將大有可為。通過將基于 XML 的消息處理機(jī)制,Web Service 客戶端和 Web Service 提供程序之間除輸入、輸出和位置之外無需互相了解鉆井生產(chǎn)管理及工程指導(dǎo)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 14 其它信息。 Web Service 并不追求一般的代碼可移植性功能,而是為實(shí)現(xiàn)數(shù)據(jù)和系統(tǒng)的互操作性提供了一種可行的解決方案。即使是在同一個(gè)平臺(tái)上,不同的軟件廠商生產(chǎn)的各種軟件也常常需要集成起來。企業(yè)內(nèi)部的Web Service可能會(huì)相互合作,從而對(duì)外顯示出一個(gè)單獨(dú)的 Web Service接口,或者,來自不同企業(yè)的 Web Service可以相互合作,從而執(zhí)行機(jī)器到機(jī)器、企業(yè)到企業(yè)的事務(wù)。 一旦 Web Service得到更加廣泛的應(yīng)用,使得各種服務(wù)可以動(dòng)態(tài)查找和定位,這樣就提供了不同設(shè)備之間各種各樣的信息交互方式,將會(huì)大大改變商業(yè)運(yùn)做的模式和信息交流的風(fēng)格。而Web Service的規(guī)范都是基于業(yè)內(nèi)公認(rèn)的標(biāo)準(zhǔn)。因?yàn)樗械臄?shù)據(jù)傳遞都用 XML格式,因此,需要在二進(jìn)制數(shù)據(jù)和 XML數(shù)據(jù)之間有個(gè)轉(zhuǎn)換。到目前為止, Web Service還可以說是一種無狀態(tài)的服務(wù)。 有助于提高企業(yè)效率、決策的質(zhì)量和速度。 .NET 是 微軟 在 Web Service 策略中的核心平臺(tái),它支持所有開發(fā) ,發(fā) 布 ,部署 Web Service 應(yīng) 用所必需的 開 放 標(biāo) 準(zhǔn)和技 術(shù) , 這 特使得它在全球有很多用 戶 。 微軟 公司 能 夠 提供全面支持 Web 服 務(wù) 的 電 子商 務(wù) 基 礎(chǔ)設(shè) 施中 間 件的公司。還可能包括可以方便服務(wù)請(qǐng)求者發(fā)現(xiàn)和利用的分類及其它元數(shù)據(jù)。當(dāng)服務(wù)的實(shí)現(xiàn)中利用到其它的 Web Service 時(shí),它也可以作為請(qǐng)求者。 鉆井生產(chǎn)管理及工程指導(dǎo)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 12 服務(wù)。 綁定。發(fā)布服務(wù)描述的位置可以根據(jù)應(yīng)用程序的要求而變化。必須發(fā)生以下三個(gè)行為 :發(fā)布服務(wù)描述,查詢或 查找服務(wù)描述以及根據(jù)服務(wù)描述綁定或調(diào)用服務(wù)。對(duì)于靜態(tài)綁定的服務(wù)請(qǐng)求者,服務(wù)注冊(cè)中心是體系結(jié)構(gòu)中的可選角色,因?yàn)榉?wù)提供者可以把描述直接發(fā)送給服務(wù)請(qǐng)求者。服務(wù)請(qǐng)求者角色可以由瀏覽器來擔(dān)當(dāng),由人或無用戶界面的程序來控制它。從體系結(jié)構(gòu)的角度看,這是托管訪問服務(wù)的平臺(tái)。但在某些情況下,服務(wù)請(qǐng)求者需要在程序運(yùn)行期間動(dòng)態(tài)地檢索服務(wù)描述,然后使用服務(wù)描述與服務(wù)提供者進(jìn)行綁定并調(diào)用 Web 服務(wù)實(shí)現(xiàn)或同它交互,這時(shí),服務(wù)注冊(cè)中心是必需的 [13]。對(duì)于服務(wù)請(qǐng)求者,當(dāng)采用靜態(tài)綁定時(shí),在應(yīng)用程序開發(fā)時(shí),服務(wù)請(qǐng)求者查找服務(wù)并獲得服務(wù)的描述信息,利用特定的開發(fā)工具生成用于服務(wù)調(diào)用的客戶端 Stub 對(duì)象, Stub 作為客戶端代理負(fù)責(zé)轉(zhuǎn)發(fā)服務(wù)請(qǐng)求并返回處理結(jié)果。在典型情況下,服務(wù)注冊(cè)中心充當(dāng)服務(wù)提供者與服務(wù)請(qǐng)求者之間的中介,為 Web 服務(wù)提供交易場(chǎng)所??蛻舳?Stub 收到 SOAP 響應(yīng)并將它轉(zhuǎn)換為客戶端應(yīng)用可以理解的形式。 服務(wù)器實(shí)現(xiàn)部分收到從服務(wù)器 Stub 轉(zhuǎn)來的請(qǐng)求后,執(zhí)行所請(qǐng)求的工作。 SOAP 請(qǐng)求使用 HTTP 協(xié)議通過網(wǎng)絡(luò)發(fā)送出去。 假設(shè)客戶端已經(jīng)定位了 Web Service,從 WSDL 描述產(chǎn)生了客戶端 Stub,并且服務(wù)端程序也產(chǎn)生了服務(wù)端 Stub。從技術(shù)的角度來看, Web Service 可以被認(rèn)為是一種部署在 Web 上的對(duì)象,因此,具有對(duì)象技術(shù)所承諾的所有優(yōu)點(diǎn);同時(shí), Web Service 的基石是以 XML 為主的,開放 的 Web 規(guī)范技術(shù)。 Web Service 平臺(tái)需要一套 協(xié)議 來 實(shí)現(xiàn)