開篇:
Empower people through great software -- any time, any place and on any device。
------ 微軟公司宣傳口號
1. .NET的體系結構
整個Microsoft .NET體系由以下三個部分組成:
1).NET框架,包括公用語言運行庫(Common Language Runtime)、系統類庫(Class Libraries)、ASP.NET。
2)Web Services.
3).NET企業服務,包括Biz Talk Server 2000、Exchange 2000 Server、Host Integration Server 2000、Application Center 2000、SQL Server 2000等等。
2.通用語言運行庫, 多語言的跨平臺支持
1) 與平臺和語言無關的數據類型系統。舉個例子,System.INT32是.NET環境中一個整數類型,不論採用何種操作系統,何種芯片指令集,何種編程語言,它都是Int32。作者相信,凡是寫過C的程序員對C中的類型問題都有過苦惱:int型在16位機上是16位的,在32位機上卻不是… .CLR的這種特性,大大方便了不同語言在.NET平臺上的數據和代碼共享。
2) 特有的垃圾回收器(Garbage Collector)自動管理內存資源。讀者也許一想就明白,爲什麼Windows運行完大型任務(比如剛剛玩了一個大型遊戲)之後速度會變慢?原因非簡單,內存被大型程序擠成了碎片,並有大量資量沒有被合理回收。
3) 優化的JIT編譯器。這個編譯器實時地將MSIL中間代碼按目標平臺的情況優化編譯成機器代碼。事實上,.NET程序總是編譯成機器碼後再執行的。這區別於早期的解釋型Java.
4) 擴展的安全措施。CLR會根據複雜的認證機制(基於雙鑰的RSA加密算法)及用戶的要求確定應用程序的可信度,讓它們在不同的安全級下運行。防止惡意程序的破壞活動。
5) 增強的異常處理及Debug功能,面向對象的結構。
Web Service是如何實現的?要回答這個問題,就不得不提到XML和SOAP。首先,在未來的.NET環境上,所有的數據交換都將通過一種叫做XML的基本語義的結構化標記語言,這樣不同服務、資源間的數據交換都不再存在“格式鴻溝”;然後,界面程序、Web Service之間的交互都通過簡單對象訪問協議(Simple Object Access Protocol )來實現,此外,還有一大堆的關於Web Service的標準,如WSDL.、WSML等等,這樣,就能保證未來的軟件開發者能夠用相同的方式開發調用來自全球的各種服務接口,不管它是一個巨型計算機提供的大型數據計算服務,還是一個股票交易所提供的行情信息服務。微軟還聲稱Web Service將支持多種平臺,如Unix等。Web Service 是.NET中的核心概念,是.NET賴以改變未來計算模式的法寶.
2) 軟件業運營模式的革命
.NET還爲軟件業帶來一種新的運作模式,即“軟件租賃”。今天的軟件公司大多靠出售軟件獲取利潤,客戶支付費用以獲得軟件的使用權,軟件最終將安裝在客戶的計算機上。
隨着Web Service的出現,這種維持了幾十年的格局將會被最終打破。微軟預見了“服務”是數字經濟的核心商業模式,因此它將逐步轉換今天依靠銷售盒裝軟件的獲利形式。
“軟件就是服務”(Software Is Service),今後的軟件公司將自己的軟件以服務的形式發佈在網上,客戶可以通過一定的形式訪問其服務,就如同用電、用水一樣,軟件公司則按照服務使用量(如訪問次數,訪問時間等)收取費用。