.NET Framework自2002年3月在日本国内上市以来,至今已一年有余。据估计标准集成.NET Framework的OS――Windows Server 2003将于2003年5月在日本上市。随着.NET环境的完善,作为足以抗衡Java的系统构筑基础,开发人员需要认识.NET Framework.下面笔者就来分析一下.NET的优势与劣势。
XML Web服务并未成为普及.NET的导火索
此前人们一直在想:“对.NET来说,是否存在不同于Java的、独特的应用领域和市场?”。
业内普遍认为,微软新一代系统构筑环境――.NET Framework是在研究Java的基础上开发出来的。不仅功能和架构相似,而且由于是在Java之后开发出来的,因此Java所没有的功能更是随处可见。比如在Web应用中实现事件驱动型应用程序功能等。
不过虽说如此,如果只是告诉用户“.NET Framework比Java好得多”,那么Java开发人员特意转而使用.NET Framework的动机不会太强。
由于Java已经先行积累了广泛的应用成果,积累了很多足以弥补其缺点的经验以及平台工具。只要不出现Java难以应用的用途和市场,那么.NET Framework就很难阻止Java的进一步发展。
.NET的优势:企业信息系统部门可自行编程
刚开始,微软就把易于开发XML Web服务作为.NET的优势而大加宣传。以XML Web服务为前提而设计的.NET与Web服务具有极高的亲和性。但XML Web服务的产生却比较晚。尽管业内对它的期待和关注程度较高,但由于可充分利用XML Web服务的“可赚钱的”业务模式尚未确立,所以目前与Web站点相比其市场仍微不足道。其中,Java方面也正在加紧完善便于开发XML Web服务的功能。
那么,是否存在.NET的独特用途呢?笔者通过采访所得到的一个答案是:.NET开发工具――Visual Studo.NET的易用性使得它在Java很难实现的“用户企业(信息系统部门)也可编程的系统”上超人一头。笔者认为可能还存在其他这样的领域。当然,尽管.NET的标准语言VB.NET和C#都与Java一样复杂,但是Visual Studo.NET却很好地消除了这种复杂性。
比如,日本兰碧儿(NOEVIR)只靠自己的信息系统部门就完成了Web代理店支援系统的从企划到编程的全部工作。日本一家系统集成商曾表示,此前导入Java系统的用户企业中“选用.NET的信息系统部门就有望自行开发或对系统进行修改”。
笔者认为,由于Java本身较为复杂,且不易学习掌握,因此“用户企业只负责企划,而将编程工作完全委托给集成商的现象非常普遍”。
在COBOL和VB(客户商/服务器)的全盛时期,信息系统部门自己编程、对系统进行部分修改和功能追加是很正常的事情。如果连细小的系统修改都要外包,那么系统的维护成本自然会很高,因此就将失去灵活性。甚至于还有可能削弱信息系统部门的业务能力。说到企划,听起来好听,但如果连大体的情况也不了解,恐怕与开发商交涉都很困难。这也许就是Java的一个“弊端”吧。
此外,“成本比UNIX低”以及“可以充分利用Windows技术资源”等原因也在加速.NET Framework的普及。作为客户端/服务器系统的开发环境,VB的后续语言――.NET中的“Windows Form”最具竞争力。越来越多的系统集成商开始选择这一工具构筑系统。
.NET的劣势:应用成果少、开放性差
反过来说,.NET的劣势则在于在大型系统中的应用成果少、缺乏“开放性”。
对于应用成果来说,今后其数量将会不断增加。据悉,日本Kabu.com证券将在2003年度内利用.NET Framework全面重新构筑该公司目前利用ASP构筑的系统。
在“开放性”方面又将会如何呢?Java普及的主要因素很多,但笔者认为其中最关键的在于“开放性”。由于可各种OS上运行,而且很多开发商还提供了Web应用服务器和开发工具,因此用户可以随意选择。而开发商则通过在功能和性能方面相互竞争来不断提高产品水平。
而.NET Framework怎么样呢?只要想应用于业务系统中,其OS实际上则只能限于Windows.尽管微软已经提供了FreeBSD版.NET Framework,但其目的仅限于学术研究。
今后人们所能期待的是Mono Project.Mono Project是指完全独立于微软、正在开发开放源码版.NET Framework的计划。主导该计划的是一家名为Ximian的Linux企业,这家公司成功地开发了Linux标准桌面环境GNOME,目前已受到业界的广泛关注。
2003年1月该计划还发布了运行Web应用程序ASP.NET的Web服务软件XSP.尽管很多功能仍在开发之中,但目前开发工作进展顺利。目前正面向Linux和Windows进行开发。据Mono Project称,由于该软件依赖于Linux的部分不多,因此能够轻松地向其他UNIX OS移植。
能否形成像Mono一样的开放环境将是.NET普及的关键所在。微软目前已经向业界标准化机构ECMA(欧洲计算机制造商协会)提交了.NET标准,此举表明微软将采用开放标准。但目前尚不清楚此举只是单纯的一种姿态,还是真的要开放.NET.这就要看微软今后是否能够继续公开足够的相关标准和信息了。