第02章EJB设计——体系结构ppt课件.ppt

上传人:牧羊曲112 文档编号:2103514 上传时间:2023-01-10 格式:PPT 页数:60 大小:1.85MB
返回 下载 相关 举报
第02章EJB设计——体系结构ppt课件.ppt_第1页
第1页 / 共60页
第02章EJB设计——体系结构ppt课件.ppt_第2页
第2页 / 共60页
第02章EJB设计——体系结构ppt课件.ppt_第3页
第3页 / 共60页
第02章EJB设计——体系结构ppt课件.ppt_第4页
第4页 / 共60页
第02章EJB设计——体系结构ppt课件.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《第02章EJB设计——体系结构ppt课件.ppt》由会员分享,可在线阅读,更多相关《第02章EJB设计——体系结构ppt课件.ppt(60页珍藏版)》请在三一办公上搜索。

1、EJB 体系结构,内容提要,EJB体系结构中的构件EJB容器EJB客户EJB容器服务EJB开发角色,EJB体系结构中的构件,一、EJB体系结构中的构件,EJB体系结构由6种构件组成Enterprise BeanHome InterfaceRemote InterfaceEJB ContainerEJB ServerEJB Client,1、Enterprise Bean,Enterprise Bean包含商业逻辑代码的Java类提供商业方法供调用被部署到EJB应用服务器上可以被组装形成大型的EJB应用,1、Enterprise Bean,EJB执行支持客户应用解决实际问题的任务例如某Enter

2、prise bean为客户应用完成如下任务:从数据库中获取最新的股票价格,并根据价格计算当前的收益值,(1)Session Bean,Enterprise bean包含三种类型,第一类为Session bean。Session bean存在于客户应用与应用服务器交互的时间段内Session bean中的数据不保存在数据库中Session bean可以是有状态的或无状态的,(1)Session Bean,Stateless Session Bean在方法调用中间不维护任何状态同时可以处理多个客户应用的请求Stateful Session Bean要跨方法调用保存会话状态同时只处理一个客户应用的请

3、求,(2)Entity Bean,第二类Enterprise bean是Entity BeanEntity Bean代表数据库中的记录Entity Bean在数据库中的数据存在期间都会存在Entity Bean可以被多个客户应用访问,(3)Message Driven Bean,第三类Enterprise bean是Message Driven BeanMessage Driver Bean用来处理异步消息Message Driver Bean一般不是由客户端调用的当有异步消息发送到某Message Driven Bean,容器会调用Message Driven Bean的回调方法OnMess

4、age,2、Home Interface,EJB体系结构中的另一类构件是Home InterfaceHome Interface包含enterprise bean生命周期管理的相关方法客户程序使用Home Interface创建或删除enterprise bean的实例,3、Remote Interface,EJB体系结构中的另一类构件是Remote InterfaceRemote Interface包含enterprise bean实现的商业方法的定义定义了enterprise bean提供的服务客户程序只能通过remote interface访问enterprise bean实现的商业方法

5、,不能直接调用。,4、Local Interface与LocalHome Interface,EJB 2.0中引入了本地接口Local接口完成与Remote接口类似的功能LocalHome接口完成与Home接口类似的功能本地接口的不同之处在于客户应用通过本地接口发起的调用是本地调用比远程接口有更高的效率要求客户应用和enterprise bean在同一个进程(虚拟机)内例如一个Session Bean要访问同一容器内的某个Entity Bean,可以使用Entity Bean的本地接口以获得更高的执行效率,二、EJB容器(EJB Container),EJB ContainerEJB Cont

6、ainer为enterprise bean提供运行环境,并管理运行于其中的enterprise bean理论上讲,一个EJB容器可以包含任何数量的enterprise bean,(1)EJB Container,EJB Container为enterprise bean的执行提供系统级的服务如自动将enterprise bean的home interface注册到一个目录服务中自动注册服务支持客户应用查找定位enterprise bean的实例,(2)EJB Server,EJB ServerEJB Server是遵循EJB定义的构件模型的CTM实现一个EJB Server可以包含一个或多个E

