java教程第18章 J2EE规范和EJB组件模型_第1页
java教程第18章 J2EE规范和EJB组件模型_第2页
java教程第18章 J2EE规范和EJB组件模型_第3页
java教程第18章 J2EE规范和EJB组件模型_第4页
java教程第18章 J2EE规范和EJB组件模型_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、Java程序设计程序设计第第18章章 J2EE规范和规范和EJB组件模型组件模型18.1 J2EE规范规范 lJava2平台有三个版本:它们是适用于小型设备和智能卡的Java2平台Micro版(Java2 Platform Micro Edition,J2ME)、适用于桌面系统的Java2平台标准版(Java2 Platform Standard Edition,J2SE)、适用于创建服务器应用程序和服务的Java2平台企业版(Java2 Platform Enterprise Edition,J2EE)。l由于J2EE的出现,使得目前Java的应用领域主要体现在企业级网络应用上,这些应用数据

2、处理量大、事务处理复杂、安全性要求高、客户分布广泛,能够充分发挥Java高校、安全、适合分布运行的特点。18.1.1 J2EE的基本概念的基本概念 lJ2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如“编写一次、随处运行”的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB、Java Servlets API、JSP以及XML技术的全面支持。l其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。保存现有的信息资产保存现有的信息资产 l由于基

3、于J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行,现有的操作系统和硬件也能被保留使用。 高效的开发平台高效的开发平台 l分布式共享数据对象CACHE服务:让开发人员编制高性能的系统,极大提高整体部署的伸缩性。 l状态管理服务:让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。l持续性服务:让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关的应用程序,这种应用程序更易于开发与维护。异构环境异构环境 lJ2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的

4、程序只需开发一次就可部署到各种平台。 4 4可伸缩性可伸缩性 l企业必须要选择一种服务器端平台,这种平台应能提供极佳的可伸缩性去满足那些在他们系统上进行商业运作的大批新客户。基于J2EE平台的应用程序可被部署到各种操作系统上。 5 5稳定的可用性稳定的可用性 l基于层次化组件模式的J2EE平台把业务逻辑和底层网络技术分离开来,具有可伸缩性、扩展性、易开发性和易维护性,已经成为企业级商业分布式网络计算的事实标准。 lJ2EE部署到可靠的操作环境中,他们支持长期的可用性。 18.1.2 J2EE框架框架 lJ2EE平台使用了多层的分布式应用程序模型。应用程序的逻辑根据其实现的不同功能被封装到组件中

5、,组成J2EE应用程序的大量应用程序组件根据其所属的层被安装到不同的机器中。 Web服务器JSPJSPServletJ2EEPlatformWeb层EJB容器EJBEJBJ2EEPlatform商业逻辑层浏览器ApplicationClientContainerPureHTMLJavaAppletApplicationClient客户层企业信息系统层数据库数据库客户机J2EE服务器EIS服务器一、客户端一、客户端 1. Web客户端l一个Web客户端由两部分组成:由运行在Web层的Web组件生成的各种包含标记语言(HTML、XML等)的动态Web页面,和接受从服务器传送来的页面并将它显示出来的

6、Web页面。Web客户端有时被称为瘦客户端。瘦客户端一般不做数据库查询、执行复杂的商业规则或连接传统应用程序子类的操作 2. Applets2. Applets l从Web层接收一个Web页面可能包含内嵌的applet,applet是用Java语言编写的客户端小应用程序,它运行于Java虚拟机中,后者通常安装在Web浏览器中。然而为了在Web浏览器中成功地运行applet,客户端系统很可能需要Java插件和安全策略文件。 3. 3. 应用程序客户端应用程序客户端 l一个J2EE应用程序客户端运行在客户端机器上,它使得用户可以处理需要比标记语言所能提供地更丰富地用户界面地任务。 二、二、J2EE

7、服务器服务器 lWeb组件 l业务逻辑组件 lJ2EE容器 18.1.3 J2EE的核心技术的核心技术 lJ2EE 平台由一整套服务(Services)、应用程序接口(APIs)和协议构成,如下图所示,它对开发基于Web 的多层、分布式应用提供了功能支持。 客 户 端 机 器浏 览 器应 用 程 序客 户 端 容 器应 用 程 序客 户 端J2EE服 务 器Web容 器JSP页 面ServletEJB容 器EnterpriseBeanEnterpriseBean数据库1. 1. 组件组件/ /容器技术容器技术 lEJB 容器管理所有J2EE 应用程序中EJB 的执行。lWeb 容器管理所有J2

