J2EE与.NET平台对比
1.在表现形式上,J2EE是一组规范,而.NET更象是一组产品。但它们的目的都是为了企业应用提供分布式的,高可靠性的解决方案.它们在架构上有着很多的相似之处,
J2EE平台的构成
EJB - J2EE 中间层,完成商业逻辑;
JAAS - J2EE 处理认证和授权的API;
Java Connectors - J2EE 用于连接异种数据源的API,对上层来讲是透明的;
JSP, Java Servlets - J2EE的表示层技术,用于生成用户界面;
Java Virtual Machine - Java 语言运行环境;
JDBC - J2EE数据库访问;
JMS - J2EE的异步消息队列;
JNDI - J2EE的名字查找API,独立于目录服务器;
JTS - J2EE用于处理交易的API;
RMI/IIOP - J2EE的分布式对象的通讯API,提供了和CORBA交互的能力。
.NET平台构成
.NET Framework - .NET应用运行的基础;
IL (Intermediary Language) - 所有的.NET语言首先被编译成该中间语言,然后在CLR中运行;
SOAP - 用于服务访问的工业标准;
DCOM - 组件间通信协议;
MS-DTC - 用来在.NET平台上使用两阶段提交协议来处理分布式交易;
CLR - .NET应用的运行时环境;
COM+ - .NET的中间层模型,用于构建商务逻辑;
ADO.NET - .NET 对数据访问的API。
此外.NET平台还包括其他一些产品象Application Center Server,BizTalk Server ,NLBS (Network Load Balancing Service),Commerce Server,Enterprise Servers,HIS (Host Integration Server),ISAS (Internet Security and Acceleration Server)用来提供象防火墙,安全访问,B2B交易,负载平衡等服务.J2EE规范本身没有定义这些服务,但可通过选择第三方产品来满足类似的要求。
2.中间层
基于组件的软件开发技术可以在较高的级别上实现软件复用,加快企业软件开发的进程.在J2EE构架中, JavaBean和EJB(Enterprise JavaBeans) 被用来完成事物逻辑.其中EJB和 JavaBean 有着类似的模型,但它被用来创建分布式的企业应用.它定义服务器端组件的模型,具有以下一些特性:
生存期模型;
访问模型;
安全模型;
事物处理模型;
会话处理模型;
数据封装模型;
部署模型
根据这些模型,简单的编码就可完成复杂的功能。
在微软的.NET平台中,旧的COM 和 COM+的组件模型被新的组件模型所代替。增加了象基于沙箱的安全模型和垃圾回收等功能.并且实现了多重接口继承,扩展的元数据和新的代理模型等.旧有的COM和COM+组件也可被映射到新的运行环境中。
综上所述,两众架构在基于组件的中间层的设计上各有千秋,对于创建分布式的,复杂的,高效的,高可靠性的的应用程序都有着足够的能力。