java 2 企业版 与.net
mdr-edo:欢迎大家来到javalive!今天的主题是javatm 2 平台企业版(j2eetm)与.net。这两个工作平台的功能都能够覆盖很多相同的领域,比如web服务,所以,把二者进行比较是很自然的。许多人对把j2ee?同.net进行比较有何意义存在疑问,为了回答这些问题,我们很荣幸的请到了《distributed and enterprise computing》的知名作者及顾问jim farley。jim是哈佛大学it中心的主要软件设计师,它可以回答大家的问题,那我们现在就开始吧-谁来提第一个问题?
mrweb:很多人认为.net在对web的设计理念上要优于j2ee?,因为.net是专为web服务设计开发的。而j2ee只是一个翻版(也就是把apis 象 jaxp 和 jaxr加入到了平台中),您认为这个观点有价值吗?
jim farley:这是个很好的问题,而且经常有人会问这样的问题。这里有很多实际的例子,微软花了很大力气来重新设计它的基础架构,就是为了使其适用于web服务。作为一个公开的标准,j2ee很自然的也会长期跟踪、升级它的一些协议、规范。但是如果你把商家和商家相比较(比如说微软和bea,ibm),那么,你就会发现,在java的领域里,存在很多模糊的web服务解决方式。对于java团体来说,如果把这些模糊概念变成规范,那么,java的发展必将会更好。
al-bandy: 在今后的几年里,您认为j2ee和.net的竞争,最终会出现一个胜利者还是二者共存?
jim farley:我无法预测谁会是最后的赢家。微软有其自己独特的市场运作方式,同时,j2ee也有其强大的惯性和实力。我想它们会有效利用企业空间,在中短期内按某些方式同时存在。
bob rodes:在我看来,二者的主要区别好象在于标准的公开程度上,.net更保守一些,j2ee更公开一些。有没有横向或纵向的交易额的比较?.net要快一些但要受限于微软平台,j2ee慢一些但不受平台限制。是不是由于过于简化而是性能降低了?
jim farley:快慢只是一个相对概念,在衡量交易量上有很多这样的因素需要考虑。但是无可非议的是,.net对于wintel环境而言是最佳的选择。但是,在j2ee架构了也没有什么因素妨碍商家开发类似于"wintel-optimized"的j2ee运行环境(当然,这里面也有许多恶意诽谤者)。
nigelk:现在在web服务上使用xml已经使平台或技术的概念逐渐独立了,因此,j2ee 或.net能否提供更好的工具或平台不应该成为主要的问题。
jim farley:非常正确。在理想环境下,这两种平台在web服务规范和支持基础架构上应该毫无关联的,与"soap/wsdl/uddi"相互融合应该是一个很好的机会。但是,一般商家的"value-add"问题会仍然存在(微软就是一个最大的商家,但却不是唯一的一家具有保守心理的商家)。不公开化这一附加因素将会使web的集成会象使市场成熟那样困难。
fogus:就微软认为c#即是java这一概念,您是怎么理解的?为什么我们只能选其一?
jim farley:如果你能够忽略平台问题,那么严格上说你就要做一个人为选择:你最喜欢用哪种语法/编程模型/对象模型?就我个人观点来讲,这几种模型都是没有明确界限的,但是,平台会对此作一个硬性规定,java是j2ee的基础,c#和一般运行环境是.net单一平台的基础。因此,c#同java的比较实际上又回到了j2ee 同 .net进行比较这一问题上。
joe:针对java pet shop的应用,微软对.net及其性能、代码缩减等问题作了很多改进,针对这一点您有何评价?.net的速度真的是更快吗?
jim farley:我想,很明显这只是一种推销手段而已。我认为所谓的代码缩减只是一个幌子,如果我单纯只是为了易于管理而缩减代码,这并不是明智之举,更谈不上其对基础架构有何真正意义。如果你要对不同商家的产品进行比较的话,只能比较它们的性能,而不能把.net的某一方面的突出特点同j2ee的整体基础架构进行比较。
al-bandy:有什么功能是.net能够实现而j2ee不能实现的?同时,有什么功能是j2ee能够实现而.net不能实现的?这两者之间有什么明显的差别吗?
jim farley:如果要完整的回答这个问题可能要占用很多时间!如果想要更多了解这些,可以看看我写过的一篇文章software development里面提到了这些。在这里,我只能简单地说.net在xml和wintel集成方面比较擅长而j2ee则在方便性和可选择性上存在优势。
david from bofa:根据您所说的在j2ee 和 .net之间不可能存在明显的区分界限,那么,对于一个初学者来说,哪一个更适合初学者来学习(假设必须选其一的话)。
jim farley:如果从内容以外来对两者进行比较是很困难的,这要看你为哪种类型企业工作、你的客户喜欢什么、你将来的技术/市场策划是什么等等许多因素。如果你打算只在微软这种只使用wintel的环境下做一些前瞻性的工作(无论是为个人还是为企业),那么显而易见,.net是首选之举。如果你认为自己不是唯一的商家,而是要考虑到来自于其他平台的竞争,或者你想把你自己的产品和客户发展到其他平台上,那么j2ee将是你最佳选择。
joe:j2ee和.net的工具好像都是遵循w3c标准(soap, wsdl),那么您认为哪一个是不标准的、自我封闭的?
jim farley:事实上,他们的确遵循这些标准,但是,商家也会"包含和扩展"它们的工具(例如,为封装协议增加"value-added"的扩展,或者是定义硬盘备份的有效载荷等等)。因此,如果他们完全100%遵循soap/wsdl/,那么,你就无需担心。但是正确与否就要看微软和j2ee了。
闽公网安备 35060202000074号