.NET对Sun ONE: Web服务开发平台对比测试
ZDNet软件频道 时间:2001-10-09 作者: |
我要评论()
本文关键词:
我们对两家公司的拳头产品进行了测试
微软则在.NET周围围上了一层神秘的气氛, 它用这个术语来同时指它的技术和它产品的商标. 让我们来明确一下: .NET中真正的新鲜事物是.Net Framework(.NET 运行和类库)和C#, 它们都会与Visual Studio .NET同时发布.
微软的服务器端程序都以.net作为后缀, 但这只是销售策略--这些服务程序其实根本没有用到.NET Framework. 第一个真正的.NET服务器会是微软SQL Server的下一个版本, 但它直到2003才会发布.
我们还必须清楚一点, 微软的开发者会发现使用.NET需要作很大的转变. 实际上, Windows程序的开发已经很难再改变了. 从核心来说, .NET是Windows 和 Web编程的一套全新的API. 在大约生存了20年后, 成熟的Win32, Windows COM(对象组件模型) 和微软基本类库已经开始退休了.
所有这些API仍然得到了支持, 而原始的Windows 程序还是可以用Visual Studio 编写. 但是, 微软现在的方向是朝向.NET 开发.
.NET在开发基于组件的应用程序的时候提供了很大的帮助, 特别是对那些使用了Web和XML技术的程序有很好的支持, 这是因为它被加强正是因为如下的原因: 一个新的运行环境和共享的系统, 这个共享的系统允许将用任何.NET语言编写组件混合使用, 一个新的类库, 新的Web 表单界面和数据库访问技术, 基于XML的连接协议, 基于文件的配置过程(这标志着Windows 注册表未日的到来), 以及一个新的安全模型.
软件移植的费用将取决于IT 部门希望实现多少这些平台上的改变.
微软的C#是C和C++语言的一个简化的后继语言, 而且, 毫不奇怪的是, 它和Java非常的相似. 但是, C#还是要求开发者学习一种新的语言.
Visual Basic 和 VBScript 都被改变了, 所以在老的程序在新的.NET平台上运行以前必须作出修改.
"我们的平台保持了百分之九十六的兼容性, 这意味着所有的东西都将能够继续使用," 微软的Scott Guthrie在华盛顿的多特蒙得说, 他是负责ASP.NET中ASP VBScript 代码兼容性的首席工程师.
但实际上, 当我们将一个基于VBScript 的ASP在线书店转换成ASP.NET 的时候需要做无数的语法上的改动, 加上必需的括号, 远程集合定义语句并将到.asp的链接转换成到.aspx文件的链接.
但是, 在我们对Visual Studio .NET 的测试中, 我们发现Web 服务被完整的集成在了这个产品里. 我们可以通过仅仅在一个普通的子程序的前面加上"WebMethod"关键字就可以将它变成可通过HTTP调用的基于SOAP的Web服务, 而且Visual Studiao 将基于SOAP的Web 服务和原始的Windows对象一样同等对待.
"Transaction"关键字允许子函数自动的参与到事务处理中来, 而一个很酷的"XMLAttribute"关键字则让我们做简单的XML转换, 比如说不需要使用XSL(可扩展的风格页语言)风格页(当然如果你想用也是可以的)就能够改元素的名字.
Visual Studio .Net Enterprise Architect 提供了新的程序建模功能, 包括概念的, 逻辑的和物理数据库模型化工具, 和完整的UML(Unified Modeling Language 通用软件模型化语言) 1.2 的绘图功能, 代码生成和对转换工程的支持. Visual Studio .Net还包括了编写PDA(个人数字助理)和移动电话应用程序的工具.
许多IT可能还会喜欢上新的编码规则的功能(可以在XML配置文件中设置), 当我们没有遵循设置的编码和HTML 风格的时候,它能在Visual Studio .Net的新任务列表窗口里发出警告.
对于创建Web服务, ASP 在技术上获得了最大的提升. 正如我们前面说的那样, ASP是一个负载均衡的Web 脚本语言而且早已有些力不胜任了. ASP .NET 作为Visual Studio .NET中Web 应用开发最本质的东西, 被彻头彻尾的改写了(实际上在C#中也是这样). 就象其对手JSP(JavaServer Pages) 一样, ASP .NET 现在也成为了一种编译语言.
如果开发者明确的定义他们的变量类型, 那么ASP程序会和C#一样快--也就是说, 它比以前快多了.
还有一个大的性能上的改善, 那就是ASP.net 增加了一个新的参数确定的缓冲子系统, 它能够缓冲整个页面, 或者页面的一部分,或者个别的Web 服务, 而缓冲的期限则由一个时钟或者是对文件系统的改变或者是一个应用程序事件来决定. 这是ASP. NET的一种改进, 以便它能跟得上潮流; Oracle, IBM 和Macromedia公司早就发布了拥有不同形式的缓冲方法的应用服务器.
ASP.NET有一个现代的状态处理机制; 目前ASP 的Session 对象是不能在串中使用的, 因为它不能远程的保存状态信息. 我们现在能够把状态信息保存在本地, 或者是在另一台服务器上的微软SQL Server 7.0 或 SQL Server 2000 数据库里.
我们不再需要Cookie了; 只要在ASP .NET 应用配置文件web.config 里设置"cookieless" 选项, ASP.NET就在URL里自动加上一个对话的标识符.
ASP 和ASP.NET使用不同的文件扩展名而且能够同时在同一个服务器上运行, 虽然它们并不享会话信息.
测试结果: Visual Studio.Net Enterprise Architect Beta 2
Visual Studio .Net 获得了Web和Windows 应用程序代码设计, 编辑和编译开发环境的最高分. 新的编码规则功能使得这个版本的开发平台对于已经建立了编码规则和设计风格的企业来说是特别有用的. 如果纯粹追求高的生产效率, Visual Studio .Net 遥遥领先.
短期的商业影响//无数的富有想象力的诸如动态帮助, 很好的代码自动完成和内建的任务列表功能极大的提高了编码效率, 但是.NET平台的这些改变, 必然引起培训和代码转换的费用.
长期的商业影响//这个版本的Visual Studio 能够使微软平台软件开发商们在转向新的.NET运行环境和C#语言的过程中可能遇到的棘手的问题平滑化. 它集中于基于标准的Web服务的开发将降低集成和B2B应用开发的费用.
优点:界面美观, 支持多语言应用程序开发和编辑的开发环境; 包括完整的前后端数据库支持和UML建模; 基于SOAP的Web服务和原始的Windows 对象一样得到了支持; 在HTML和原始的Windows 应用程序设计方面非常强大; 对PDA和移动电话开发支持的良好的尝试; 编码规则功能有助于标准化编程过程.
缺点:缺乏对Java的支持; Vidual Basic和ASP强制的语法改变要求对现有的应用程序进行代码转换.