欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    部分企业级Java组.ppt

    • 资源ID:6146700       资源大小:9.88MB        全文页数:492页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    部分企业级Java组.ppt

    1,第三部分企业级Java组件,2,第6章Java 2 Enterprise Edtion,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,3,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,4,Java 2平台,5,What is J2EE?,支持以构件化的方法开发、部署、管理多层结构的分布式企业(Web)应用。提供一种统一的、开放标准的多层平台。构件依赖于系统级实体容器(Container)的运行时支持。容器提供:生命周期管理构件的部署为构件的运行指派线程(构件不是独立运行的)许多构件行为都可以在部署时以声明的方式进行定制。,6,J2EE平台技术,应用构件(组件)由开发人员实现,构成应用系统运行在J2EE平台上包含:客户端构件AppletsApplication Clients服务端构件Web构件(Servlets,JSPs)EJBs,7,J2EE平台技术,服务J2EE应用构件所使用的功能由J2EE平台提供商实现,分为:Service API(开发时使用)运行时服务,9,J2EE平台技术,通信支持协作构件之间的通信由Container提供,J2SE,J2SE,J2SE,J2EE平台的执行模型,JMS,JNDI,RMI/IIOP,JDBC,JavaMail,JAF,Application Client Container,JMS,JNDI,RMI/IIOP,JDBC,JTA,JCA,Web Container,EJB Container,Database,EIS(CICS),EIS(SAP),Applet Container,J2SE,Applet,ApplicationClient,Servlet,JSP,EnterpriseBean,HTTPSSL,HTTPSSL,RMI/IIOP,Client Tier,Middle Tier,EIS Tier,JavaMail,JAF,JMS,JNDI,RMI/IIOP,JDBC,JTA,JCA,10,Component/Container结构,Comp,Services J2EE Container,不需要关心底层(复杂的)常用服务的实现,提供底层常用的服务,Comp,Comp,Comp,11,Container,每个J2EE构件都运行在某个特定的容器内,容器由J2EE平台提供商提供。容器为组件提供特定的开发用服务和运行时服务(如生命周期管理、安全性管理、事务处理等)不同类型的容器提供不同的服务。,12,开发与部署的分离,开发与部署互不相关,不互相限制。开发与部署的分离大大提高了可重用性和可维护性,也使得软件不依赖于具体的厂商。开发人员一次开发的软件可以部署在不同的环境中不同的系统资源,如数据库不同厂商的平台上不同事务处理、安全性控制策略的应用场合开发与部署的分离要依赖于J2EE平台提供的大量的服务和系统级特性以及J2EE标准的开放性。,13,基于角色的开发过程,将构建整个软件系统的任务划分到不同的角色明确的划分任务与责任不同的阶段有不同的关注重点,这种划分使得每个角色仅关注他所要完成的工作实现了开发与部署的分离.,14,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,15,Client Side Components-Applets,Java类图形界面(GUI)组件,一般运行在Web浏览器中,也可以运行在支持applet编程模型的应用中(如Java SDK中的appletviewer)。在J2EE应用中一般用来提供用户界面。,16,Client Side ComponentsApplication Clients,Java程序一般具有图形用户界面。可以直接访问J2EE中间层的所有构件。可以直接调用EJB提供的服务。一般基于浏览器的客户端只能直接访问Web构件的服务,17,Server-Side Components-Servlets,Java类运行在服务端不需要图形界面接收HTTP请求,动态生成HTTP响应。,18,Server-Side Components-Servlets,/demostrate handling a GET requestimport java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class GetDemo extends HttpServletpublic void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOExceptionresp.setContentType(text/html);PrintWriter out=resp.getWriter();String username=req.getParameter(uname);String password=req.getParameter(userpw);out.println();out.println(GetDemo);out.println();out.println(Hello+username+);out.println(Your password was:+password+);out.println();out.println();out.close();,19,Server-Side Components-Servlets,20,Server Side Components-Java Server Pages(JSP),HTML document:嵌入了JSP特定的tag在页面中加入Java代码,动态生成页面的内容在服务器端,JSP页面被编译成Java Servlet执行。,Ch2 Simple jspDate and Time:hellohow are u?,21,Server Side Components-Enterprise JavaBeans(EJB)(1 of 2),EnterpriseJava Beans,Entity Beans,ContainerManagedPersistence,BeanManagedPersistence,Session Beans,Stateless,Stateful,Message DrivenBeans,EJB 2.0中引入,22,Server Side Components-Enterprise JavaBeans(EJB)(2 of 2),客户端利用JNDI查找EJB Home。客户端利用EJB Home的create方法创建一个 EJB。本地EJB Home通知容器创建一个远程 EJB构件。容器向客户端返回EJB Object stub。客户端调用EJB Object上的方法,调用被转发到远程的EJB完成。,23,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,24,JNDI支持在程序中存取带名字的 Java对象。用于在网络中查找/定位组件或资源。目录服务JNDI非常类似于通用的目录服务。目前有很多种可用的目录服务,如果编写 一个应用时使用了某种特定的目录服务,很难迁移到另一种目录服务上。,Service API-JNDI(1/6),25,Service API-JNDI(1/6),JNDI屏蔽了不同目录服务之间的差异。JNDI service API是和具体的目录服务无关的。这使得我们利用JNDI开发的应用可以不用修改代码而应用到不同的目录服务上。,26,Service API-JDBC(2/6),提供与厂商无关的数据库连接。提供一种通用的方法用来查询、更新关系 型数据库表,并且把数据库操作的结果 转化成Java的数据类型。一个JDBC驱动支持完成三件事情(跨平台):1.建立与数据库的连接2.向数据源发送查询和更新语句3.处理结果,27,Service API-JDBC(2/6),目前JDBC service API的版本是JDBC 2.0JDBC 2.0包含了一个内嵌的数据库连接池。增强了应用的数据库无关性。,28,Service API-JTA(3/6),事务(交易)管理支持可靠的服务端计算,这在很多关键系统中都是必需的。事务具有如下特性:原子性所有相关的操作必须全部成功;如果任何一个操作失败,则所有操作全部撤销。一致性 一致性保证事务所作的任何改变不会使系统处于无效状态。隔离性 并发的事务不会互相影响。事务访问的任何数据不会受其它事务所作的修改的影响,直到第一个事务完成。耐久性事务提交时,对数据所作的任何改变都要记录到持久存储器中。通常由事务日志实现。,29,Service API-JTA(3/6),More concerns on distributed transaction因为分布式事务可能会跨越多个组件、多台机器,并可能涉及多个数据源,所以需要一种两阶段提交协议来实现。JTA:Java Transaction API支持分布式事务处理的标准API,与实现无关。如WebSphere中,利用一种支持两阶段提交的数据库驱动来实现JTA。可以通过在代码外的描述来定义事务处理级别参Run-time Service-Transaction,30,Service API J2EE Connector Architecture(JCA)(4/6),J2EE Server Runtime,JCA,J2EE构件,J2EE构件,J2EE构件,Resource Adapterfor the EIS CICS,Resource Adapterfor the EIS IMS,Resource Adapterfor the EIS SAP,EIS(SAP),EIS(IMS),EIS(CICS),与具体要连接的系统无关的统一的API,由EIS厂商或者第三方厂商提供,31,Service API-Java Mail(5/6),Java Mail API定义了一组在程序中用来 调用邮件功能的API。这组API屏蔽了 真正的邮件服务所使用的协议。Sun提供了一种Java Mail API的实现,支持我们在应用中使用Email功能。,32,Service API-Java Mail(5/6),Java Mail service API使得Email可以在Internet中跨越平台和邮件协议传输。,33,Service API-Java IDL(6/6),Java IDL service API是用Java实现 的CORBA规范。支持异质(heterogeneous)对象的连接 与互操作性。,34,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,35,Run-time Services Life cycle,主要指EJB的生命周期管理由Container来管理运行于其中的构件的生命周期EJB规范统一了生命周期管理策略厂商实现J2EE平台时按照规范实现生命周期管理功能编写构件时要注意构件的生存期特性,36,Run-time Services-Transaction,事务(交易)管理支持可靠的服务端计算,这在很多关键系统中都是必需的。事务具有如下特性:原子性所有相关的操作必须全部成功;如果任何一个操作失败,则所有操作全部撤销。一致性 一致性保证事务所作的任何改变不会使系统处于无效状态。隔离性 并发的事务不会互相影响。事务访问的任何数据不会受其它事务所作的修改的影响,直到第一个事务完成。耐久性事务提交时,对数据所作的任何改变都要记录到持久存储器中。通常由事务日志实现。,37,Run-time Services-Transaction,More concerns on distributed transaction因为分布式事务可能会跨越多个组件、多台机器,并可能涉及多个数据源,所以需要一种两阶段提交协议来实现。Container-Managed Transaction容器来管理事务,method-level可以在部署时指定事务属性Bean-Managed Transaction程序员在代码中利用JTA控制事务,38,Run-time Services-Security,安全控制级别认证(Authentication)Who r u?授权(Authorization)判定某个个体(Principal)是否具有在特定资源上执行某种操作的权限。资源:网页、Servlets、JSPs、EJBs等。,39,Run-time Services-Security,安全性控制声明的方式由容器控制声明一些安全性角色,并把角色映射到实际的安全域中Security-Role:逻辑的用户组,如经理角色、职员角色Security-Domain:安全控制实际应用的领域,如操作系统域、实际的应用域(xx公司)声明一些规则来进行安全性控制规则1:“经理”角色可以执行“员工管理”Bean的“辞退员工”方法规则2:“所有人(未经过身份认证)”可以访问商品信息页面,40,Run-time Services-Security,安全性控制编程的方式,要结合声明的方式使用EJBContext.getCallerPrincipal()EJBContext.isCallerInRole(String role),41,Run-time Services-Persistence,Entity Bean相关的数据库操作由两种实现方式:Container Managed Persistence由容器进行具体的数据库操作Bean Managed Persistence由程序员自己写代码(使用JDBC)完成具体的数据库操作,42,Run-time Services Resources,J2EE运行平台维护/管理应用所用到的系统资源:数据库连接池系统线程池带来的好处提高系统资源的利用率和效率应用程序与具体的资源相对无关(开发与部署分离),43,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,44,Communications:RMI and RMI/IIOP,RMI-Remote Method Invocation特定于Java语言,仅支持用Java语言编写的对象之间进行远程交互。使用JRMP(Java Remote Messaging Protocol)协议通信。RMI/IIOP 基于IIOP实现的RMIEJB客户端使用 RMI/IIOP与EJB通信厂商的实现使得程序员不必关心协议的细节。,45,Communications:JMS,JMS-Java Messaging Service定义了一组API,提供可靠的、异步的消息发送和接收功能。不同的厂商根据API实现异步 消息处理机制一般提供一个消息服务器,46,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,47,J2EE应用组装与安装,48,Packaging,构件提供者开发的构件被打包在不同的文档中JAR-Java ArchiveEJBs,Application ClientsWAR-Web ArchiveJSPs,HTML,GIF,JPG,Servlet classEAR-Enterprise ArchiveJARs and WARsDeployment Descriptor打包JAR、WAR、或EAR都需要提供相应的DD。,49,J2EE Packaging,50,J2EE Packaging Contents,51,Deployment Descriptors,XML格式的文件用于描述:模块中所包含的组件模块所需要的环境(如安全性控制)每个模块或ear文件都有一个DD。可以由厂商提供的工具自动生成,并进行可视化的编辑:如Websphere可以手工创建和编辑,52,EJB Deployment Descriptor,The ejb-jar.xml同一jar文档中的所有EJB共享一个DD对于每个EJB,描述了Home接口,Remote接口以及Bean实现的名字对于Session Beans:说明类型对于Entity Beans:说明持久性策略对于CMP:指名主键(primary key)以及由容器管理的字段事务管理类型如果由容器管理事务,指定EJB方法的事务属性环境入口EJB引用该EJB使用的安全性角色Method-mapping(将安全性角色映射到方法上),53,WAR Deployment Descriptor,The web.xml定义该模块中包含的servlets,JSP,以及静态资源Servlet URL pattern,class/file,attributes安全性限制为每个URL指定安全性角色可以执行的方法:GET,POST,等登陆配置如何进行身份认证EJB and Resource references该模块使用的安全性角色,54,EAR Deployment Descriptor,The application.xml定义了EAR文件中包含的所有模块:EJB jarsWARsApplication Client jars定义安全性角色,55,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,56,J2EE中的角色,J2EE规范将应用系统的生命周期映射到了6个角色:J2EE Product ProviderTool ProviderApplication Component ProviderApplication AssemblerDeployerSystem Administrator,57,J2EE中的角色,一个角色的输出经常是另一个角色的输入如Application Assembler将Application Component Provider开发的构件组装成应用,而Deployer则将Application Assembler组装的应用部署到运行平台上。同一个(组)人可能会执行两个或多个角色的任务。一个角色的任务也可能由几个(组)人完成。,58,J2EE中的角色,J2EE Product Provider实现J2EE产品API,提供J2EE应用的运行环境IBM、BEA、SunWebsphere Application ServerWebLogic Application ServerIPlanetJ2EE Reference Implementation,59,J2EE中的角色,Tool Provider提供工具支持J2EE平台上的任务开发环境WSADWeblogic BuilderJBuilder应用组装工具管理/监视工具等,60,J2EE中的角色,Application Component Provider提供组成应用的构件以及相关的DDApplication Assembler将构件提供者提供的构件组装成应用。Deployer将应用安装配置到运行环境中。,61,J2EE中的角色,System Administrator进行配置数据的备份配置企业级应用进行应用统计分析和性能分析创建服务器组和服务器克隆以优化系统性能管理并控制应用的安全性,62,J2EE中的角色,EJB,Servletand JSP,ApplicationClient,EJBModule,WebModule,App ClientModule,Application,Application Server,EJB Container,Web Container,Client Container,Tool Provider提供开发/测试工具,Application Component Provider利用工具实现构件,Tool Provider提供组装工具,Application Assembler利用工具组装应用,Deployer安装应用,J2EE ProductProvider提供容器,System Administrator管理/维护系统,开发阶段,集成阶段,运行/维护阶段,Tool Provider提供部署工具,63,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,64,MVC设计模式,65,J2EE平台的执行模型,JMS,JNDI,RMI/IIOP,JDBC,JavaMail,JAF,Application Client Container,Applet Container,J2SE,J2SE,J2SE,JMS,JNDI,RMI/IIOP,JDBC,JTA,JCA,Web Container,JavaMail,JAF,J2SE,JMS,JNDI,RMI/IIOP,JDBC,JTA,JCA,EJB Container,Database,CICS,IMS,Applet,ApplicationClient,Servlet,JSP,EnterpriseBean,HTTPSSL,HTTPSSL,RMI/IIOP,Client Tier,Middle Tier,EIS Tier,66,课程提纲,J2EE OverviewJ2EE Application ComponentsJ2EE Services:Service APIJ2EE Services:Run-time ServicesCommunicationsJ2EE应用程序基于角色的开发MVC设计模式Benefits of J2EE,67,Benefits of J2EE,支持多层应用开发模型,尤其是基于web的应用。将实现多层结构应用的工作分为两部分系统服务由平台提供开发者关注于商业逻辑和表示逻辑的实现Write Once,Run AnywhereJ2EE是一个开放标准Java的特性丰富的部署时定制特性安全性控制资源管理明确划分任务与责任灵活的安全性模型,68,69,70,第7章Enterprise Java Bean,71,7.1EJB概述,72,课程提纲,EJB构件技术EJB的特点集成遗产系统EJB vs.JavaBean,73,课程提纲,EJB构件技术EJB的特点集成遗产系统EJB vs.JavaBean,74,分布式对象技术,分布式对象技术是EJB采用的第一种构件技术支持客户应用访问分布式对象其它的分布式对象技术包括Java RMI、CORBA、DCOM等。所有的分布式对象技术都会使用某个特定的远程方法调用协议。EJB中最常用的远程方法调用协议是RMI/IIOP。,75,服务端构件技术,服务端构件技术(Server-side Component Technology)是EJB采用的另一种构件技术。用于中间层应用服务器,支持分布式商业对象的开发,以组件方式提供系统的可重用性与可扩展性:随着实际商业系统的变化,可以重新组装、修改、甚至删除商业对象,而不必重新重写整个应用系统,76,CTM技术,CTM(Component Transaction Monitor)技术是EJB使用的又一种构件技术CTM是一个应用服务器,它为分布式商业对象提供服务框架CTM服务框架支持大量的系统级服务如事务(Transaction)管理,77,EJB构件技术,EJB所采用的分布式对象技术、服务端构件技术、以及CTM技术支持我们开发由服务框架自动管理的分布式的服务端商业对象。,78,课程提纲,EJB构件技术EJB的特点集成遗产系统EJB vs.JavaBean,79,服务框架,EJB将实现商业对象所使用的服务框架的任务划分给了EJB应用服务器:服务框架支持大量的、由应用服务器提供的系统级服务。,80,服务框架,EJB应用服务器提供的服务框架使得应用开发者可以关注于应用商业逻辑的实现:大大提高了开发效率,缩短了应用的开发周期。,应用开发者,商业逻辑代码,81,平台独立性,使用EJB所开发的应用的另一个特点就是平台独立性Write Once,Run Anywhere:应用的平台独立性一方面得益于EJB沿袭了Java技术的平台无关性。,82,平台独立性,另一方面,EJB/J2EE规范的开放性使得构成EJB应用的商业对象可以移植到任何符合EJB规范的应用服务器上。,83,封装特性,EJB还提供对服务的封装特性(Wrap and Embrace):封装特性使得EJB应用可以使用现有的基础性服务(如目录服务)EJB通过定义一系列标准的服务API来封装现有的基础性服务,EJB应用通过这些标准的API来使用服务。,EJB应用,现有基础性服务,84,封装特性,JNDI就是一个标准服务API的例子:JNDI支持访问现有的命名目录服务(如LDAP、COS)通过使用JNDI,EJB应用服务器厂商可以将LDAP服务集成到其产品中,而不需去重新实现LDAP。,85,封装特性,EJB的封装特性可以使应用服务器厂商节省IT投资:厂商可以使用现有的基础性服务,而不必去从头实现这些服务。,86,可定制性,EJB的另一特性就是EJB应用可以在不修改源代码的基础上进行定制化:EJB应用的定制是指修改EJB应用的运行时配置以满足特定用户的需求,87,可定制性,EJB应用可以通过部署描述符(DD)进行定制化部署描述符XML格式的文件用以描述EJB应用的运行时配置例如利用DD可以改变EJB应用的事务管理特性,88,可定制性,厂商可以进行自己的扩充,以支持更强的可定制特性很多厂商除了J2EE标准的DD(ejb-jar.xml)外,还会有一个厂商特定的辅助部署描述符,其中描述了厂商自己扩充的运行时可定制特性:Websphere:ibm-ejb-ext.xmi,Map.mapxmi等WebLogic:weblogic-ejb-jar.xml,厂商可以提供自己的扩充,89,协议无关性,协议无关性支持客户程序使用任何通信协议访问EJB应用例如,客户程序可以使用IIOP、t3等协议与EJB应用通信协议无关性使得EJB支持多种类型的客户端不同类型的客户端使用不同的通信协议与EJB应用通信,90,通用性,通用性是EJB的又一特性支持不同规模的应用系统可以在任何时间增加客户系统,而不需修改核心的应用系统,91,通用性,通用性导致系统资源的可伸缩性系统资源在商业对象处理客户请求时要使用到,如处理器(CPU),负载均衡机制,随着系统规模的增大,商业对象可能要处理来自大量的客户请求,需要增加冗余的系统资源,如提供多个处理器(服务器)需要负载均衡机制,将客户端请求均匀地分发到不同的服务器上例如Websphere的克隆机制,92,课程提纲,EJB构件技术EJB的特点集成遗产系统EJB vs.JavaBean,93,数据库,遗产系统,EJB应用,遗产系统,遗产系统(Legacy System)遗产系统是“一个已经运行了很长时间的,对我们的机构来说是很重要的,但是我们不知道如何处理的大的软件系统”。平台相关的,不能在网络环境中直接访问遗产系统不能直接访问存储在各种数据库管理系统中的数据遗产系统所完成的是关键业务,不能简单丢弃集成遗产系统使遗产系统成为可以在网络中访问的平台无关系统支持遗产系统访问各种数据库管理系统,94,By Connectors,使用Connector集成遗产系统Connector是运行在EJB应用服务器上的软件,支持EJB连接到现有的遗产系统Connector一般由遗产系统的开发厂商或第三方厂商提供一般遵循J2EE的JCA规范达到可以在网络上访问遗产系统的目的,Connector,数据库,遗产系统,EJB应用,95,By CORBA,使用CORBA对象集成遗产系统EJB构件可以访问CORBA对象将遗产系统包装成CORBA对象供EJB应用访问达到可以在网络上访问遗产系统的目的,CORBA对象,数据库,遗产系统,EJB应用,96,By JDBC,遗产系统可以利用JDBC访问不同的数据库管理系统JDBC提供统一的数据库访问方法不一定适用于所有遗产系统,数据库,遗产系统,EJB应用,JDBC,97,集成遗产系统,通过Connector、CORBA对象、JDBC方式,达到了在EJB应用中集成遗产系统的目的。,数据库,遗产系统,EJB应用,98,课程提纲,EJB构件技术EJB的特点集成遗产系统EJB vs.JavaBean,99,EJB与JavaBeans,构件模型定义了开发可重用构件的方式。EJB与JavaBeans都是基于Java语言的构件模型。开发应用时,可以选择EJB模型,也可以选择JavaBeans模型。,100,EJB vs.JavaBeans,EJB用于服务端应用开发JavaBeans用于客户端应用开发也可以使用JavaBeans进行服务端应用开发,但JavaBeans模型没有提供服务框架,当应用需要使用系统级服务(如事务管理)时,不适合。,101,EJB vs.JavaBeans,EJB构件是可部署的EJB构件可以作为独立的单元被部署到EJB应用服务器上,是应用构件(application components)。JavaBeans构件是不可部署的JavaBeans构件是开发构件,不能被部署为独立的单元。,102,EJB vs.JavaBeans,EJB构件是部署时可定制的使用部署描述符可以在部署EJB时对其运行时配置进行定制JavaBeans构件在部署时不能进行定制JavaBeans构件的定制仅发生在开发阶段只能利用开发工具创建并组装JavaBeans构件,部署时不能定制,103,EJB vs.JavaBeans,EJB构件是分布式对象可以被客户应用或者其它EJB构件进行远程访问JavaBeans构件不是分布式对象JavaBeans构件只能在其构成的应用中使用不能提供远程访问能力,104,EJB vs.JavaBeans,EJB构件对终端用户不可见运行在服务端,没有人机交互界面部分JavaBeans构件对终端用户可见如GUI应用中使用的按钮构件,105,EJB vs.JavaBeans,106,EJB vs.JavaBeans,根据应用的具体需求,结合EJB和JavaBeans的特点,灵活的选择EJB或者JavaBeans。,107,108,7.2EJB体系结构,课程提纲,EJB体系结构中的构件EJB容器服务EJB开发角色,课程提纲,EJB体系结构中的构件EJB容器服务EJB开发角色,EJB体系结构中的构件,EJB体系结构由6种构件组成Enterprise BeanHome InterfaceRemote InterfaceEJB ContainerEJB ServerEJB Client,Enterprise Bean,Enterprise Bean包含商业逻辑代码的Java类提供商业方法供调用被部署到EJB应用服务器上可以被组装形成大型的EJB应用,Session Bean,Enterprise bean包含三种类型,第一类为Session bean。Session bean存在于客户应用与应用服务器交互的时间段内Session bean中的数据不保存在数据库中Session bean可以是有状态的或无状态的,Session Bean,Stateless Session Bean在方法调用中间不维护任何状态同时可以处理多个客户应用的请求Stateful Session Bean要跨方法调用保存会话状态同时只处理一个客户应用的请求,Entity Bean,第二类Enterprise bean是Entity BeanEntity Bean代表数据库中的记录Entity Bean在数据库中的数据存在期间都会存在Entity Bean可以被多个客户应用访问,Message Driven Bean,第三类Enterprise bean是Message Driven BeanMessage Driver Bean用来处理异步消息Message Driver Bean一般不是由客户端调用的当有异步消息发送到某Message Driven Bean,容器会调用Message Driven Bean的回调方法OnMessage,Home Interface,EJB体系结构中的另一类构件是Home InterfaceHome Interface包含enterprise bean生命周期管理的相关方法客户程序使用Home Interface创建或删除enterprise bean的实例,Remote Interface,EJB体系结构中的另一类构件是Remote InterfaceRemote Interface包含enterprise bean实现的商业方法的定义定义了enterprise bean提供的服务客户程序只能通过remote interface访问enterprise bean实现的商业方法,不能直接调用。,EJB中通信模型,客户程序,HomeStub,RemoteStub,通信总线,HomeSkel,RemoteSkel,Enterprise Bean,Home Bean,Remote Bean,EJB对象,Local Interface与LocalHome Interface,EJB 2.0中引入了本地接口Local接口完成与Remote接口类似的功能LocalHome接口完成与Home接口类似的功能本地接口的不同之处在于客户应用通过本地接口发起的调用是本地调用比远程接口有更高的效率要求客户应用和enterprise bean在同一个进程(虚拟机)内例如一个Session Bean要访问同

    注意事项

    本文(部分企业级Java组.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开