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应用程序在这些产品中的任何一个产品中被成功部署后,都可以正确地运行。
实际上,在不是Sun J2EE对手的人中,很少有人相信这是可以实现的。Paul Harmon是最重要的独立J2EE发言人之一,他是Cutter Consortium的首席顾问,广泛发行的Architecture/e-Business E-Mail Advisory的作者。虽然Harmon总是反对J2EE,但他最近对J2EE的开发商可移植性写了这样不同寻常的坦诚的评价。
EJB模型是否已经达到了我可以将EJB组件从一个EJB应用服务器移动到另一个服务器的程度?在大多数情况下不能。EJB规范不够全面。通过提供专有的解决方案来完善这个模型,确保他们的客户可以创建生产系统,EJB应用服务器开发商弥补了这一点。
Harmon总结了当今开发商中立的情况, 他的评论如下:
此刻,现实情况是如果你想开发一个EJB应用程序,你应当忠心于一个开发商。
今天的现实是,没有像开发商中立这样的情况。当然,.NET平台不是开发商中立的,它与微软公司的操作系统捆绑到了一起。但是两者都不是J2EE的实现。笔者可以给的最佳建议是,选择某一开发商,计划与其始终站在一起,这样可以充分利用该开发商所提供的平台优势。
第一个J2EE规范,EJB规范在1998年提出,而第一个β版本出现于1999年。而这则是在与之相当的.NET平台技术,MTS,COM+的前身第一次实现的3年之后了。笔者在最近的一篇文章中讨论了从MTS到COM+的发展过程。
|