7、JB容器,(2)EJB Server,EJB Server为EJB容器的运行提供服务框架服务框架支持系统级服务如JNDI服务:JNDI服务是一种命名目录服务,支持客户应用在网络环境中访问enterprise bean,三、EJB客户,EJB体系结构中另一种构件是EJB客户EJB客户是调用enterprise bean提供的商业方法的应用EJB支持多种形式的客户,三、EJB客户,EJB客户可以是独立的Java程序,也可以是运行在Web服务器上的servlet或JSP。Servlet或JSP形式的EJB客户端响应Web客户的请求,三、EJB客户,EJB客户还可以是其它的enterprise bea

8、n例如session bean经常作为entity bean的客户端来访问持久数据,几点说明,每个enterprise bean都有一个home interface(和/或localhome interface)和一个remote interface(和/或local interface)。从使用服务的角度来看,程序员可以认为EJB Container和EJB Server提供的服务都是由容器提供的。,四、EJB容器服务,运行时服务,EJB容器服务,EJB容器为enterprise bean的执行与管理提供服务程序员可以在部署描述符中声明这些服务的使用,1、Remote Client Conn

9、ectivity,Remote Client Connectivity是EJB容器提供的最基本的服务:该服务支持远端的客户应用访问enterprise bean,1、Remote Client Connectivity,EJB容器使用JNDI服务将enterprise bean的home interface注册到一个目录服务中;客户应用通过JNDI服务接口获取特定enterprise bean的home接口的引用。,2、Life Cycle Management,EJB容器向enterprise bean提供生命周期管理服务生命周期管理服务支持管理enterprise bean的生命周期基于生

10、命周期管理服务,enterprise bean可以为来自多个客户应用的请求服务,2、Life Cycle Management,在处理来自多个客户应用的请求时,EJB容器会改变enterprise bean的状态Enterprise bean的状态表明EJB容器中是否存在enterprise bean的实例。,2、Life Cycle Management,EJB容器创建enterprise bean的实例,EJB容器中不存在enterprise bean的实例,例如当客户应用请求某个enterprise bean的商业方法时,如果EJB容器中不存在该enterprise bean的实例,EB

11、J容器就会为该enterprise bean创建一个实例。,2、Life Cycle Management,当一个enterprise bean的实例不再被客户程序使用时,EJB容器会删除其实例。,EJB容器删除enterprise bean的实例,enterprise bean的实例不再被客户应用使用,2、Life Cycle Management,Enterprise bean的生命周期包含三个状态Pooled State Ready StateNo State,2、Life Cycle Management,Pooled StatePooled状态表明enterprise bean的实例

12、存在于对象池中处于pooled状态的enterprise bean实例不与任何EJB对象关联EJB对象:类型为远程接口的对象,要提供服务需要和真正的enterprise bean实例关联。,2、Life Cycle Management,Ready State处于ready状态的enterprise bean实例建立了与EJB对象的关联可以处理客户应用的请求,2、Life Cycle Management,No StateNo状态表明EJB容器中不存在enterprise bean的实例该状态表明一个enterprise bean生命周期的开始与结束,3、Declarative Transac

13、tion Management,声明性事务管理声明性事务管理服务自动管理客户应用与enterprise bean交互的开始与结束,EJB容器管理客户应用与enterprise bean之间的交互,3、Declarative Transaction Management,声明性事务管理基于程序员在部署描述符中声明的enterprise bean的事务属性。Enterprise bean的事务属性表明了在一个事务中,enterprise bean与客户应用交互的方式。,3、Declarative Transaction Management,例如如果一个enterprise bean的事务属性为R

14、equired,则表明如果客户应用使用了事务控制,则商业方法在客户应用的事务中执行,否则在容器管理的事务中执行。,Transaction attributes,T1:客户端控制事务 T2:容器控制事务NONE:没有事务控制 ERROR:出错,Transaction attributes(cont),T1:客户端控制事务 T2:容器控制事务NONE:没有事务控制 ERROR:出错,4、Security Management,安全性管理安全性管理保证只有授权用户才能够访问EJB应用中的enterprise bean。,授权用户,未授权用户,ACLAccess Control List,安全性管理基

15、于ACLAccess Control ListACL定义了EJB应用所使用的安全性角色一个安全性角色代表了一组有权访问EJB应用的用户ACL还为每个安全性角色定义了方法许可权(Method Permission)方法许可定义了该角色可以访问的一组home和remote接口的方法每个该角色的用户都可以调用这些方法,ACL,基于ACL,安全性管理服务允许ACL中所包含的用户访问EJB应用。,授权用户,未授权用户,5、Persistence Management,持久性管理持久性管理管理entity bean数据的存储与获取EJB容器提供持久性管理所采用的机制是与具体的厂商相关的。,EJB容器管理E

