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

.NET的“無觸式”配置:一個新的開發趨勢

2013-11-23 19:03:46  來源: Java核心技術 

  在過去的幾年時間裡我們見證了軟件開發團隊從Windows開發平台到Web開發技術(包括HTMLASPJSPDHTMLColdFusion和PHP等等)的大規模遷移直到目前為止Web開發的好處還沒有受到批評
  
  最近微軟公司的NET平台發布了一個名為非接觸配置(No Touch DeploymentNTD)的新技術NTD技術會讓大批開發者從Web開發回到Windows窗體開放——NTD應用程序可以在Internet上運行而無需接觸用戶機器它提供了Web開發的所有優點而無需犧牲用戶界面設計也沒有Web開放所帶來的困難現在天平又開始向微軟公司這一側傾斜了你的下一個項目可能完美合適NTD
  
  Web開放的優點
  
  在介紹復雜的NTD技術之前讓我們先討論一下Web展開模型的優點和缺點它的優點主要體現在兩個方面配置的成本和目標機器
  
  配置成本
  
  配置Windows應用程序相對來說要付出更多的努力Windows應用程序在初始安裝隨後的升級以及對客戶機器的總體管理等方便的成本是驅動我們選擇Web程序的原因之所在
  
  目標機器不受影響
  
  Web展開模型使得客戶機器的性能對Web應用程序的影響很小(即客戶)只要考慮客戶端的浏覽器就可以了這一點非常有利因為它不要客戶安裝任何軟件就可以運行應用程序由於目標機器不被觸及用戶在運行他/她不太信任的應用程序時也不會感覺別扭它降低了成功運行某個程序所需要經驗的要求
  
  第三個好處就是它的開發是平台無關的與各種浏覽器之間戰爭無關但是專有技術(如HTML擴展COMActiveX和XML數據島等)極大破壞了這個優勢事實上除非你的網站全部用HTML實現否則你的開發必須針對特定浏覽器然後期望其它浏覽器也支持你的Web應用程序
  
  Web開發的缺點
  
  Web應用程序所帶來的優點並不是沒有付出代價的實際上Web應用程序也有幾個很明顯的缺點如有限的用戶體驗(user experience)很難讓人信服Web可以提供比Windows應用程序更豐富的用戶界面Web目前已有的控件和Windows比起來是非常有限的在Windows應用程序中實現滑動塊控件spin框和顏色框很容易但是在Web應用程序卻是另一回事了
  
  非接觸配置
  
  一年前我不願意涉及除基於Web(即HTMLASPNET等)之外的其它項目現在我接觸了好幾個Windows表單應用程序的開發這些應用程序的用戶是網絡用戶它們用到了NTD技術有些人喜歡把NTD與Java Web Star相對比它們在某些方面也確實有相似之處不過NTD技術提供了完整的可配置的代碼訪問安全機制(code access securityCAS)就這一點來說它的功能比Java Web Start更強大
  
  代碼訪問安全(CAS)
  
  按照微軟的說法CAS是通用語言(common language)所提供的一種機制被管理的代碼由安全策略授予一定的許可許可是強制的限制了代碼所允許執行的操作范圍
  
  為了充分獲取NTD的優點理解CAS是必不可少的這是因為在Internet上展開的應用程序需要在客戶機器上獲得必要許可才可以正確執行
  
  非接觸展開的例子
  
  讓我們看看一個例子其中可執行代碼駐留在本地機器的Web server中CAS給予駐留在本地機器上的所有可執行代碼以全部權限這與從另一台機器上下載可執行代碼的情況不同所以當你配置(deploy)你的應用程序時你將配//localhost
  
  假設希望允許用戶使用Windows應用程序來注冊會議該應用程序暫時不再做任何有用的事也不與server進行通信因為它請求Web服務該應用程序只是簡單的給出了一個帶有按鈕的頁面當你點擊按鈕時它顯示出Hello一旦該程序編譯後可執行的CodeConferenceRegistrationexe將作為一個IIS server被拷貝用戶可以在IE地址欄中輸入浏覽該可執行代碼的效果
  
  IE可以識別exe擴展名可執行代碼通過http下載通用語言在運行時刻執行該程序當然在沒有正確配置的情況下CAS將限制她的運行
  
  
  
  仍有懷疑
  
  不可避免的那些宣稱Java Applets以及Java Web Start已經嘗試過配置計劃但這兩者都沒有成功的人會懷疑它不會占據很大的市場份額持懷疑態度的人提出問題本身並沒有錯但是現在的情況和Java Applets出現時的情況不太相同了
  
  由於Applets需要較高的帶寬(那時的情況和現在不同家庭寬帶網尚不普及)所以它沒有推廣開來此外用來實現客戶端和服務器通信的技術也沒有Web服務那樣成熟NTD的另一個缺點就是它要求客戶端機器上也安裝NET框架而由於NET應用程序需要在運行時使用通用語言偏偏大多數客戶端機器又沒有安裝NET框架但隨著時間的流逝情況正在好轉
  
  

From:http://tw.wingwit.com/Article/program/Java/hx/201311/26208.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.