中间件技术原理及应用课件_第1页
中间件技术原理及应用课件_第2页
中间件技术原理及应用课件_第3页
中间件技术原理及应用课件_第4页
中间件技术原理及应用课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第三章J2EE技术内容:

3.1J2EE概述

3.2EJB模型

3.3EJB角色

3.4会话Bean 3.5实体Bean 3.6消息驱动Bean2参考教材《精通EJB》[美]EdRoman电子工业出版社中国IT实验室/3J2ME——Java2MicroEditionJava2平台微型版:用于嵌入式系统开发,例如掌上电脑,手机,仪表等。J2SE——Java2StandardEditionJava2平台标准版:用于创建典型的桌面与工作站应用的Java平台,是实现可伸缩性、可移植性、分布式异构互操作应用软件开发的标准平台。

J2EE

——Java2EnterpriseEditionJava2平台企业版:用于创建可扩缩的分布式的企业应用平台,例如电子商务网站和ERP系统。3.1J2EE概述4J2EE可以提供什么分布式、可移植构件的框架简化服务器中间层构件的设计为构件和应用服务器提供标准API5J2EE可以为开发者和用户带来更短的开发时间可重用组件JSPEJB自由的选择基于开发的标准简化的连接XML、JDBC、RMI-IIOP、WebService6J2EE四层模型浏览器JavaBeanAppletWeb服务器JSPServeletJSPEJB容器EJB桌面Java应用ServeletEJB数据库数据库客户端显示逻辑业务逻辑企业信息系统EJBEJBHTTPJDBCJDBCJDBCRMI/IIOP7J2EE相关技术1、EJB:定义服务端组件的编写规则、组件之间的交互规则和应用服务器对组件的管理规则。2、RMI:Java远程方法调用,提供跨进程的组件通信和相关的通信服务。3、RMI-IIOP:扩展了RMI,提供与CORBA的集成,用于J2EE的正式API。4、JNDI:Java名称和目录接口,用于网络中定位组件和其他资源。5、JDBC:提供关系数据库的连接和相应的数据库操作。6、JTA和JTS:使组件支持事务处理的的规范。8J2EE相关技术(续)7、JMS:用于分布式对象的异步通信。8、JavaServlets和JSP:适用于请求/应答模式分布式计算的网络组件。9、JavaIDL:用于基于Java的CORBA实现,使Java与其他编程语言集成。10、Connectors:使J2EE可以运行高端事务处理的主机系统集成。11、JCA/JCE/JSSE/JAAS:安全服务体系,专门处理身份验证及权限管控的标准服务。93.2EJBEJB的定义是:EJB是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。EJB规范说明定义了Java的服务器端构件模型。EJB是在容器里执行的,Sun公司也发布了EJB容器的规范,EJB可以在任何符合规范的容器中运行,容器其实就是给EJB提供服务的。10EJB的核心思想是将商业逻辑与底层的系统逻辑分开,由EJB容器实现目录服务、事务处理、持久性、安全性等底层系统逻辑,并且可创建具有动态扩展性的服务器应用。EJB技术基于JavaRMI-ⅡOP和JNDI技术,包括规范和Java接口两部分。11EJB模型客户EJBHomeEJB构件事务服务数据库或遗留系统远端调用接口业务逻辑方法服务器容器EJB对象命名服务安全服务……12EJB的构成EJB类EJB容器EJB对象Home对象与Home接口本地接口部署描述供应商特有文件Ejb-jar文件13EJB类EJB类是一个Java类,用户在EJB类中根据需要编写完成各种业务功能的具体实现代码。EJB规范定义一些标准接口以供Bean类实现,这些接口强制规定公开编写某些Bean类必须提供的方法。容器调用这些强制实现的方法来管理Bean。所有的Bean类都必须实现的最基本的接口是:javax.ejb.EnterpriseBean接口。这个接口起到标识接口的作用。14EJB类(续)对于会话Bean,典型的EJB类包含与商务过程相关的逻辑。必须实现javax.ejb.SessionBean接口。对于实体Bean,典型的EJB类包含与商务数据相关的逻辑。必须实现javax.ejb.EntityBean接口。对于消息Bean,典型的EJB类包含面向消息的逻辑。必须实现javax.ejb.MessageDrivenBean接口。15EJB容器EJB容器是EJB组件的运行环境。EJB容器装载EJB,并且使得客户端程序能进行远程调用。EJB容器负责将客户端程序连接到Beans,执行事务协调,提供数据存储,管理Bean的生命周期等。从本质上讲,EJB容器是客户端程序和Bean之间看不见的中间人。16EJB容器(续)一致性安全性可获得性生命周期管理事务性分布性可伸缩性持久性17EJB对象EJB对象——请求拦截器EJB对象是一种代理对象,具有网络功能,执行事务处理,提供安全措施等。在Bean类实例响应方法调用之前,EJB对象知道如何执行EJB容器所要求的中间逻辑。EJB对象复制并公开Bean本身具有的所有公开商务方法,把客户端所有的请求传递给Bean。EJB对象是EJB容器本身的一部分,所有的EJB对象都包含与特定EJB容器有关的代码。EJB容器自动生成EJB对象的类文件。18EJB对象(续)19Home对象客户端如何获得对EJB对象的引用?Home对象是EJB对象的生成库,负责对EJB对象的实例化和回收。主要职责:生成EJB对象查找现有的EJB对象删除EJB对象对于每个EJB容器,Home对象都是专用的,特定的,是EJB容器的一部分,由EJB容器提供商提供的软件工具自动生成。20Home接口Home对象如何知道怎样初始化EJB对象?Home接口定义一组方法来创建新的EJB对象,查找、定位和清除已有的EJB对象。Home接口仅仅定义生成、回收、查找EJB对象方法,具体的由Home对象来实现。Home接口必须扩展javax.ejb.EJBHome