16、ntity Bean数据的存储与获取,6、Resource Management,资源管理资源管理服务管理大量的enterprise bean这些bean在处理客户应用的请求时需要用到资源资源管理服务将这些资源在大量的enterprise bean之间共享,EJB容器管理大量的enterprise bean,6、Resource Management,数据库连接资源建立数据库连接是很耗时的资源管理服务维护一组活跃的数据库连接Enterprise bean可以快速的获取可用的数据库连接一个enterprise bean释放的数据库连接可以被其它bean重用,数据库连接,五、EJB开发角色,EJB

17、开发角色,EJB将开发部署EJB应用的任务划分到了六个角色Enterprise Bean ProviderApplication AssemblerEJB DeployerEJB Server ProviderEJB Container ProviderSystem Administrator,1、Enterprise Bean Provider,Enterprise Bean Provider编写EJB应用所需的构件,分别是可重用商业构件(如Enterprise Bean)Home InterfaceRemote InterfaceDeployment Descriptor,编写EJB应用所

18、需的构件,1、Enterprise Bean Provider,Enterprise Bean Provider编写的第一类构件是可重用的商业构件,如enterprise beanEnterprise bean包含应用的商业逻辑,Enterprise Bean,1、Enterprise Bean Provider,Enterprise Bean Provider编写的第二类构件是home interfaceHome Interface包含enterprise bean生命周期管理的相关方法Enterprise Bean Provider编写的第三类构件是remote interfaceRemo

19、te Interface包含商业方法的定义,Home Interface,Remote Interface,1、Enterprise Bean Provider,DeploymentDescriptor,Enterprise Bean Provider编写的第四类构件是Deployment Descriptor在部署描述符中,Enterprise Bean Provider指明enterprise bean的名字、事务属性、以及安全性角色等,2、Application Assembler,Application Assembler组合enterprise bean以构建大型应用每个enterp

20、rise bean在它所构成的应用中完成一定的功能,组合Enterprise Bean以构建大型应用,2、Application Assembler,Application Assembler在部署描述符中编写组装enterprise bean的代码这些代码中包含构成应用的多个enterprise bean之间关联的定义这些关联将多个enterprise bean组装成应用,Enterprise Bean之间的关联,3、EJB Server Provider,EJB Server Provider为EJB容器提供运行时环境提供的产品是EJB服务器为EJB容器提供服务框架,为EJB容器提供运行时

21、环境,4、EJB Container Provider,EJB Container Provider为enterprise bean的执行提供系统级服务如home接口的自动注册提供部署工具支持将enterprise bean部署到EJB容器中提供图形化用户界面,支持部署描述符展现,为Enterprise Bean的执行提供系统级服务,提供部署工具,一点说明,一般不明确区分EJB Container Provider与EJB Server Provider二者通常由相同的厂商来充当,不明确区分EJB Container Provider与EJB Server Provider,5、EJB Dep

22、loyer,EJB Deployer将enterprise bean安装到运行环境中利用EJB Container Provider提供的部署工具安装enterprise beanEJB Deployer可以将enterprise bean部署到运行环境中时可以对其进行定制化,将Enterprise Bean安装到运行环境中,5、EJB Deployer,例如部署时配置enterprise bean的安全性角色EJB Deployer在部署时将enterprise bean所使用的安全性角色关联到运行环境中的安全性角色上。,将Enterprise Bean安装到运行环境中,6、System A

23、dministrator,System Administrator监控、维护EJB Server与部署的enterprise bean的日常运行,监控、维护EJB Server与部署的Enterprise Beans,6、System Administrator,系统管理员的第二个任务是配置EJB服务器与EJB容器除此之外,系统管理员还要进行安全管理如为某个安全性角色添加一个用户,配置EJB Server与EJB Container,6、System Administrator,系统管理员的第四个任务是处理系统级错误当客户应用与EJB服务器交互时,可能会发生系统级的错误例如网络中的某台计算机失效系统管理员应及时发行并处理类似的系统级错误,处理系统级错误,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号