熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

基於.NET架構的核

2022-06-13   來源: Java核心技術 

  不可否認應用軟件的開發正在經歷一次巨變——將最終增強開發人員的生產力並開啟一道通向全新概念的應用程序的大門
  
  新型的開發模式正逐漸被推廣將分發軟件演變成一種服務還有待於所有開發人員的共同努力而互聯網卻將徹底改變應用程序的開發模式和配置方式
  
  傳統上軟件開發人員通過集成本地系統服務的方式開發應用程序這種模型使開發人員有權使用一整套豐富的開發資源精確控制應用程序的性能
  
  如今開發人員在很大程度上已掙脫了這種模式的束縛致力於構建具有復雜結構的n層系統這種系統能將網絡中各處的眾多的應用程序進行集成並大大提升應用程序的價值這樣開發人員便可集中精力挖掘軟件獨特的商業價值而不必日夜為如何構建基本結構傷腦筋了令人欣喜的局面將應運而生軟件投放市場的時間大大縮短開發人員的編程效率明顯提高最為根本的是開發出質量上乘的軟件
  
  我們正在進入計算機發展的下一個階段——基於Internet的階段特別是基於Internet核心技術——XML擴充標記語言盡管多層應用程序開發將焦點集中在建造大型企業級應用程序上但現在XML使得能夠創建可用於任何人任何場所的大型應用程序它擴大了應用程序的使用范圍這樣軟件就不是只能從CD上安裝的某種東西而是一種服務——就像呼叫服務或者計費電視一樣可以通過通信媒體來預訂
  
  這一切是通過將緊密聯接的高效的n層計算技術與面向消息的松散聯接的Web概念相結合來實現的我們將這種計算風格稱為Web Service(Web服務)它的出現標志著人類已經邁入應用程序開發技術的新紀元Web服務是一種應用程序它可以使用標准的互聯網協議像超文本傳輸協議(HTTP)和XML將功能綱領性地體現在互聯網和企業內部網上
  
  我們也可將Web服務視作Web上的組件編程
  
  從理論上講開發人員通過調用Web應用編程接口(API)將Web服務集成進他們的應用程序就像調用本地服務一樣兩者區別在於前者能夠通過Internet發送到某個遠程系統的服務上例如像微軟護照(Microsoft Passport)這樣的服務可以給開發人員提供應用程序身份確認的功能通過對護照服務編程開發人員就可以利用護照服務的基礎體系實現維護用戶數據庫確信服務開啟和運行以及正確地備份等等功能
  
  ■松散聯接
  跨越網絡的分布應用程序邏輯的概念並不是一個新名詞但跨越Web的分布和集成應用程序邏輯的概念卻是
  
  此前像微軟的DCOM (Distributed Component Object Model )Object Management Group公司的CORBA (Common Object Request Broker Architecture )以及Sun公司的RMI(Remote Method Invocation )這些分布式對象模型被稱為分布應用程序邏輯運用這些系統結構雖然服務放在遠程系統上開發人員仍然可以像原來本機編程那樣維護和豐富應用程序的功能
  
  但這種系統的問題是不能擴展到Internet因為該體系的基礎是服務器上的客戶端和服務器的緊密聯結這意味著兩者必須是同質的基礎體系但也就常常意味著這種系統是非常脆弱的如果有任何一端接口發生變化另一端程序必然就會被中斷舉個例子如果服務器應用程序的接口改變了那麼客戶端也將會失效
  
  開發中要求有一個緊密聯接的系統這本身沒有錯而且許多應用程序也一直就是建立在這些系統上的但最終隨著時間的流逝這種模型是不會擴展的因為眾多公司企業要求相互溝通這很難保證會有一個統一的系統同樣也很難保證你的客戶的服務器會有你所需要的完全一致的系統你甚至都不可能猜想到它所用的是什麼操作系統什麼對象模型和什麼編程語言
  
  相反Web服務的聯接非常松散這就意味者你可以在聯接的任何一端任意改變接口而應用程序可以不受影響地照常工作從技術上說這主要是由於使用了擁有穩固性能的基於消息的異步技術如像HTTPSMTP等Web標准協議而且最重要的是XML可以幫助實現其通用性
  
  作為一個宏偉的計劃NET的路還很長今後的發展無論是崎岖坎坷還是一片光明在對新技術和IT產業的推動上微軟都是功不可沒的
  
  消息系統將通信的基本單元打包進自描述的運用於網絡通信層的包(被稱做消息)消息系統和分布式對象系統的關鍵區別在於發送者需要對接收者的系統了解多少使用分布式的對象系統發送者需要幫助接收者考慮許多問題比如應用程序將如何激活和卸載調用的是什麼接口等等
  
  另一方面消息系統在通訊層上達成協議發送者只需考慮的是接收者能夠知道信息正被發送發送方不需要了解一旦消息被收到後將會如何處理也不需要對發送方和接收方之間作任何考慮
  
  在通訊層上達成協議的優勢是顯而易見的例如協議能夠使接收方隨時作修改而無須中斷發送方只要該協議始終明白是同一條消息接收方不用中斷任何當前應用程序可以自由升級和改進更進一步說就是發送方不用要求任何特殊的軟件就可以和接收方交談只要他發送的是符合格式的信息接收方就可以作出應答
  
  ■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的確牽動著每個人的猜測……
  
  通用語言運行庫
  
  除了通用語言運行庫的字面含義外在開發階段和運行過程中它還扮演著另一個角色在組件運行時運行庫負責管理內存分配啟動和中止線程和進程強化安全系數同時還調整任何該組件涉及到的其他組件的附件配置在開發階段運行庫的角色稍微有點變化因為很多方面可以自動實現(例如內存管理等)運行庫可以使開發過程變得非常簡單特別是同今天的COM編程相比更是如此特別典型的是像Reflection這樣的特性可以極大地縮小開發人員將商業邏輯轉化成一個可重復使用的組件而不得不編寫的代碼數量
  
  運行庫對於編程語言來說並不是新鮮的東西實際上每一種編程語言都已包含一個運行庫Visual Basic開發系統有最明顯的運行庫(正規名字為VBRUN)Visual C++也有一個MSVCRT此外像Visual FoxProJscriptSmallTalkPerlPython和Java等等都如此NET框架的關鍵角色就是它提供了一個跨所有編程語言的統一環境
  
  統一編程類
  
  NET框架類為開發人員提供了一套可以使用的統一的面向對象異步層次結構的可擴展類庫現在C++的使用者使用Microsoft Foundation ClassesJava程序員使用Windows Foundation ClassesVisual Basic的用戶使用Visual Basic APIs微軟用NET框架統一了這些不同的框架結果是開發人員不用非去學多個框架來完成自己的工作而且通過創建一套跨編程語言的通用APINET框架可以實現跨語言繼承糾錯處理以及程序調試實際上從JScript 到C++的所有編程語言對於Net框架都是相互等同的開發人員可以自由地選擇他們想使用的任何語言
  
  NET是一種全新的平台它將對現有的所有代碼產生影響蓋茨說微軟所有的產品都會被涉及我們的整個戰略是圍繞這個平台展開的
  
  ASP+
  
  ASP+是使用 NET框架提供的類庫構建而成的它提供了一個Web應用程序模型該模型由一組控件和一個基本結構組成有了它Web應用程序的構建變得非常容易開發人員可以直接使用ASP+控件集該控件集封裝了公共的用於超文本標識語言(HTML)用戶界面的各種小組件(諸如文本框下拉選單等等)實際上這些控件運
From:http://tw.wingwit.com/Article/program/Java/hx/201311/25991.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.