新增支援智慧型行動裝置
進入最後測試階段的Microsoft Visual Studio .NET 2003,將於5月與Windows Server 2003同步推出。單一程式撰寫模式、單一開發工具及單一技術學習是微軟對Visual Studio .NET的策略,希望降低開發人員的學習曲線,將心力專注於企業與客戶的需求。
Visual Studio .NET 2003 Final Beta新增支援智慧型行動裝置、IPv6通訊協定及Web Services的WSE(Web Services Enhancements)標準,並提升執行效能與安全性。.NET Framework 1.1與.NET Framework 1.0的應用程式可相容並存,Visual C++ .NET新增Windows Form設計工具,而新增的Visual Studio J# .NET,可轉換Java程式至.NET。
以往開發行動裝置應用程式並不容易,資訊人員必須接受額外的教育訓練,學習全新的開發工具例如Java。Visual Studio .NET 2003結合.NET Compact Framework,讓開發人員運用既有的技術和經驗,以統一的程式撰寫模式,開發Windows、Web與智慧型行動裝置應用程式。
過去開發行動裝置的Web應用程式,需自行下載MMIT(Microsoft Mobile Internet Toolkit)控制項,ASP.NET已經內建這些行動控制項,開發人員新增ASP.NET Mobile Web Application專案,即可針對行動電話或PDA(Personal Digital Assistant;個人數位助理)撰寫程式,使Web的應用更為廣泛。目前行動控制項支援超過200種以上行動裝置,未來會持續推出各類控制項以滿足各式新款手機的需求。
增強支援標準化並提升效能
應用程式透過Web Services可跨越平臺及程式語言的藩籬,以Visual Studio .NET 2003使用Web Services非常簡單,只要點選專案名稱,按滑鼠右鍵選「Add Web Reference」,即可尋找企業內外的所有Web Services,並加入現行的專案中。其實其中的過程很複雜,不過Visual Studio .NET 2003簡化使用者介面,讓使用者可輕易套用Web Services。
隨著Web Services的持續演進,為確保各家開發的Web Services,可以互通並確保安全性,由微軟、IBM、惠普、英特爾及Oracle等公司組成的WS-I(Web Services Interoperability Organization;網路服務相容組織),便著手擬訂企業使用Web Services標準方法,使Web Services一致性及標準化。最新通過的 WSE(Web Services Enhancements)包括:WS-Security、WS-Routing、WS-Attachments及DIME(Direct Internet Message Encapsulation)。
WS-Security是SOAP訊息的數位簽章和加密的標準;WS-Routing是SOAP路由的規格;WS-Attachments則是SOAP附加檔案的方法。過去Web Services沒有標準化的規格時,使用Web Services互通資料的雙方,必須先協調定義Web Services交易語意,各家Web Services可能都有不同的規格,這樣就失去Web Services跨企業、跨平臺及跨程式語言的意義。有了公開的標準之後,大家便可遵循相同的規格,達到透通使用的方便性,有助於Web Services的推廣。
為支援WSE標準,Visual Studio .NET 2003推出Web Services Enhancements Kit,不但開發人員可使用WS-Security規格所定義的機制,加密SOAP訊息,確保Web Services的安全性。以往在Web Services附加文件沒有固定的方法,通常是將文件轉成文字檔包在SOAP裡,對方接收SOAP之後,再還原成二進位元碼(Binary Code)。遵循WS-Attachments規格,便提供標準的方法,也提升執行效能。由於WSE是針對開發人員提供的機制,.NET Framework 1.1並未內建WSE Kit,Visual Studio .NET 2003 Final Beta則另附一片WSE光碟,安裝後便可使用WSE的功能。
近幾年來由於網際網路蓬勃發展,IP位址的需求量大增,因此IP位址的發放愈趨嚴格,只得使用IP分享器或是利用IP位址轉換機制。根據各項資料顯示,全球IPv4(Internet Protocol version 4)位址可能在2005至2008年之間全部用完。為解決IPv4面臨的位址耗盡、安全性、自動組態及擴充性等問題,便有了新一代IPv6通訊協定的產生。Visual Studio .NET 2003全新支援IPv6,IP位址由32位元增加為128位元,能夠提供更優質的定址能力、路由效能及安全性機制。
網路部署與維護能力,賦予Windows Form新生命
對於架構較為複雜的應用程式,以主從架構的設計,較能提供高效能的服務,並支援滑鼠拖放、安全的檔案存取及親和的使用者介面。但是管理及部署應用程式的挫敗經驗,和無法滿足隨時隨地的工作需求,讓Web架構的解決方案,逐漸取代主從架構Windows應用程式的地位。
為解決用戶端應用程式發展受限的問題,Visual Studio .NET 2003提供新的部署與維護功能,Windows Form也可與Java Applet一樣,透過網路下載應用程式。首次部署或更新應用程式時,在瀏覽器輸入網址,即可下載應用程式,但不是一次下載所有的應用程式,僅傳送需要使用的功能。透過網路自動部署及更新應用程式,耗費時間較本機安裝長,但可解除逐臺安裝的痛苦。程式下載完成之後,執行效能較Web應用程式佳。
Java Applet的執行效能一直是為人所詬病的部分,Windows Form與Java Applet的差別在於,Java Applet將所有程式編譯之後才開始執行;Windows Form則是一邊執行一邊編譯,且.NET將程式碼編譯成IL-Code(Intermediate Language),較Java P-Code更接近原生機器碼,所以執行效能較佳。若Windows Form僅應用於主從架構,部署應用程式也可結合網際網路,當使用者連結到指定網址,即提供自動部署的安裝執行檔連結,資訊人員不再需要製作安裝光碟,走訪各部門逐臺安裝應用程式。
為防止應用程式因檔案損毀或中毒而無法正確執行,例如檔案被木馬程式病毒刪除,或被有心人士更換成相同檔名卻不同作用的檔案。Windows Form提供SN(Strong Name;強式名稱)的機制,開發人員先產生一組金鑰檔案,建置應用程式時加入金鑰檔案,再以gacutil(Global Assembly Cache Utility,公域組件快取)將金鑰檔案存放在快取記憶體內,應用程式執行時便會自動檢查金鑰是否正確,若不正確便自動更新檔案內容。當Windows Form不只是主從架構的產品,也可整合網路成為Web架構的應用程式,不再有安裝部署及版本控制的問題,便有重新掘起的契機。
中介碼讓應用程式可跨平臺,卻也容易被解譯
程式語言的升級
NET所有的程式語言在編譯時,都將程式碼編譯成MSIL(Microsoft Intermediate Language;中介語言),也就是IL-Code,真正執行時才轉成機器碼。Java程式也是一樣的原理,將程式碼編譯成P-Code(Pseudo-Code;虛擬碼),.NET的IL-Code和Java的P-Code都是中介碼。中介碼的缺點是會影響執行效能,優點除可跨平臺之外,同一套程式碼以中介碼型式,可部署到桌上型電腦或PDA,執行時各平臺的編譯器再以不同的機制,轉換成可執行的機器碼,還可依程式語言的特性,撰寫適合的功能,例如以Visual C# .NET撰寫程式核心部分,以Visual Basic .NET撰寫前端資料展現的部分。
中介碼的另一個缺點是容易被解譯,Visual Studio .NET 2003也有包含Dotfuscator,是解譯程式碼的工具IL DASM(Intermediate Language Disassembler),雖不能還原成原本的程式碼(Source Code),不過大致可以看出應用程式的結構,及類似組合語言的程式內容。一般除非客戶付費技術移轉,否則資訊廠商不希望客戶看到應用程式的程式碼,Visual Studio .NET 2003提供反解譯(Obfuscator)的功能,有了這層保護即使客戶自行解譯中介碼,看到的也是很難了解的內容,便可保障開發者的智慧財產權。
微軟針對Java開發人員移植至.NET環境的JUMP(Java User Migration Path)策略,除原有的JLCA(Java Language Conversion Assistant)之外,Visual Studio .NET 2003新增Visual J# .NET語言。原Visual J++及使用Java語言的開發人員,可將程式碼轉換到Visual J# .NET,既可使用原有的Java技術,更提升開發及使用Web Services的便利性,使用Java JDK 1.1.4及1.2類別庫和Visual J++ 6.0的程式碼,轉換至Visual J# .NET可完全相容。
在Visual J#推出之前,可使用JLCA將程式碼轉為Visual C# .NET。Visual C# .NET與Visual J# .NET兩者非常類似,差別在於Visual J# .NET是Java語言的.NET工具,而Visual C# .NET是類似C、C++與Java的新語言。Java程式碼要轉換為C#還是J#,取決於開發人員希望繼續使用的Java語言,或學習新語言。雖然.NET以簡便的Web Services機制,吸引Java開發人員的注意,但依目前.NET與Java兩大陣營壁壘分明的局面,仍以Visual J++升級至.NET的可能性居多。
至於.NET平臺的應用程式,.NET Framework 1.0與.NET Framework 1.1的應用程式可以並存,原Visual Studio .NET 2002開發的應用程式預設以.NET Framework 1.0執行,可選擇以.NET Framework 1.1建置(Build)。.NET Framework 1.1比.NET Framework 1.0的安全性預設值控管更為嚴謹,所以Visual Studio .NET 2002的應用程式若沒有仔細設定預設值,以.NET Framework 1.1執行時會有問題。
Visual C++是功能強大的工具,但由於學習門檻高,所以不像Visual Basic一樣普及。Visual Studio .NET 2003的Visual C++ .NET,有了大幅度的升級,提供Windows Form的設計工具,並加強浮點與最佳化效能。以往開發人員以Visual C++設計應用程式介面,必須花費許多時間,有了Windows Form設計工具之後,就可以和Visual Basic一樣,以拖/放的方式,輕鬆製作使用者介面。
UML可依專案大小選擇Visio或Rational的產品
Java的開發工具多強調UML塑模的功能,Visual Studio .NET 2003目前內建Visio提供協助開發人員視覺化的設計工具。Visio是比較輕巧的工具,若需要較嚴謹的塑模工具,可選擇Rational XDE Professional .NET Edition。
Visio與Rational XDE Professional .NET Edition各有優點,設計好專案模型,Visio可同步建置程式碼,但若修改程式碼或UML流程,Visio不會相對改變。而且Rational XDE Professional .NET Edition可將應用程式依功能細分為數個圖表,Visio只能規畫在同一個圖表,較適合小型方案。但Rational XDE Professional .NET Edition 較針對程式開發的輔助功能,而Visio可結合資料庫,同步建構資料庫表格與欄位。
微軟對於Visual Studio .NET的開發環境及Web Services,持續推出人性化的設計,但是對於UML塑模部分似乎著墨較少。雖然Rational已被IBM併購,但仍是微軟的合作夥伴,整合塑模工具市佔率第一的Rational產品,可算是補足了Visual Studio .NET開發工具的完整性。Rational XDE Professional .NET Edition已與Visual Studio .NET 2003完全整合,在開發環境中使用Rational XDE感覺像是Visual Studio .NET 2003的一部分。文⊙李延華
熱門新聞
2026-01-12
2026-01-12
2026-01-12
2026-01-12
2026-01-12