• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

EJB组件:基本结构解析

发布: 2008-1-28 14:29 | 作者: 苏洋 | 来源: 不详 | 查看: 58次 | 进入软件测试论坛讨论

领测软件测试网
EJB规范的主要目的是将企业应用系统开发人员从应用系统级的编程工作中解脱出来,使之可以集中精力进行应用系统中商务规则的系统分析和代码编写工作。 按照EJB2.0规范的定义,EJB组件由Home接口、Remote接口、组件类和部署描述文件构成。应用程序开发人员在编写EJB组件的代码时,必须完整定义组件的各个接口、组件类以及描述组件需要EJB容器提供服务的部署描述文件。
EJB组件的命名规则
EJB规范中定义的会话组件和实体组件分别由Home接口、Remote接口和组件类构成,因此,在组件接口对象和组件类的创建过程中,应遵循统一的命名规则。例如要编写一个用于计算津贴的有状态会话(Stateless SessionBean)类型EJB组件,可以根据组件完成的功能将该组件命名为"CalcBonus",构成该EJB组件其它元素的命名规则如下:
EJB对象
EJB对象表示要创建的EJB组件,没有与之相对应的代码。EJB对象的命名规则是在表示组件商务意义的字符串后附件字符串"EJB"。按照规则,可以将津贴计算EJB组件对象命名为"CalcBonusEJB"。
Home接口
Home接口的命名规则是在表示组件商务意义的字符串后附件字符串"Home"。因此,可以将津贴计算EJB组件的Home接口命名为"CalcBonusHome"。
Remote接口
EJB组件的Remote接口对象可以直接采用表示组件商务意义的字符串进行命名。例如,将津贴计算组件的Remote接口命名为"CalcBonus"。
组件类
组件类的命名规则是在表示组件商务意义的字符串后附加"Bean"。例如,将津贴计算组件类命名为"CalcBonusBean"。
EJB组件的Home接口
EJB组件的Home接口用于定义创建、查找和删除组件对象实例的方法。以有状态会话类型EJB组件CalcBonusEJB为例,其Home接口定义如下面代码所示:

public interface CalcBonusHome extends EJBHome 
{
public CalcBonus create() throws CreateException,RemoteException;
public CalcBonus create( int nRate ) throws CreateException,
RemoteException;
        public void remove() throw RemoteException;
}
在上述定义中,EJB组件的Home接口继承EJBHome接口,在该接口中包括两个异构类型的创建组件对象实例的create方法,两个方法均返回该EJB组件的Remote接口对象。在Home接口中还定义了用于从EJB容器的组件实例池中删除组件对象实例的remove方法。该方法对应于EJB组件类中定义的ejbRemove方法。
对于实体类型EJB组件,在组件的Home接口中还应定义查找组件对象实例的方法,用于客户端根据实体组件的主键值在EJB容器中查找指定的实体类型EJB组件。该方法的定义和实现过程将在第6讲中详细讲解。
另外,Home接口中定义的create方法和remove方法能够抛出的RemoteException和CreateException类型异常。两种类型的异常定义在java.rmi包中并且异常的参数和返回值类型均为合法的RMI-IIOP类型。由异常的返回值形式可以看出:EJB组件对象的Home接口是对Java RMI-IIOP协议有效的接口,客户端应用可以基于RMI-IIOP协议访问部署在EJB容器中的组件对象的Home接口。
在Home接口中定义的方法除了能够抛出上述系统异常外,EJB组件的设计人员可以定义用户类型异常并Home接口中定义的方法抛出。
EJB组件的Remote接口
EJB组件的Remote接口用于定义客户端应用程序能够调用的组件商务方法。与Java接口定义相似,在Remote接口中定义的商务方法只是一个框架而没有具体的实现代码。EJB组件设计人员根据Remote接口中定义的商务方法在组件类中为这些方法编写实现代码。有状态会话类型EJB组件CalcBonusEJB的Remote接口定义如下:

public interface CalcBonus extends EJBObject
{
  		public float calculateBonus() throws RemoteException;
  		public float calculateTax( float fRate,float fBonus )
throws RemoteException;
    }
EJB组件的Remote接口继承定义在javax.ejb包中的EJBObject接口。在Remote接口中定义了两个名称分别为calculateBonus和calculateTax的方法。两个方法均抛出RemoteException类型异常。由Remote接口中定义的方法能够抛出的异常类型可以看出:Remote接口同样是对于Java RMI-IIOP协议有效的远程接口。
 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: EJB组件

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网