(1)多系统整合和系统延展性
跨平台的特性一直是J2EE 的最大特点,它通过Java 的虚拟机技术屏蔽了底层操作系统的细节。从而实现了所编写的代码可以在Windows 平台上使用,也能够在Unix 平台上使用。即所谓“一次编写,处处可用”。在J2EE 规范里面又通过JDBC、JNDI 等技术屏蔽了诸如数据库、目录访问等网络细节。可以这么说,目前用J2EE 技术实现的企业级应用可以运行在大机、Unix、windows、linux等各种操作系统上,后台可以连接Oracle、DB2、Informix 等等数据库,并且效率方面没有太多的区别。在各系统连接方面,J2EE 也提出了很多很好的解决方案,例如J2CA——J2EE 联接器体系结构,就是J2EE 规范规定的如何使用Java。
技术与所谓遗留系统如ERP、CRM 等的连接方法。当然J2EE 现在也提倡使用Web Service 等技术来进行系统互联。总体而言,J2EE 技术是一套标准,它由诸多公司一起支持,所以技术的通用性和标准性比较高,目前基本上成为企业级解决方案的事实标准。
.Net 从本质上来讲不是一套标准,而是微软一系列产品的集合,所以,选择.Net 技术,基本上就选定了微软平台。也就是说,操作系统只能使用Windows,甚至低层硬件只能选择Intel 的系列芯片。而不能在大机、Unix 以及Linux 等系统上使用。在数据库方面,.Net 在自身的Microsoft SQL Server 上也会比其他数据库运行得好。在系统互联方面,.Net 提倡使用Web Service,这个技术目前还比较新,还没有太多的成熟可靠的解决方案。
总之,在多系统整合和系统延展性方面,基本上是J2EE 的特点,目前而言,.Net 技术还很难望其项背。
(2)I/O 处理和线程调度
在这个方面,从应用的层面看,两者都能够达到企业级应用的需求。但是I/O处理和线程调度从本质上来讲应该由底层硬件和操作系统来解决。J2EE 支持众多的硬件和操作系统,单从这点来讲,都比.Net 技术有优势得多。别的不说,大型计算机的I/O 处理能力和线程调度能力是其他任何机种所无法企及的。而大机上目前只能运行J2EE,不能运行.Net。光这一点,就说明了在这个方面J2EE 优于.Net 技术。
(3)稳定性和安全性
稳定性和安全性方面可以用很多方式去实现和补偿,问题的关键是看投入的成本和维护的费用是多少,昂贵的资金投入显然是不合适的。所以,我们去讨论那些软硬件的补偿方法没有太多的意义,我们把讨论集中在操作系统和硬件芯片级别的比较。
.Net 技术进军高端应用市场,靠的是Windows Data Center 之类的操作系统,靠的是Intel 的安腾芯片。Windows 操作系统的稳定性和安全性与Unix 乃至S/390等操作系统相比较,其结果不言而喻。Windows 是最通用的桌面系统,也是最大的病毒温床。众多的病毒困扰着Windows 的使用者。目前,利用Microsoft SQL Server 的漏洞的病毒正在肆虐就是一个明证。而Unix、Linux 和大型机操作系统的病毒就较少,安全级别也比Windows 高。
再来看看.Net 所能够运行的硬件平台,一般而言只有Intel 公司的芯片,Intel公司的志强芯片一般我们认为它只是个部门级别服务器的芯片。Intel 公司仰仗进入高端服务器市场的是Intel 公司与HP 公司共同研发的64 位芯片安腾。安腾系列目前最新的是安腾2。尽管在其发布会上英特尔展示了安腾2 处理器与Sun 公司UltraSPARCⅢ的性能对比资料,但英特尔并没有展示更多的基于系统的安全性、稳定性及兼容性能的对比评测,而这些是高端应用的关键所在,而安腾2与现有应用软件的兼容则更是不甚明了的二进制兼容。因此,我们可以说安腾2要在高端市场占领一定的地位还需要一些时日和改进。
所以,.Net 技术在高端的企业级应用市场还比较缺乏案例支持。
(4)产品成熟度等其他因素
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技术尚没有太多比较成功的实施案例。