解讀軟件測試開發技術.NET架構核心開發技術(2) .NET網站架構
關鍵字:.net Web XML SOAP .net核心
在通訊層上達成協議的優勢是顯而易見的。例如,協議能夠使接收方隨時作修改而無須中斷發送方,只要該協議始終明白是同一條消息。接收方不用中斷任何當前應用程序,可以自由升級和改進。更進一步說,就是發送方不用要求任何特殊的軟件就可以和接收方交談,只要他發送的是符合格式的信息,接收方就可以作出應答。
XML的通訊基礎:SOAP
建造跨越Web的 Web服務的工作和異步系統的關鍵是使用統一的數據說明格式,這就是XML。特別說明的是,Web服務器在三方面需要XML來實現:基礎語言、服務說明以及服務發現。
●SOAP:系統在底層需要有統一語言,特別地,應用程序相互通訊需要建立一套規則來說明如何表示不同數據類型(如整數和數組),如何表示命令 (如進行數據處理)。同時,應用程序在需要時還可以擴充這種語言。簡單對象存取協議SOAP(Simple Object Access Protocol),這是XML的一種實現,代表了一組如何表示和擴充數據和命令的規則集。
●WDSL(Web Services描述語言) :一旦應用程序有了如何表述數據和命令的基本規則,他們就需要如何描述可以接收的特定數據和命令。應用程序只是聲明如何接收整數是不夠的,他們必須用明確的方法聲明。如給你兩個整數,把它們相乘。WDSL是一種XML語法,開發人員和開發工具可以用它來表示Web服務的功能。
●SOAP Discovery:最后需要一組規則來定位服務的描述――對于開發者和開發工具在什么地方可以發現一個Web服務。SOAP Discovery規范提供了一組規則讓開發者和開發工具可以自動發現Web服務的描述。
一旦這些準備好了,開發者可以方便地發現Web 服務,把它作為一個對象集成進他們的應用程序,并使應用程序和Web服務相互通訊。
.NET框架:Web服務引擎
很顯然,許多基本結構都需實現上述進程對開發人員和用戶的透明化。.NET框架(.NET Framework)提供此基本結構。從.NET框架角度看,所有組件都可以是Web服務,而Web服務也僅是一種組件。實際上,.NET框架提取出微軟組件對象模型(COM)的精華,將它們與松散聯接計算的精華有機地結合在一起,生成了強大、高效的Web組件系統:簡化程序員的“管道”操作,深入地集成了安全性,引進了基于互聯網的操作系統,極大地改善應用程序的可靠性和可擴展性。
.NET框架由三個主要部分組成:通用語言運行庫、一套層次結構的統一類庫和一個被稱為ASP+的高級ASP版本。
有關.NET的許多東西讓人印象深刻,尤其是微軟充分傳達出的對互聯網作為未來主要技術平臺的首肯,和在某些方面對公開的標準的歡迎。
.NET的確牽動著每個人的猜測……
1.通用語言運行庫
除了通用語言運行庫的字面含義外,在開發階段和運行過程中它還扮演著另一個角色。在組件運行時,運行庫負責管理內存分配、啟動和中止線程和進程、強化安全系數,同時還調整任何該組件涉及到的其他組件的附件配置。在開發階段,運行庫的角色稍微有點變化:因為很多方面可以自動實現(例如內存管理等)。運行庫可以使開發過程變得非常簡單,特別是同今天的COM編程相比更是如此。特別典型的是,像Reflection這樣的特性可以極大地縮小開發人員將商業邏輯轉化成一個可重復使用的組件而不得不編寫的代碼數量。
運行庫對于編程語言來說并不是新鮮的東西。實際上每一種編程語言都已包含一個運行庫。Visual Basic開發系統有最明顯的運行庫(正規名字為VBRUN),Visual C++也有一個MSVCRT,此外,像Visual FoxPro、Jscript、SmallTalk、Perl、Python和Java等等都如此。.NET框架的關鍵角色就是它提供了一個跨所有編程語言的統一環境。
2.統一編程類
.NET框架類為開發人員提供了一套可以使用的統一的面向對象、異步、層次結構的可擴展類庫,F在,C++的使用者使用Microsoft Foundation Classes,Java程序員使用Windows Foundation Classes,Visual Basic的用戶使用Visual Basic APIs。微軟用.NET框架統一了這些不同的框架。結果是,開發人員不用非去學多個框架來完成自己的工作。而且,通過創建一套跨編程語言的通用 API,.NET框架可以實現跨語言繼承、糾錯處理以及程序調試。實際上,從JScript 到C++的所有編程語言,對于.Net框架都是相互等同的,開發人員可以自由地選擇他們想使用的任何語言。
.NET是一種全新的平臺,它將對現有的所有代碼產生影響。蓋茨說:“微軟所有的產品都會被涉及。我們的整個戰略是圍繞這個平臺展開的!
文章來源于領測軟件測試網 http://www.kjueaiud.com/