接口,而该接口又从java.rmi.Remote扩展而来,因此Home对象是完全具有网络功能。EJB构件部署时容器会自动生成相应Home对象。21Home接口和Home对象22本地接口本地接口是EJB2.0的新功能,它实现通过本地对象以一种快速、高效的方式调用EJB。本地对象实现本地接口,过程如下:客户调用本地对象;本地对象完成所需中间件服务;本地对象调用EJB实例完成相应服务后,将控制权返回给本地对象,本地对象再将控制权返回给客户。缺陷:只有在同一进程中调用Bean时,才有效。通过引用而不是通过值传递参数。23部署描述部署描述声明一个指定的Bean应该如何使用中间件,而不是编写代码使用中间件。部署描述可用来描述下列要求:Bean的管理和生命周期要求持久性要求事务处理要求安全性要求部署描述是一个XML文件。部署描述实现了不改变EJB组件源代码就调整组件使之适用于特定的部署应用环境。24供应商特有文件每个EJB服务器供应商都有一些自己独特的增值特性,EJB规范没有涉及这些特性,例如,怎样配制装载平衡、群集、监控等。EJB服务器供应商一般要求包括一些供应商特有文件,例如,XML文件、文本文件或者二进制文件。供应商特有文件不能在不同应用服务器之间移植。25Ejb-jar文件Ejb-jar文件是一个.zip压缩文件,包含Bean类、Home接口、Remote接口及部署描述文件。Ejb-jar文件一旦生成,即代表EJB设计完成,可成为应用服务器的一个可部署应用单元了。部署EJB时,EJB容器提供商提供解压缩工具读取和提取Ejb-jar文件内的信息,部署员从而执行其特定的任务。Ejb-jar文件是所有EJB工具都必须支持的标准特性。26Ejb-jar文件(续)27EJB服务器/EJB容器客户名称服务HOME对象EJB对象EJB实例J2EE服务JNDI1、客户检索Home对象引用2、返回Home对象引用5、返回EJB对象引用3、创建或查找EJB对象6、调用业务方法9、将方法返回值传给客户Home接口Remote接口4、创建或查找EJB对象8、返回方法7、取得Bean实例并将方法传给它容器控制调用中间件API客户与EJB的交互过程28EJB角色及生命周期图企业bean提供者企业bean应用程序组装者应用程序配置者容器EJB容器提供者EJB服务提供者系统管理员服务器管理工具开发配置与执行3.3EJB角色29企业bean提供者是金融或电信等应用领域的专家。提供了业务方法,定义了beans的远端调用接口和Home接口,还定义了beans的配置描述符。不需要关心分布处理、事务处理、安全性能等方面的问题。30应用程序组装者负责将定制的企业beans和其他的构件组装成一个完整的应用系统。接受企业beans提供者输出的EJB-jar文件作为自己的输入,在配置描述符中插入应用程序组装指令。必须掌握所有的EJB的远端调用接口和Home接口,而不关心这些接口是怎么实现的。31配置者配置者负责将ejb-jar文件配置到用户的系统环境中。系统环境包含某种EJBServer和EJB容器。配置者必须保证所有在配置文件中声明的资源可用。配置过程1.利用EJB容器提供的工具生成一些类和接口,使EJB容器能够利用这些类和接口在运行状态管理EJB。2.安装EJB组件和其他在上一步生成的类到EJB容器中。配置者是某个EJB运行环境的专家。某些情况下,配置者在配置时还需要了解EJB包含的业务方法,以便在配置完成后,写一些简单的程序测试程序。32EJB容器提供者提供EJB容器,为已配置成功的EJB组件提供运行环境。EJB容器负责为EJB应用提供服务。容器提供者必须是系统级的编程专家,还要具备一些应用领域的经验。工作主要集中在开发一个可伸缩的、具有交易管理功能的集成在EJB服务器中的容器。容器提供者为EJB组件开发者提供了一组标准的、易用的API访问EJB容器。容器提供者负责提供系统监测工具用来实时监测EJB容器和运行在容器中的EJB组件状态。33EJB服务器提供者EJB服务器提供者是系统领域的专家,精通分布式交易管理,分布式对象管理及其它系统级的服务。EJB服务器提供者一般由操作系统开发商、中间件开发商或数据库开发商提供。在目前的EJB规范中,假定EJB服务器提供者和EJB容器提供者来自同一个开发商,所以,没有定义EJB服务器提供者和EJB容器提供者之间的接口标准。34系统管理员系统管理员负责为EJB服务器和容器提供一个企业级的计算和网络环境。系统管理员负责利用EJB服务器和容器提供的监测管理工具监测EJB组件的运行情况。353.4会话Bean会话bean(维护会话):模拟商务处理过程对象,表示客户所要完成的工作,如电子商店的购物车。36会话Bean37会话Bean38会话Bean会话Bean——商务处理过程会话Beans分无状态和有状态两种。无状态的会话Beans通常模拟商业逻辑,比如汇率转换、计算商品价格等。有状态的会话Beans通常模拟商业过程,它会临时保存客户信息。一个会话Beans的典型例子是网上的购物车。两种会话Beans都不保存状态信息或数据,当客户断开连接或服务器关闭时,会话Beans随之消失。393.4.1开发无状态会话Bean1、什么是无状态会话Bean——Stateless无状态会话Bean每次调用只对客户提供业务逻辑,但不保存客户端的任何数据状态。无状态会话Bean的状态,被保持在客户端,容器不负责管理。无状态会话Bean在EJB中是最简单的一种Bean,如果数据实际上是瞬时映像,则建议使用无状态会话Bean。如果数据状态非常敏感,则不要使用无状态会话Bean,这些情况可以使用有状态会话Bean,将用户状态保存到服务器中。402、无状态会话Bean生命周期无状态会话Bean寿命周期由容器控制。当部署一个EJB时,容器会为这个Bean分配几个实例到组件池中;当客户请求一个Bean时,J2EE服务器将一个预先被实例化的Bean分配出去;空闲的Bean不在方法中或事务中;客户长时间不用;如果全部的实例都已用完则会自动生成一个新的实例放到池中,并分配给请求者。41无状态会话Bean生命周期无状态会话Bean有两种状态:存在或不存在。42无状态会话Bean创

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论