如果一个人注意某个具体开发商的产品,如IBM公司的WebSphere,那么就会看到其技术的最大的一部分是WebSphere专用的。比较所有开发商对J2EE的具体改进,已经超出了本文的范围,在我的经验中,大多数对J2EE作为一个平台感兴趣的公司对该标准的可移值性感兴趣。任何对可移值性感兴趣的人都会需要将他们自己局限于Sun公司所定义的标准。
J2EE体系结构可以被分为5部分:
最后一部分,非程序员可见API,包括定义了如何将其他产品插入到J2EE中的API,如连接器API,以及J2EE模型中被最近的改进有效替代的API,如JTA(Java Transaction API)。由于从比较微软和Sun公司计划的角度来说,非程序员可见API并不重要,因此在笔者的概述中将不涉及这些方面 (就如同笔者在.NET平台概述中并没有涉及功能相当的API一样)。
EJB加入了一种新的体系结构想法,一项自动管理组件状态的技术。这项技术被称为entity beans(实体豆)。虽然这种想法具有吸引力,但是当前的实施却依赖于独立于数据库缓存的中间层数据缓存。很不幸的是,在这两种缓存之间没有保持一致性的机制。这意味着对实体豆的任何使用都会带来数据库损坏的高风险。在缓存一致性问题解决之前,在最佳试验技术方面,必须得不断考虑实体豆技术。
要连接EJB和COM+的深入比较,请参阅笔者最近的著作[4]。
[1]Java Servlet 1.2规范可以在http://java.sun.com/products/servlets获得。
[2] Java Server Page 1.2规范可以在http://java.sun.com/products/jsp获得。
[3] 请参阅http://java.sun.com/products/ejb/docs.html。
[4]COM+ and the Battle for the Middle Tier,Roger Sessions著,John Wiley and Sons2000年1月发行
[5] 说明书可以在http://java.sun.com/products/jdbc得到。
[6] 说明书可以在http://java.sun.com/products/jndi得到。
[7] 说明书可以在http://java.sun.com/products/jms得到。