 |
| 谈谈EJB3.0的架构和新增特点 |
|
zhousx18 原创 更新:2008-06-14 12:00:23 版本: 1.0
|
|
1.EJB 3 architechure Java EE技术使用多层结构对企业应用提供服务, Java EE应用是WEB使能的和基于JAVA的,这意味着他们写一次和配置到任何支持Java EE标准的容器. 一个应用服务器是容器驻扎的环境,然而, 实践中我们不需要区分应用服务器和容器, 所以我们将使用术语interchangeably. The Java EE 规范受到商业厂家Sun, IBM, Oracle, BEA Systems及开源组织JBoss支持。 Java EE 表现层技术包括servlets, JSP pages, and JSF组件. 这些为一个商务应用开发、然后配置和运行在一个WEB容器里,一个客户将通过浏览器或applet与WEB容器交互.EJB3是 Java EE 5提供给商务层的技术. 在Java EE 5我们将把商务层分成只考虑商务过程的第一层和处理持久性的第二层。在EJB 3 商务过程方面是session and message-driven beans. 这些为一个商务应用开发并且配置和运行在一个EJB容器里. 持久层方面是一个实体; 它通过使用持久供给者或持久引擎连接到数据库, 持久引擎实现了另一个规范JPA(the Java Persistence API),全部的规范能够从http://www.jcp.org/en/jsr/detail?id=220下载。
2.EJB 3 新特点 EJB 3引入的主要新特点总结如下: a.简化的Persistence API b.元数据注释(Metadata Annotations) c.改进了的Query Language d.Defaulting的使用 e.依赖注入(Dependency Injection) f.Session Beans的简化 头两个特点可能最为重要,EJB 3和EJB 2.x主要的不同是持久性的保持. EJB 3以前的版本只具有相当有限的在实体beans和关系表之间的对象/关系映射. EJB 3以前继承和多样性是不可能的, 一个EJB 3实体真正是一个Java对象;这不能说成是一个实体bean. 其他主要EJB 3创新是引入了metadata annotations,Metadata annotations是在Java SE 5中第一次引入, 所以当开发EJB 3应用时必须使用Java SE 5或更高版本,Metadata annotations能够用做替换XML deployment descriptors,两者都可用做配置EJB组件和指定对实体的对象/关系映射. 不管怎样,deployment descriptors也能用于配置EJB组件和指定对实体的对象/关系映射.
EJB Query language (EJB QL)早期版本和JPA's JPQL相比是相当有限的. 特别地,JPQL 提供以下增强特性: a.Projections b.GROUP BY and HAVING clauses c.Joins d.Subqueries e.Dynamic Queries f.Queries with parameters g.Bulk update and delete operations
在EJB3 缺省值得到延伸,例如,大多数元数据注释不需要指定元类型和参数, 缺省值常常是公共的、希望的行为. 注释元数据类型仅当我们要配置exceptional 行为时才需要。 依赖注入,Spring中的第一个特性,在EJB3 中引入用于替换JNDI,实现容器管理资源的查找. Session beans已经得到简化,我们不再需要指定组件和home接口.而且session bean 类不再实现大量的应用并不需要的callback接口。在EJB 3这些生命周期callback方法仅当需要时由session beans实现.
|
|
|
评论人:kelvin18
|
发表时间: Tue Jun 17 06:38:42 CST 2008
|
|
非常精辟!
|
|
|
评论人:thuang
|
发表时间: Fri Jun 20 09:12:22 CST 2008
|
|
just a brief intro
|
|
|
评论人:ludongxing
|
发表时间: Wed Jun 25 09:31:46 CST 2008
|
|
good summary
|
|
|
评论人:thewolf007
|
发表时间: Thu Jun 26 10:49:38 CST 2008
|
|
关键是大家已经很少用ejb了,太重而且不好测试
|
|
|
评论人:zhousx18
|
发表时间: Sat Jun 28 23:23:17 CST 2008
|
|
谁说的大家很少用了,不用EJB那用什么去替换,SPRING? EJB3融合了SPRING的DI,AOP和HIBERNATE的ORM,是所有开源技术的集大成者。Rod Johnson和Gavin King都参与了EJB3标准的制定。
|
|
|
评论人:duhongltz
|
发表时间: Tue Jul 01 10:29:13 CST 2008
|
|
精辟
|
|
|
|
|
 |