J2EE与.NET平台的相似点
图2中给出了J2EE与呢平台之间的所有相当之处。正如你所看到的,许多.NET平台功能范围在J2EE中没有对应功能。在某些情况下,至于是否支持这些功能,如果支持,支持情况如何,被认为是一个实施明确的决策,注意:要了解不熟悉的缩写词,请查看术语表。
图 2. 技术对应
技术
|
.NET
|
J2EE
|
支持技术
|
|
|
发布协议
|
DCOM, SOAP
|
RMI/IIOP
|
防火墙
|
ISA*
|
没有定义
|
HTML页面缓存
|
ISA*, ASP.NET
|
没有定义
|
|
|
|
表示层技术
|
|
|
基础结构
|
IIS
|
没有定义
|
程序设计模型
|
ASP.NET
|
Servlets, JSP
|
高可用性
|
NLBS*, ACS*, 其他
|
没有定义
|
负载平衡
|
NLBS*, ACS*, 其他
|
没有定义
|
管理
|
ACS*
|
没有定义
|
|
|
|
中间层技术
|
|
|
基础结构
|
COM+
|
EJB
|
程序设计工具
|
Visual Studio.NET
|
没有定义
|
高可用性
|
ACS*
|
没有定义
|
负载平衡
|
ACS*
|
没有定义
|
安全性API
|
COM+ Security Call Context
|
JAAS
|
消息队列API
|
MSMQ
|
JMS 1.0
|
异步组件
|
Queued (COM+)
|
Message driven beans
(EJB 2.0)
|
命名与目录服务
|
ADSI
|
JNDI
|
|
|
|
数据层技术
|
|
|
分布式事务处理
|
MS-DTC
|
JTS
|
关系型数据库API
|
ADO.NET
|
JDBC 2.0
|
层次型数据库API
|
ADO.NET
|
-
|
数据库存储
|
SQLServer**
|
-
|
大型机数据库连接性
|
HIS*
|
Java连接器
|
|
|
|
架构技术
|
|
|
电子商务架构
|
Commerce Server*
|
-
|
B2B
|
BizTalk Server*
|
-
|
* 对于.NET平台是可选附加服务。
** SQLServer是正式的.NET平台数据库技术,但是可以使用任何支持ADO.NET的数据库,包括大多数数据库。
J2EE与.NET平台之间的差别
你可以看到在J2EE与.NET平台技术之间由很大的重叠。但是,如何在它们之间进行选择呢?在本节中,笔者将讨论我所看到的主要差别。
许多公司购买J2EE,他们相信这可以给他们开发商中立地位。而实际上,这是Sun公司计划的一个确定目标:
配置和实施各种满足J2EE规范需求的产品是可能的。一个可移植的J2EE应用程序在这些产品
[1]中的任何一个产品中被成功部署后,都可以正确地运行。
实际上,在不是Sun J2EE对手的人中,很少有人相信这是可以实现的。Paul Harmon是最重要的独立J2EE发言人之一,他是Cutter Consortium的首席顾问,广泛发行的Architecture/e-Business E-Mail Advisory的作者。虽然Harmon总是反对J2EE,但他最近对J2EE的开发商可移植性写了这样不同寻常的坦诚的评价。
EJB模型是否已经达到了我可以将EJB组件从一个EJB应用服务器移动到另一个服务器的程度?在大多数情况下不能。EJB规范不够全面。通过提供专有的解决方案来完善这个模型,确保他们的客户可以创建生产系统,EJB应用服务器开发商弥补了这一点。
[2]
Harmon总结了当今开发商中立的情况, 他的评论如下:
此刻,现实情况是如果你想开发一个EJB应用程序,你应当忠心于一个开发商。
[3]
今天的现实是,没有像开发商中立这样的情况。当然,.NET平台不是开发商中立的,它与微软公司的操作系统捆绑到了一起。但是两者都不是J2EE的实现。笔者可以给的最佳建议是,选择某一开发商,计划与其始终站在一起,这样可以充分利用该开发商所提供的平台优势。
第一个J2EE规范,EJB规范在1998年提出,而第一个β版本出现于1999年。而这则是在与之相当的.NET平台技术,MTS,COM+的前身第一次实现的3年之后了。笔者在最近的一篇文章
[4]中讨论了从MTS到COM+的发展过程。
在.NET平台比J2EE早出现两年的情况下,了解.NET平台比J2EE平台更成熟就不足为怪了。虽然我们有大量的使用.NET技术的高度可靠的网站(NASDAQ和戴尔就是众多例子中的两个),但我们不知道有哪个网站使用了J2EE平台。Paul Harmon又作了如下评论:
今天,任何一个正在尝试[基于J2EE的]公司范围的企业级系统的公司,都在尽力工作,更好的方法是让一个真正优秀的开发团队来帮助他们摆脱困境。更重要的是,它可能应当重新考虑一个综合的项目,并满足于初始近似。
[5]
诸如笔者详细讨论的,.NET平台电子协作模型是以UDDI和SOAP标准为基础的。这些标准被100多家公司广泛支持。微软公司,IBM和Ariba是这个领域的领导者。Sun公司是UDDI协会的会员,并且认识到了UDDI标准的重要性。在最近的新闻发布会上,Sun公司负责Java群体开发的付总裁George Paolini说:
“Sun公司一直在工作,以帮助建立和支持开放的、基于标准的技术,来促进基于网络的应用的增长,并且我们认为UDDI是一个重要的、为B2B电子商务建立一个注册架构的项目。”
[6]
但是虽然Sun公司公开说相信UDDI标准,但实际上,Sun公司没有采取任何措施将任何一种UDDI标准合并到J2EE中