主讲人王廷蔚.ppt
《主讲人王廷蔚.ppt》由会员分享,可在线阅读,更多相关《主讲人王廷蔚.ppt(54页珍藏版)》请在三一文库上搜索。
1、主讲人:王廷蔚,EJB,2,EJB是J2EE规约中最重要的部分。EJB提供了让客户端使用远程分布式对象的框架,极大地简化了具有良好的可扩充性的企业级应用的开发。 EJB规约规定了EJB构件(指符合EJB规约的构件)如何与EJB容器(container)进行交互,而EJB 容器则提供诸如目录服务、事务管理、安全、连接池管理、容错等服务。,3,EJB的概念,EJB不是一种“产品“,而是为开发和使用基于事务和分布对象应用的服务器端构件而定义的一种技术规约。 (1) 符合EJB规约的构件是一组分布式的对象,它们通过所谓EJB容器的控制,为分布式用户提供远程服务。EJB规约保证了EJB构件的可复用性。
2、(2) EJB规约定义了EJB构件与EJB容器之间的交互机制,描述了EJB构件和EJB容器在运行时的行为,保证了EJB构件在容器间的易移植性。 (3) EJB规约定义了EJB容器和EJB服务器的标准模型,各软件厂商可开发实现该模型的各种EJB服务器产品。,4,EJB目标,EJB的目标是为服务器端构件系统定义一个技术规范。 该规范能提供一个标准的、分布的、基于OO的体系结构 能屏蔽复杂的系统级功能需求 能兼容 CORBA 标准,有与非 Java 应用之间的互操作能力,5,EJB的特点,(1) 清晰的体系结构 支持多层应用体系结构和基于构件开发。 (2) 简化的编程模型 EJB构件的开发者只需关注
3、业务服务实现,一些复杂的任务如生命周期管理、持久性、事务处理、安全、一致性及资源管理等等都是由EJB容器负责。 (3) 通用的编程模型 提供各种服务的高层API ,Java是其编程语言。 (4) 易移植性 可以部署到任何兼容的 EJB 容器中。 (5) 支持事务处理 可以通过在代码外的描述来定义事务处理。,6,(6) 可扩展性 可以根据应用的增长而扩展,EJB 服务器往往还提供了负载平衡。 (7) 安全性 由 EJB 服务器提供资源的访问权限控制。,7,EJB体系结构,8,EJB体系结构,EEJB服务器 EJB服务器的主要功能: (1) 管理 EJB 容器 (EJB 容器则管理 Bean) (
4、2) 提供对操作系统服务的存取 (3) 提供 Java 相关的服务,特别是 (A) 通过 JNDI 访问命名空间 (B) 基于 OTS 的事务处理服务,9,EJB容器 EJB构件并不在 EJB 服务器的顶部直接执行。一个称为EJB容器的中间件在EJB服务器环境中运行,EJB 容器为EJB构件提供操作环境。主要来说,EJB容器管理了以下的系统级问题: (1) 持久性(Persistence): 容器决定何时载入储存状态,又可分为CMP (Container-Managed Persistence) 和BMP(Bean-Managed Persistence)。 (2) 生命周期管理(Life C
5、ycle Management): 容器管理EJB构件的实例,使EJB构件实现最大的效能和内存利用率。容器能够激活和钝化EJB构件、管理实例池等等。 安全性(Security):,10,(3) 事务管理(Transaction Management): 容器负责管理分布式事务处理的复杂问题。 部署描述文件定义了客户能够访问的不同的应用函数。容器只允许授权的客户访问这些受保护的函数。 远程连接(Remote Connectivity): 容器为远程连接,管理底层的通信问题,而且对EJB构件的开发者和客户都隐蔽了通信问题。,11,EJB客户端 EJB客户端是指请求EJB构件服务的应用程序。EJB规
6、约为创建EJB构件的客户接口定义了一套标准。这套标准主要包括: (1) EJB Home接口: EJB Home接口为客户机创建、删除、查找EJB Remote接口对象的句柄提供了相应的操作。 EJB客户机使用JNDI来查找对EJB Home接口的引用。 (2) EJB Remote接口: EJB客户机通过EJB Remote接口调用EJB构件的业务方法。,12,EJB的组成,EJB并不是一个单独的文件,它由一些类、接口、描述文件和其他一些资源文件组成。 1) EJB类 Bean的第一部分是实现基本方法的类,这个类封装了需要实现的商务逻辑。这个类需要遵循一些规范,并要与一些严格定义的接口保持一
7、致。不同类型的Bean的要求也不一样。对于会话Bean,这个类主要包含一些商务逻辑;对于实体Bean则主要包含一些数据逻辑;而对于消息驱动Bean,则主要包含一些消息处理逻辑。,13,2) EJB对象 EJB对象运行在EJB容器中,EJB容器通过Bean提供的方法来管理Bean。当客户端需要调用EJB时,并不直接与Bean类提供的方法打交道,客户端的调用被EJB容器截获,而EJB对象则充当了Bean类实例的代理。EJB对象是根据Bean类、某些接口和某些描述文件,并通过专门的工具来生成的,它负责和一些中间层API打交道。EJB容器是客户端和Bean类之间的中间层,这个中间层负责管理一个能处理底
8、层网络通信的对象,这个对象就是EJB对象。 EJB对象复制了Bean类的商业方法,并代表Bean类来响应客户端的调用。EJB对象在物理上是EJB容器的一部分。,14,3) Remote 接口 Bean的客户端直接与EJB对象打交道,而不是直接调用Bean类的方法,所以EJB对象必须复制Bean类提供的每一个方法,Remote Interface告诉EJB对象自动生成工具需要复制Bean类的哪些方法。 实现Remote 接口的对象是EJB对象(javax.ejb.EJBObject),EJB对象首先要实现EJBObject接口中定义的方法,然后还需要实现用户定义的Remote接口中的方法。,15
9、,4) Local接口 有的时候Bean的调用并不没有经过网络,比如在同一个容器中不同Bean之间的调用,则不需要经过stubskeletonEJBObject中间层APIBean实例返回的过程,用户可以使用Local对象来调用Bean实例。Local接口是从javax.ejb.EJBLocalObject继承的。 5) Home对象和 Home接口 Home对象的主要功能是:创建、查找、删除EJB对象。Home对象在物理上是EJB容器的一部分,由专门的工具自动生成的。 Home 接口提供了容器自动生成Home对象所需要的信息。从而使Home对象能提供给EJB对象的初始化方法。,16,(3)
10、RMI/IIOP或RMI/JRMP协议: RMI/IIOP或RMI/JRMP是EJB客户机与EJB服务器进行通信的标准协议,这些底层的分布式通信机制对于EJB客户机和EJB构件开发者都是透明的。,17,EJB的分类,EJB2.0定义了3种类型的Bean。 (1) 会话(Session)Bean 会话Bean用于描述商业处理过程,会话Bean可以作为其他Bean的客户端,调用其他Bean的方法。 (2) 实体(Entity)Bean 实体Bean用于描述数据,它是数据信息的Java缓冲对象。实体Bean提供了持久数据的操作与表示。可以同时与多个客户机进行交互,系统结束时其运行状态仍能保留。 (3
11、) 消息驱动(Message-driven)Bean 消息驱动Bean集成了Java消息服务(JMS)和企业Bean的功能。不能由客户端直接获得其引用而调用其方法,只能由系统消息来启动。,18,开发一个EJB组件,必须创建以下四个文件: (1) EJB Home接口 EJB Home接口定义了一些方法供EJB客户端创建和查找EJB对象。 (2) EJB Remote接口 EJB Remote接口定义了EJB的业务方法,EJB所有的业务方法必须在Remote接口定义才能够被客户端访问。 (3) EJB类 EJB类实现了EJB Remote接口中定义的业务方法。 (4) Ejb-jar.xml E
12、jb-jar.xml包含了该EJB组件的配置信息。,19,EJB开发步骤,(1) 声明远程接口 (2) 声明本地接口 (3) 实现Bean类 (4) 部署J2EE应用 (5) 客户端编程 (6) 编译及运行,20,企业Bean的优点,首先EJB容器给企业Bean提供了系统级服务,使Bean开发者可以专注于商务问题的解决。 其次因为企业Bean而不是客户端实现商务逻辑,客户端开发者就可以致力于客户端表述的开发,而不必为实现商务规则或者数据库访问的日常处理而编码了。 最后,因为企业Bean是可移植的,应用程序组装者可以用现有的企业Bean建立新的应用程序。这些应用程序可以在任何兼容的J2EE服务器
13、上运行。,21,何时需要使用企业Bean,你的应用程序需要不断的升级。为了适应不断增长的用户,你可能需要将你的应用程序组件分布在多台不同的机器上运行。虽然并不仅仅是企业Bean可以在不同的机器上运行,但企业Bean的运行位置对于客户端始终是透明的。 需要用事务机制来保证数据完整性。企业Bean支持事务机制以提供对共享资源并发访问的管理。 应用程序需要支持众多不同类型的客户端。只需要极少的几行代码,远程客户端就可以很容易的访问到企业Bean。这些客户都可以很“瘦”并且在理论上可以是任意数量不同类型的客户端。 企业Bean的分类,22,会话Bean,会话Bean表现连接到J2EE服务器的一个单独的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 主讲 人王廷蔚
链接地址:https://www.31doc.com/p-2713434.html