提要 本文将与你一同探讨怎样把注解和方面的威力联合起来,以与ejb 3.0兼容的方式为企业实现提供声明性服务,而在同时仍然提供容器的独立性。
一、 引言
在我们共同寻求进一步提高软件开发生产性能的方法的过程中,我们-作为java社团成员-一般都转向j2ee来提供针对企业开发中更具挑战性的技术问题如分布式事务管理、并发性和对象分布等的解决方案。其背后的指导思想-这些复杂的企业服务能被应用程序服务器供应商所实现并能为商业开发者所平衡-的确是一种很好的思想。j2ee,具体地说是ejb,已成功地提供了一个平台-在其上构建企业java应用程序。
这其中部分的成功是由于能够进行声明性编程-一种程序开发方式-用这种方式,你可以声明基础结构服务而不是用商业逻辑明确地编码从而使代码散布于各处。ejb已经证明了这种编程方式的价值-通过允许企业问题例如事务和安全被用一种发布描述符所声明并为容器所处理。
然而,在过去的岁月中,越来越多的开发者认识到ejb在团队的生产效率方面给它自己带来新的大量的挑战-每个ejb必须伴随多个接口,以一种发布描述符描述,经由jndi被存取,等等。而在容器外ejb上进行单元测试也带来另外的困难,如今ejb已不再把重点放在单纯的面向对象开发上。
请注意,为阅读本文您需具备如下工具:
·java 2 sdk 1.5
·maven 2.0 beta 2
ejb 3.0的目标在于从以下几个方面使企业开发更为容易:
·通过引入元数据注解来实现声明性请求企业服务
·经由注解实现依赖性/资源注入
·实现企业beans与ejb特定接口的解耦
·经由轻量级的对象关系映射实现持续性存储的简化
这对于ejb开发者来说尤如一股春风-一直以来,他们竭力地从事开发、测试和维护ejb。利用ejb 3.0写一个企业bean现在变得很容易,就如用特定的注解创建一个pojo(传统的java对象)以把它标明为一个ejb并请求企业服务。下面是一个来自于ejb 3.0 public draft中ejb的例子:
| @stateful public class cartbean implements shoppingcart { private float total; private vector productcodes; public int someshoppingmethod(){...}; ... } |
图1.航班查询:首先,用户查找满足他们的指定标准的航班。 图2.航班订购:接下来,用户订购一个外出航班和一个返回航班。两个订购要么都成功要么都失败。
关键字 本文所属关键字相关 与本文相关文章分类 所有文章关键字导航源码编程相关Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏 操作系统/服务器相关Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器 标准 网站致力的规范 |