8、EE 应用程序中JSP 页面和Servlet 组件的执行。 l应用程序客户端容器管理所有J2EE 应用程序中应用程序客户端组件的执行。 lApplet 容器是运行在客户端机器上的Web 浏览器和 Java 插件的结合。l容器设置定制了J2EE 服务器所提供的内在支持,包括安全,事务管理,JNDI(Java Naming and Directory Interface)寻址,远程连接等服务 2. Servlets2. Servlets 和和JSPJSP lJSP(Java Server Pages): JSP 页面由HTML 代码和嵌入其中的Java 代码所组成。 lServlet 是一种小型的

9、Java 程序,它扩展了Web服务器的功能。 3. EJB 3. EJB 技术技术 lEJB(Enterprise JavaBean)提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。 4. 4. 数据库访问数据库访问 lJDBC(Java Database Connectivity): JDBC API 为访问不同的数据库提供了一种统一的途径 5. 5. 分布式通信技术及分布示应分布式通信技术及分布示应用技术用技术 lJNDI lRMI lRMI-IIOP lJava IDL/CORBA lJMS lJTA lJTS lJavaMail l

10、JAF lJAXP lJCA 18.2 EJB组件模型组件模型 lEnterprise JavaBean (EJB)是Sun Microsystems对CORBA的可移植性和复杂性的解决方案。EJB 引入了比 CORBA 更简单的编程模块,它可以让开发人员创建可移植分布式组件,称作 Enterprise Bean。 l由于 EJB 规范颁布了一组明确的 EJB 容器(供应商服务器)和 EJB 组件(商业对象)之间的契约,因此 EJB 中实现了可移植性。这些契约或规则确切规定容器必须为 Enterprise Bean 提供什么服务,bean 开发人员需要使用什么 API 和声明属性来创建 Ent

11、erprise Bean。由于详细指定了 Enterprise Bean 的生命周期,因此供应商知道如何在运行时管理 bean,bean 开发人员确切知道 Enterprise Bean 在其存在期间可以做什么。 18.2.1 EJB容器容器 lEnterprise Bean 是在称作 EJB 容器的特殊环境中运行的软件组件。容器容纳和管理 Enterprise Bean 的方式与 Java Web 服务器容纳 Servlet 或 HTML 浏览器容纳 Java Applet 的方式相同。 l容器不允许客户机应用程序直接访问 Enterprise Bean。当客户机应用程序调用 Enterpr

12、ise Bean 上的远程方法时,容器首先拦截调用,以确保持续、事务和安全性都正确应用于客户机对 bean 执行的每一个操作。 18.2.2 远程和本地接口远程和本地接口 l远程和本地接口表示 bean,但容器不允许从客户机应用程序直接访问 bean。每次请求、创建、或删除 bean 时,容器都会管理整个过程。本地接口表示组件的生命周期方法(创建、破坏、查找),而远程接口表示 bean 的商业方法。远程和本地接口分别扩展 javax.ejb.EJBObject 和 javax.ejb.EJBHome 接口。 18.2.3 实体实体Bean l实体 Bean 是两种主要 bean(实体和会话)中

13、的一种。实体 Bean 用于表示数据库中的数据。它向 JDBC 或其它一些后端 API 经常访问的数据提供了一个面向对象的接口。不仅如此,实体 Bean 提供了一个组件模型,可以让 bean 开发人员将精力集中在 bean 的商业逻辑上,而容器负责管理持续、事务和访问控制。 l有两种基本的实体 Bean:容器管理的持续 (CMP) 和 bean 管理的持续 (BMP) 18.2.4 会话会话Bean l会话 Bean 用于管理实体 Bean 和其它会话 Bean 的交互、访问资源,它们通常代表客户机执行任务。l会话 Bean 对应于“模型-视图-控制器”体系结构中的控制器,因为它们都封装三层体系结构中的商业逻辑。l会话 Bean 有两种基本类型:无状态和有状态。无状态会话 Bean 包括类似于过程的商业方法;它们只对在被调用时传递给它们的自变量进行操作。l无状态 Bean 之所以称作无状态是因为它们是过渡的;他们不维护方法调用之间的商业状态。有状态会话 Bean 封装商业逻辑和特定于某个客户机的状态。l有状态 bean 之所以称作“有状态”是因为它们维护方法调用之间的商业状态,状态保留在内存中,并不持久。 18.2.5 部署部署EJB l部署

温馨提示

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

评论

0/150

提交评论