top
Loading...
ASP+與Java
微軟的MicroSoft.NET 戰略將把計算帶到完全的WEB 時代,而實際上 SUN 公司很早就為Internet 時代準備了Java, java 獲得了業界的廣泛支持,現在許多Web 應用采用java servlet 技術。本文將對MicroSoft.NET 中的ASP+ 與 JAVA 做一個比較,以獲得對于WEB 計算的一個全面的了解一 、先介紹一下ASP+
作 者 : 聯想事業部 李建奇


ASP+ 是MicroSoft.NET 的一部分,作為戰略產品,微軟為ASP+ 設計了這樣一些策略:易于寫出結構清晰的代碼,代碼易于重用和共享,可用編譯類語言編寫 等等,目的是讓程序員更容易的開發出WEB 應用,滿足計算向WEB 轉移的戰略方向的需要。

ASP+ Beta1 已經于2000 年7 月開始測試,下面察看一下它的一些特性。

支持編譯類語言及RunTime 支持比如VB,VC++, C# ,< Script language = “ Vb “ runat = “ server “ >

比script 語言,編譯類語言運行速度快,更適合編寫大型應用。MicroSoft.NET 支持多語言混合編程。Page 在首次裝入時編譯,使得代碼可以在runtime 處理,這一點像vb6.代碼運行在virtual 環境中,類似java 的virtual machine。

WEB Form

ASP+ WEB Form 提供了像VB Form 一樣的編程習慣,可以觸發server 端 events 。Web form 中可以布置 web control。

Page Events

ASP+ 的設計是 object oriented ,Page object 是最頂端的 object ,Web control ,application 和自定義的page ,都從page object 繼承下來。Page object 有 OnLoad 等事件。

Web Controls

ASP+ 將提供5 類Web controls:

與 HTML 中的 FORM 元素對應的Control,比如:button ,text

list 類 control ,比如 Repeater ,DataList ,DataGrid ,

Rich Control

Validation Controls

Mobile Controls ,為WAP 設備提供 WML 。

開發 Web Services

Web Services 允許系統向 Web 輸出函數 ,輸出方式是 URIs ,調用之后返回 XML.

比如:

< % @ WebService Language = “ c# “ % >

using system.web.services;

public class Shipping{

[webmethod]

public string OrderStatus ( string OrderNumber ){

//代碼

}

}

調用: http://orders/tracking.asmx/OrderStatus?OrderNumber=BRU123

調用協議可以用 HTTP-GET ,HTTP-POST ,HTTP-SOAP.

Web Service 為 WEB 系統集成,為基于 WEB 的分布式計算提供了良好的框架。

Caching 改進

ASP+ 提供cache API ,程序員可以控制Cache 的使用,在某些情況下,可以編寫性能更好的應用。

Debugging 和 Tracing

ASP+ 內建的 Debugger 支持多語言混合編程,可以像 VB 中一樣調試程序。增加了Trace 和 profiler 的功能。

分離代碼與HTML 模版

代碼可以放在 class 模塊中。

分離的好處 ,便于程序員與頁面制作人員獨立工作,也便于代碼共享。

模塊化的支持,是編寫大型應用程序的必備,ASP+ 的模塊化支持非常好。提供了常用庫,比如 SMTP SendMail ,提供了結構化的代碼組織方式 ,比如

< % @ Import NameSpace = “ system.asp.util” % > ,引用了util 包。

配置和實施

ASP+ 的配置信息放在 XML 文件中,而不是注冊表中, 實施ASP+ 應用,只要把程序拷貝到一個目錄,不需要注冊任何對象。因為注冊有時候需要原有的服務STOP ,等一系列問題。這真是非常好。

ASP+ 支持編譯過的程序的運行,可以保護技術秘密。

縱觀以上特性的介紹,ASP+ 改進了很多ASP 的問題,對于熟悉VB 、VC 或其他傳統開發平臺的程序員,ASP+ 提供了一樣好的開發Web 應用的平臺,可以說ASP 是基于Script 的,而ASP+ 基于完整的OO 程序設計思想。ASP+ 對于WEB Service 的支持,使得Web 應用的集成非常方便。


二、與JAVA 的比較
作 者 : 聯想事業部 李建奇


JAVA 這種語言,偶然成為了當前Web 計算的主要語言,獲得了廣泛的業界支持,它potabale ,良好的oo 屬性 ,是互連網計算的強大的粘合劑。下面從兩個方面觀察一下java與微軟的solution 的差別。

業界支持

IBM 的“e-business application framework“架構在Java,xml,corba ,IBM 有VisuageAge,WebSphere 作為web 開發的工具。Ibm 認為選擇application framework 有幾個原則:不依賴于特定的平臺,建立在工業標準之上,大部分計算放在server 端,scalable 等。

由于Oracle,sybase, 等業界廠商的廣泛支持,java 可以說是web 計算事實上的工業標準。Java 的package 也豐富起來,支持各種應用的開發。

開發模型

國內的軟件廠商在向Web 計算遷移的時候,大多選擇了java ,比如核心證券交易系統,用友財務系統,南北財務軟件。核心軟件和南北財務系統,用applet 開發客戶端界面,使用起來與傳統的軟件沒有什么差別。

可以說,目前采用 html 開發界面復雜的應用尚不是很合適,這是選擇java applet 的理由。那么,ASP+ 出來之后,開發復雜的基于server 的應用要方便的多。

目前采用applet 的應用,把很多計算邏輯方在客戶端,這種方式尚不是未來的計算集中在server 端的方式。也許,java 也會推出新的package 支持這種應用。

在server 端,java 采用 servlet、java bean ,ASP 采用Script、com 組件,目前的計算模式相類似。

ASP+ 中提到的web service 集成的方式,目前微軟力推SOAP、 UDDI 。但是,這些是建議成為w3c 標準,不依賴于特定的平臺。

從以上關于業界支持、開發模型的觀察,可以說java 目前更適合廣泛的web 計算。同時,我們期待ASP+ 的到來,期待更好的WEB 計算模型的到來。

參考資料:

1、《Active Server Pages+: ASP+ Improves Web App Deployment, Scalability, Security, and Reliability》

-------September 2000 issue ,MSDN Magazine

2、《Building e-business applications 》 ,IBM Solution Developer Program

北斗有巢氏 有巢氏北斗