XML Web服務(wù)并未成為普及.NET的導火索
此前人們一直在想:“對.NET來(lái)說(shuō),是否存在不同于Java的、獨特的應用領(lǐng)域和市場(chǎng)?”。
業(yè)內普遍認為,微軟新一代系統構筑環(huán)境--.NET Framework是在研究Java的基礎上開(kāi)發(fā)出來(lái)的。不僅功能和架構相似,而且由于是在Java之后開(kāi)發(fā)出來(lái)的,因此Java所沒(méi)有的功能更是隨處可見(jiàn)。比如在Web應用中實(shí)現事件驅動(dòng)型應用程序功能等。
不過(guò)雖說(shuō)如此,如果只是告訴用戶(hù)“.NET Framework比Java好得多”,那么Java開(kāi)發(fā)人員特意轉而使用.NET Framework的動(dòng)機不會(huì )太強。
由于Java已經(jīng)先行積累了廣泛的應用成果,積累了很多足以彌補其缺點(diǎn)的經(jīng)驗以及平臺工具。只要不出現Java難以應用的用途和市場(chǎng),那么.NET Framework就很難阻止Java的進(jìn)一步發(fā)展。
.NET的優(yōu)勢:企業(yè)信息系統*可自行編程
剛開(kāi)始,微軟就把易于開(kāi)發(fā)XML Web服務(wù)作為.NET的優(yōu)勢而大加宣傳。以XML Web服務(wù)為前提而設計的.NET 與Web服務(wù)具有極高的親和性。但XML Web服務(wù)的產(chǎn)生卻比較晚。盡管業(yè)內對它的期待和關(guān)注程度較高,但由于可充分利用XML Web服務(wù)的“可賺錢(qián)的”業(yè)務(wù)模式尚未確立,所以目前與Web站點(diǎn)相比其市場(chǎng)仍微不足道。其中,Java方面也正在加緊完善便于開(kāi)發(fā)XML Web服務(wù)的功能。
那么,是否存在.NET的獨特用途呢?筆者通過(guò)采訪(fǎng)所得到的一個(gè)答案是:.NET開(kāi)發(fā)工具--Visual Studo.NET的易用性使得它在Java很難實(shí)現的“用戶(hù)企業(yè)(信息系統*)也可編程的系統”上超人一頭。筆者認為可能還存在其他這樣的領(lǐng)域。當然,盡管.NET的標準語(yǔ)言VB.NET和C#都與Java一樣復雜,但是Visual Studo.NET卻很好地消除了這種復雜性。
比如,NOEVIR只靠自己的信息系統*就完成了Web代理店支援系統的從企劃到編程的全部工作。一家系統集成商曾表示,此前導入Java系統的用戶(hù)企業(yè)中“選用.NET的信息系統*就有望自行開(kāi)發(fā)或對系統進(jìn)行修改”。
筆者認為,由于Java本身較為復雜,且不易學(xué)習掌握,因此“用戶(hù)企業(yè)只負責企劃,而將編程工作完全委托給集成商的現象非常普遍”。
在COBOL和VB(客戶(hù)商/服務(wù)器)的全盛時(shí)期,信息系統*自己編程、對系統進(jìn)行部分修改和功能追加是很正常的事情。如果連細小的系統修改都要外包,那么系統的維護成本自然會(huì )很高,因此就將失去靈活性。甚至于還有可能削弱信息系統*的業(yè)務(wù)能力。說(shuō)到企劃,聽(tīng)起來(lái)好聽(tīng),但如果連大體的情況也不了解,恐怕與開(kāi)發(fā)商交涉都很困難。這也許就是Java的一個(gè)“弊端”吧。
此外,“成本比UNIX低”以及“可以充分利用Windows技術(shù)資源”等原因也在加速.NET Framework的普及。作為客戶(hù)端/服務(wù)器系統的開(kāi)發(fā)環(huán)境,VB的后續語(yǔ)言--.NET中的“Windows Form”*競爭力。越來(lái)越多的系統集成商開(kāi)始選擇這一工具構筑系統。
.NET的劣勢:應用成果少、開(kāi)放性差
反過(guò)來(lái)說(shuō),.NET的劣勢則在于在大型系統中的應用成果少、缺乏“開(kāi)放性”。
對于應用成果來(lái)說(shuō),今后其數量將會(huì )不斷增加。據悉,日本Kabu.com證券將在2003年度內利用.NET Framework全面重新構筑該公司目前利用ASP構筑的系統。
在“開(kāi)放性”方面又將會(huì )如何呢?Java普及的主要因素很多,但筆者認為其中最關(guān)鍵的在于“開(kāi)放性”。由于可各種OS上運行,而且很多開(kāi)發(fā)商還提供了Web應用服務(wù)器和開(kāi)發(fā)工具,因此用戶(hù)可以隨意選擇。而開(kāi)發(fā)商則通過(guò)在功能和性能方面相互競爭來(lái)不斷提高產(chǎn)品水平。
而.NET Framework怎么樣呢?只要想應用于業(yè)務(wù)系統中,其OS實(shí)際上則只能限于Windows。盡管微軟已經(jīng)提供了FreeBSD版.NET Framework,但其目的僅限于學(xué)術(shù)研究。
今后人們所能期待的是Mono Project。Mono Project是指完全獨立于微軟、正在開(kāi)發(fā)開(kāi)放源碼版.NET Framework的計劃。主導該計劃的是一家名為Ximian的Linux企業(yè),這家公司成功地開(kāi)發(fā)了Linux標準桌面環(huán)境GNOME,目前已受到業(yè)界的廣泛關(guān)注。
2003年1月該計劃還發(fā)布了運行Web應用程序ASP.NET的Web服務(wù)軟件XSP。盡管很多功能仍在開(kāi)發(fā)之中,但目前開(kāi)發(fā)工作進(jìn)展順利。目前正面向Linux和Windows進(jìn)行開(kāi)發(fā)。據Mono Project稱(chēng),由于該軟件依賴(lài)于Linux的部分不多,因此能夠輕松地向其他UNIX OS移植。
能否形成像Mono一樣的開(kāi)放環(huán)境將是.NET普及的關(guān)鍵所在。微軟目前已經(jīng)向業(yè)界標準化機構ECMA(歐洲計算機制造商協(xié)會(huì ))提交了.NET 標準,此舉表明微軟將采用開(kāi)放標準。但目前尚不清楚此舉只是單純的一種姿態(tài),還是真的要開(kāi)放.NET。這就要看微軟今后是否能夠繼續公開(kāi)足夠的相關(guān)標準和信息了。