欢迎来到天天文库
浏览记录
ID:55366846
大小:246.00 KB
页数:45页
时间:2020-05-15
《软件构件与中间件技术08.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八讲EJB内容一、综述二、构件接口三、构件实现四、构件分类五、构件与容器六、COM与EJB2EJB:EnterpriseJavaBean是服务器端的软件构件规范是面向分布式、事务处理的企业级应用系统的构件而在此之前的JavaBean重点在于允许开发者在开发工具中可视化地操纵构件EJB保持了Java“一次编写,随处可用”的特点一、综述3构件包含对企业数据进行操作的业务逻辑构件实例由容器在运行时创建并管理构件在部署时可以通过编辑其环境入口而定制各种服务信息(事务、安全等属性)被从构件类中剥离出来并使得服务信息可以在系统组装或
2、者部署时管理4客户对构件的访问通过容器间接进行如果构件仅使用EJB规范定义的服务它可以被部署在任意容器中构件可以在不修改源代码、不重新编译的前提下加入到一个应用系统中构件提供者定义构件的客户视图5EJB是相对粗粒度的业务对象例如定单、雇员记录等细粒度的对象例如定单行、雇员地址等不适于模型化为构件EJB的粒度6EnterpriseBeaninstanceContainerEJBServerClientDeploymentdescriptorcomponentcontractclient-viewEJB边界7二、构件接口构件提
3、供者为便于复用者(客户)复用该构件所提供的必要的信息(特别是接口信息)构件容器协作实现这些接口8构件的接口主要包括实例接口与类型接口EJB:HomeInterfaceComponentInterface(RemoteInterface)这两类接口的划分与客户向服务器发出的请求密切相关一种请求特定于具体构件实例与这种请求对应的接口简称为实例接口一种请求不特定于具体构件实例与这种请求对应的接口简称为类型接口EJB构件包含哪些接口?91、homeinterface定义了客户创建、删除、查找同类EJB对象的方法以及主业务方法(不特
4、定于具体实例的方法)由构件提供者进行描述由构件容器负责创建实现这些接口的对象homeinterface扩展javax.ejb.EJBHome接口一个客户可以通过标准的JAVA接口JNDI(JavaNamingandDirectoryInterface)获取一个EJB的(JNDI)API10packagejavax.ejb;importjava.rmi.Remote;importjava.rmi.RemoteException;publicinterfaceEJBHomeextendsRemote{publicabstrac
5、tEJBMetaDatagetEJBMetaData()throwsRemoteException;publicabstractHomeHandlegetHomeHandle()throwsRemoteException;publicabstractvoidremove(Objectobj)throwsRemoteException,RemoveException;publicabstractvoidremove(Handlehandle)throwsRemoteException,RemoveException;}jav
6、ax.ejb.EJBHome接口(EJBHome.java)11getEJBMetaData方法用于获取关于构件的元信息例如构件的类型接口、构件的实例接口、实体构件的主键类等等getHomeHandle方法用于获取构件的homeHanlehomeHandle允许对构件的home引用进行存储remove方法用于删除构件实例其参数是构件的handle或者实体构件的主键remove方法对不同类型的构件的影响不同对于会话构件remove方法将结束客户的会话过程关于构件的引用不再发生作用对于有态构件,所有的话态将丢失对于实体构件re
7、move方法同样使得构件的引用不再发生作用同时将构件实例对应的数据项从数据库中删除12Homeinterface(例子)importjava.io.Serializable;importjava.rmi.RemoteException;importjavax.ejb.CreateException;importjavax.ejb.EJBHome;publicinterfaceConverterHomeextendsEJBHome{Convertercreate()throwsRemoteException,CreateEx
8、ception;}132、remoteinterface定义了由客户调用的具体业务方法由构件提供者描述构件容器负责创建实现这些接口的对象remoteinterface扩展javax.ejb.EJBObject接口javax.ejb.EJBObject接口定义了允许客户访问EJB对象identity及为E
此文档下载收益归作者所有