Java 和.Net 在做 BS 结构项目的比较
渊源:
Java 的 J2EE 在 1999 年形成了其成熟的架构,并且到今天已经有相当成熟的经过检验的
企 业 应 用 系 统 。 而 .Net 究 其 渊 源 是 源 自 微 软 以 前 开 发 企 业 应 用 程 序 的 平 台 DNA
(Distributed NetworkArchitecture),其中包括了许多已经被证实的技术,并且这些技术已
经在产品中得到实现,包括微软的事务服务器、COM+、消息队列、SQL Server 数据库等。
而对于扩展性,广为业界接受的事实是.NET 平台的扩展思想是基于软件的横向扩展,而
J2EE 平台的扩展思想则是基于硬件的纵向扩展。这也符合微软和 Sun 各自的产品利益。但
是我们还需要细看这个问题,.Net 技术源于 DNA 技术。众所周知,DNA 技术可能能够解
决部门级应用的问题,但是在大型企业应用中就不是那么适合了。其实,从微软这家公司
的历史背景就可以看出这个问题,微软从来不是一个老牌的企业级解决方案的提供者,它
是从 DOS、Windows 等桌面操作系统起家的,在购买了一个企业级操作系统开发出
Windows NT 后才开始进入企业级解决方案市场。与 IBM、HP、Sun 等一直从事企业级应
用的提供商相比,其技术和支持力量还显得稚嫩。尚没有大多的成功案例和解决方案。而
J2EE ( 却是这些企业级解决方案的提供商所力推的,所以 J2EE 在企业中有大量的成功案例
和解决方案。这些可以从世界各种大企业的 IT 应用系统的实际情况可以看出。世界上大多
数企业的 IT 系统中,使用 J2EE 技术的远远大于.Net。可以这么说,.Net 技术尚没有太多比
较成功的实施案例。
未来的考验:
Java 可以胜任未来的考验,或者说能够导向未来。这样你现有的代码将不会过时,为什
么?因为我能运行 Java 在今天和将来的计算机上。你不能确保微软的.NET 也能够做到这
一点。一个鲜活的例子就是他们对 VB6 的支持,现在 VB6 已经过时了。
适用范围:
两者都能够达到企业级应用的需求。但是 I/O 处理和线程调度从本质上来讲应该由底层
硬件和操作系统来解决。J2EE 支持众多的硬件和操作系统,单从这点来讲,都比.Net 技
术有优势得多。别的不说,大型计算机的 I/O 处理能力和线程调度能力是其他任何机种所
无法企及的。而大机上目前只能运行 J2EE,不能运行.Net。光这一点,就说明了在这个方
面 J2EE 优于.Net 技术。
.net 照顾中小型应用毫无问题,而且开发速度快,作为用户,付了钱很快能看到回报。
大型应用,由于它只能应用一个平台,甚至低层硬件只能选择 Intel 的系列芯片。而不能在
大机、Unix 以及 Linux 等系统上使用,所以应用范围有所限制。
数据访问:
J2EE 和.Net 已不同的形式支持数据的访问。JDBC 和 ADO 一样和所连接的数据库无关,
并且通过连接,命令语句和结果集来对数据进行操作.所以属于中间层次的API.更高一级的
数据封装和数据管理是通过实体 EJB (entity EJB)来完成的.基于容器管理的实体 EJB 使开
发更快捷,管理更方便.事实上,由于实体 EJB 的 load()和 store()方法的同步机制,将大
大缓解因并发而使数据库产生的瓶颈.也可以采用不属于 J2EE 规范的第三方数据访问工具,
象 WebGain 的TopLink。
评论23
最新资源