ImageVerifierCode 换一换
格式:PPT , 页数:71 ,大小:785.50KB ,
资源ID:5585679      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-5585679.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(组件技术.ppt)为本站会员(nacm35)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

组件技术.ppt

1、1,组件概述 标准组件模型 设计模式 EJB基础,6. 组件技术,2,6.1 概述,组件的提出 面向对象软件的基本组成单元是类和对象,细粒度概念。 企业级项目需要粗粒度。,6. 组件技术 概述,组件的定义,3,组件的定义A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subjec

2、t to composition by third parties。,6. 组件技术 概述,组件是一段实现一个定义接口集合的代码,一个可管理的、离散的逻辑块。组件不是完整的应用程序,不能单独运行。,4,类,类/对象和组件,6. 组件技术 概述,5,组件的特性,操作(operations) 可重用(reusable) 可分布(distributable),到处可发布,和服务器无关,和平台无关 自包含(self-containment) 自描述(self-description),6. 组件技术 概述,属性(properties) 事件(events) 可共享(shareable),6,组件模型就

3、是组件与其环境所必须的一组要求。组件模型主要关心如何约束接口的性质,软件组件使这些接口被公共使用。通过约束组件的接口来遵循某些知识,组件模型能保证在组件之间,为使用这些组件的应用软件和组件所作用于其上的应用环境提供一定级别的互操作性。,组件模型,6. 组件技术 概述,7,组件模型的构成 组件的基本体系结构 组件接口结构 与其它组件及容器相互作用的机制,一般来讲,组件模型涉及到特定组件的接口,组件环境假设以及组件间约定。组件可以嵌套。 其目的就是组件重用、高层开发、通过工具进行自动化开发以及简化开发过程等。,6. 组件技术 概述,8,Application Code,Attributes,Int

4、erfaces,Events,Customization,Component,Container,一般组件模型,9,组件模型分类 客户端组件模型:专门用于处理程序的表示及用户界面问题,如JavaBean。,服务器端组件模型:为面向事务处理的中间件提供基础设施。服务器端组件模型把组件模型的开发和中间件联系在一起,如EJB。,6. 组件技术 概述,10,组件模型接口,设计模式:是一组类、接口及其关系,提供对一般问题分类常用的设计解决方案;,组件SPI(服务提供商接口):定义一组某些服务提供商要遵循和实现的标准接口;,6. 组件技术 概述,组件API:定义了一组应用程序可以用来使用组件服务的标准接口

5、;,11,组件容器接口:定义被组件假定的容器环境接口;,容器组件接口:定义被容器假定的组件的接口。,6. 组件技术 概述,12,组件模型的定义方式,语言相关:一些组件模型以语言无关方式定义接口。语言无关组件模型使用接口定义语言作为中间语言,该语言可以映射到具体的计算语言;,平台相关:一些组件模型实际上依赖于一种特定的操作系统和硬件平台;,6. 组件技术 概述,13,分布式通信协议相关:组件模型可以假定在组件和应用程序之间底层特定的分布式通信协议上进行通信,其它的组件模型可能是与协议无关的并在更高的抽象级别上定义;,通信同步:组件交互的同步模型是指组件调用程序可能阻塞直到收到应答;,6. 组件技

6、术 概述,数据表示相关:除了通信协议之外,一些组件模型接口也定义类标准数据表示格式,用于组件接口的消息传递;,14,接口定义严格:一些组件模型允许定义组件必须遵循特定的操作签名模式;,行为定制:组件可以通过定制特性来允许修改组件行为。,6. 组件技术 概述,15,a. 项目宗旨 k. 组件测试 b. 分析模式标识 l. 组件装配 c. 外部组件接口分析 m. 模块测试 f. 组件模型技术确定 n. 组件配置规范 g. 组件确定 o. 系统测试 h. 组件选择 p. 部署 i. 组件设计调整 q. 可维护性 j. 组件实现规范,基于组件的开发( CBD),6. 组件技术 概述,16,6.2标准组

7、件模型,6. 组件技术标准组件模型,组件标准包括标准组件模型和设计模式两部分。标准组件模型提供了标准的接口方法学和技术,这些接口不仅位于应用和组件之间,也位于组件和容器环境之间。标准定义了组件和应用、其它组件、服务提供商以及容器环境之间的约定。设计模式主要提供问题类型的一般设计方案。,17,小应用程序(applet)Java applet定义了简单的容器组件和组件容器接口,使Java代码嵌入到Web浏览器中的applet中运行。,6. 组件技术标准组件模型,JavaBeanJavaBean组件模型定义了编写Java代码的标准模型,对外提供组件属性和事件以及与JavaBean容器的接口。,18,

8、CORBA定义了分布式访问用任何语言实现的组件的标准模型。标准通信容器环境(ORB)通过标准通信协议把分布式客户机发出的调用传送至服务器端容器代码,该代码激活分布式对象方法。,6. 组件技术标准组件模型,RMI为使分布式访问组件成为可能定义的一个Java相关的接口模型。,19,Java API/SPIJava不仅仅是一种语言,各种Java API实际上定义了一组标准组件服务,这些服务能够被应用程序使用以访问数据库(JDBC)服务、名字和目录服务(JNDI)、事务服务(JTA和JTS)、消息服务(JMS)以及跟踪/发现服务(JINI)。,6. 组件技术标准组件模型,20,J2EE Web组件Ja

9、va Servlet和JavaServer Page表示服务器端的组件,它处理Web请求和生成Web表示内容。这样的Web组件运行和操作在基于J2EE的Web容器环境内部。,6. 组件技术标准组件模型,21,J2EE企业JavaBean企业级JavaBean(EJB)是服务器端的遵守标准模型的应用组件,它们在EJB容器和服务器内操作,这样的服务器能够为EJB提供一组标准的服务框架,如事务、安全和可扩展性。,6. 组件技术标准组件模型,22,微软的DNA微软的分布式网络体系结构(DNA)是微软的集成式分布应用服务体系结构环境,适用于微软平台。DNA结合许多微软的标准组件在微软平台上允许企业应用。

10、,6. 组件技术标准组件模型,23,6. 组件技术设计模式,什么是设计模式,设计模式:在软件的建模和设计过程中运用到的模式,是一组类、接口与其关系的集合,提供问题类型的一般设计方案。,6.3 设计模式,模式:模式是指一种从一个反复出现的问题背景中抽象出来,针对某一个问题的固定的解决方案。,24,6. 组件技术设计模式,模式名称:一个助记名,用来描述模式的问题、解决方案和效果。,设计模式的四个基本要素,问题:描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,也可能描述了特定的设计问题,以及使用该模式需要满足的一些先决条件。,25,6. 组件技术设计模式,解决方案:描述设计的组成部分

11、,他们之间的相互关系及各自的职责和协作方式。在此,解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合来解决这个问题。,效果:描述了模式应用的效果及使用模式应权衡的问题。,26,6. 组件技术设计模式,设计模式的特征,模式是在实践中通过不断摸索发现的; 一般情况下模式是用结构化格式书写的; 模式使得人们不必一切从头开始; 模式存在于各种抽象层次中; 模式也在不断改进; 模式是可重用的人造物; 模式可以将设计和实践的最佳方法结合起来; 可综合使用多种模式来解决一个大规模的难题。,27,6. 组件技术设计模式,使用设计模式的好处,进一步支持一个成

12、熟的解决方案一个模式提供的解决方案是在不同的项目中被多次使用之后才被记录在案,因此,模式为重用提供了一个有效的机制。,公用词汇模式为软件设计者提供了一套公用词汇,成为设计与开发人员交流的标准语言。,28,6. 组件技术设计模式,约束解决方案的应用范围使用了模式就相当于在一个可以进行设计和实现的解决方案范围内进行了约束,或者说生成了边界。,29,6. 组件技术设计模式,描述设计模式,模式名和分类,意图:做什么、基本原理和意图、解决什么样的特定问题。,适用性:什么情况下可以使用该设计模式、可以改进哪些不良设计。,结构:采用何种建模技术描述模式中的类。,参与者:设计模式中的类/对象以及各自的职责。,

13、30,6. 组件技术设计模式,协作:模式的参与者怎样协作以实现他们的职责。,效果:模式如何支持它的目标、使用模式的效果和所需做的权衡取舍、系统结构的哪些方面可以独立改变等。,实现:实现模式时需要知道的一些提示、技术要点及应避免的缺陷等。,代码示例:说明怎样用实际语言实现该模式的代码片段。,31,6. 组件技术设计模式,已知应用:每个模式至少包括两个不同领域的实例。,相关模式:与这个模式紧密相关的模式有哪些、重要不同之处是什么、应与哪些模式一起使用。,32,6. 组件技术设计模式,分类准则:,设计模式分类,目的:模式是用来完成什么工作的。,范围:模式主要用于类还是用于对象。,分类:,创建型:与对

14、象创建有关的模式。,结构型:处理类或对象的组装方式。,行为型:对类或对象怎样交互和怎样分配职责进行描述。,33,6. 组件技术设计模式,适配器模式:一个调节器用于调整一个类的接口实现,以支持新的底层实现,Adapter的客户接口保持不变;,厂(Factory)模式:厂是一个用于创建新的对象实例的通用框架,一些通用厂框架能够在给定类型名和初始参数时创建对象实例以完成类型的构造;,常用设计模式,34,6. 组件技术设计模式,单一(Singleton)模式:单一模式提供了一种方法,保证访问类的客户只能创建和访问该类的一个实例。,策略模式:策略模式封装了底层可互相改变的算法,并为访问该算法提供了相同的

15、接口。,命令模式:命令模式封装用于执行某些操作的命令。,35,6. 组件技术设计模式,MVC模式:MVC(ModelViewController)模式定义另一种设计系统的标准方法,该方法单独封装模型、视图和控制。模型封装表示系统状态以及系统状态之间的关系;视图封装表示一种方法,该方法为模型的不同客户视图提供相同的底层模型;控制器封装提供一种方法,该方法由客户机维护模型并且向客户视图激活更新。,36,6. 组件技术设计模式,主体观察器(Subject Observer)模式:该模式封装了某些应被观察到的事件的主体。主体拥有多个被封装观察器对象。,代理(Proxy)模式:代理模式提供了一个中间对象

16、用于把请求发送到端点对象。,复合(Composite)模式:复合模式定义了一些实体,这些实体表示应被一个或多个复合对象包含的组件。,37,EJB定义,人们希望把java组件的概念从客户机域扩展到服务器域,支持以任务为关键的企业信息系统。,平台无关性 软件重用性 开发高效性,可扩展性 可维护性,问题的提出,6. 组件技术 EJB基础,6.4 EJB基础,38,EJB定义,EJB 是基于Java的面向对象的组件标准,是用于开发和部署多层结构的、分布式的、面向对象的Java应用系统的跨平台的构件体系结构。EJB组件包含一定的业务规则,运行在服务器端,是Java企业计算平台的核心技术。,6. 组件技术

17、 EJB基础,39,EJB组件是基于标准分布式对象技术、CORBA和RMI的服务器端Java组件, EJB组件总是分布的。,实现了EJB规范的应用服务器提供了可以解决安全性、资源共享、持续运行、事务处理等服务,简化了商业应用系统。,EJB是部署在服务器上的可执行的组件或商业对象。它运行在服务器上,是由客户机调用的非可视远程对象。,EJB组件提供了应用的商务逻辑部分,不涉及表示层部分。,6. 组件技术 EJB基础,40,EJB的发展过程,发布:1997年12月;,1.0版:1998年3月;,2.0版:2001年9月;,6. 组件技术 EJB基础,41,三层结构,6. 组件技术 EJB基础,EJB

18、体系结构,业务逻辑从web服务器分离成几个独立的组件,这些独立的组件可以部署在不同的机器上以提高性能,可以被浏览器、小应用(Applet)、或通过现有的轻量级的CGI访问。同时,这些组件经过优化,大大提高了其性能、稳定性和容错性。,42,43,6. 组件技术 EJB基础,数据流分层,网络服务器(Web Server) 应用服务器(Application Server) 事务监控器(Transaction Server) 数据库服务器(Database Server),44,应用分层,6. 组件技术 EJB基础,表示层:一般由JSP,Servlet来实现,提供整个系统与用户交互的界面。 业务逻辑

19、层:一般由普通的Java类或会话Bean来实现,用来处理业务逻辑,一般是对数据的处理,对文件的读写等等。 数据访问层:一般由普通的Java类或实体Bean来实现,提供对数据库的操作。,45,分布式对象EJB组件是基于分布式对象的,采用的技术就是Java的RMI-IIOP。,6. 组件技术 EJB基础,存根(stub):代表远程对象的客户机端代理,它有和远程对象一样的接口(interface),并且驻留在客户端的机器上。因此客户端可以像使用远程对象一样使用存根的方法。存根会把客户端对方法的调用转换成可以在网络中传输的网络消息,发送到服务器。,46,6. 组件技术 EJB基础,骨架(Skeleto

20、n)是一个驻留在服务器端的代理对象,它可以把客户端传来的网络消息转换成对服务器端对象的方法调用。在方法结束后,骨架会得到方法的返回值,再把返回值转换成网络消息,发送到客户端。这时,存根会把网络消息转换成可以使用的Java对象,供客户端使用。,47,6. 组件技术 EJB基础,分布式对象,48,6. 组件技术 EJB基础,每个对象服务器的实例都被相应的skeleton类的实例所包装, skeleton 在一个IP地址和一个端口上建立起来并监听由stub发来的请求。 stub作为对象服务器在客户端的代理代理,负责通过skeleton将请求从客户端送到对象服务器。,49,6. 组件技术 EJB基础,

21、EJB体系结构,50,EJB组件模型包括: EJB组件 EJB Server EJB Container EJB Object EJB 部署,6. 组件技术 EJB基础,51,EJB组件类型EJB组件用于封装业务逻辑,使得开发人员无需再担心数据访问、事务处理支持、安全性、高速缓存和并发等琐碎任务的编程。,实体bean 会话bean 消息驱动bean(EJB2.0),6. 组件技术 EJB基础,52,实体bean(Entity beans)实体bean是一个标准的Java类,用对象的形式来展现数据库中的数据表记录,利用对象所定义的business函数,来执行对应于数据表的存取工作,如添加记录、修

22、改记录和删除记录等。实体bean可以用来维护一个或多个表格的记录。,6. 组件技术 EJB基础,53,它们代表了存储介质上的数据。 它们可以在服务器关掉了或是崩溃了之后存在。 多个客户端可以使用代表相同数据的EJB。 实体 EJB管理着存储介质上的数据在内存中的拷贝。 代表系统中的业务数据。,6. 组件技术 EJB基础,实体bean的特点:,54,会话bean(Session bean)会话Bean是客户端应用程序的一个扩展,负责控制工作流(商务过程)并填补实体bean代表的数据和与该数据交互的商务逻辑之间的空白。其特点是不会永远存在,一旦服务器关掉了或崩溃了,它的数据就丢失了。从客户端的角度

23、来看, 会话Bean是一个实现一些业务功能的对象,客户端可以自由的操作这些对象来完成它的工作。,6. 组件技术 EJB基础,55,无状态会话Bean:实现了一次使用的服务组件。这种服务组件可以被多次调用,但是无状态会话Bean在多次调用之间不会保留客户端相关数据。当它的方法被调用时,这个方法必须完成它的业务逻辑而又不能对该会话Bean的属性进行修改。,6. 组件技术 EJB基础,56,有状态会话Bean:有状态会话Bean是被设计成可以在方法调用之间维护客户端的状态,就像HTTP Session一样。有状态会话Bean会把这些状态存在它的属性中。EJB 容器会保证同一个客户端的每次调用都会被转

24、到这个保持它的状态的有状态会话 Bean的实例,但不能保证同一个客户端的两次调用都被转到同一个实例。,6. 组件技术 EJB基础,57,消息驱动bean消息驱动Bean将EJB和JMS的功能结合在一起,来实现异步消息通信。消息驱动bean适合于任何一个可以在后台运行、不需要立刻知道结果的操作。,6. 组件技术 EJB基础,58,浏览器,J2EE应用服务器,EJB容器,浏览器,JSP,数据库服务器,59,例如:在一个预订航行得系统TitanEJB中,实体bean可以代表船舱、顾客、轮船等,会话bean负责管理特定的行为,如预订,协调诸如乘客、票价、航行计划等与轮船无关的事务。 会话bean在完成

25、预订活动的过程中,能直接使用数据库并且进行读、修改和删除数据。但预订一旦完成, 会话bean生命周期就结束了。,6. 组件技术 EJB基础,60,EJB 容器( Container)EJB容器是EJB的执行环境,它通过将EJB Server提供强大的系统层级服务,包括:持久性、安全、并发性、事务、分布式对象和命名,加入到组件中的。从本质上来说,EJB容器在客户端和beans之间充当不可见的中间人。他们负责连接客户端到beans、执行事务协调、提供持久性、管理bean的生命周期及其他任务。,6. 组件技术 EJB基础,61,EJB服务器一个遵循EJB的应用服务器就叫EJB服务器。 EJB服务器必

26、须提供一组标准的服务来支持EJB组件,提供一个支持用EJB技术开发的应用程序执行的环境,用于管理和协调应用程序的资源配置。EJB服务器必须提供一个或多个EJB容器,一个EJB容器管理在它其中的EJB组件。,6. 组件技术 EJB基础,62,EJB对象( EJB Object)EJB对象接口提供对EJB组件中业务逻辑方法的存取。一个EJB对象表示一个EJB组件的客户视图,EJB Object将对象的所有与应用相关的接口陈列出来,但不允许把EJB容器管理和控制该对象的接口显露出来。 EJB对象允许EJB容器截取在EJB组件之上的所有操作。,6. 组件技术 EJB基础,63,EJB部署配置描述器的功

27、能类似于属性文件,用于描述组成bean类和运行时怎样管理bean。在配置过程中,配置描述器被读取,它的属性也显示出来以便进行编辑。配置者可以修改和添加适合应用程序操作环境的设置,生成在EJB服务器中配置bean所需的整个支持基础结构,包括将bean加入命名系统并生成bean的EJB对象和EJBhome、持久性基础结构、事务支持、决定bean的引用等等。,6. 组件技术 EJB基础,64,65,EJB设计目标为使用可重用组件实现多层应用程序中的商业逻辑定义的体系结构标准EJB规范。,EJB体系结构将成为用Java编程语言建造分布式、面向对象商业应用程序的标准组件结构。,EJB体系结构将使编写应用

28、程序变得更加轻松。,EJB应用程序将遵循Java编程语言“一次编写,随处运行”的原则。,6. 组件技术 EJB基础,66,EJB体系结构定义了EJB容器来处理组件生命周期、事务处理、安全等细节,简化了组件和客户端的开发。,6. 组件技术 EJB基础,EJB体系结构定义了一些约定,任何部署了EJB的容器都要对客户端提供相同的接口,实现了客户端透明性,保证了多层应用程序的可扩展性。,67,EJB服务器可为现有系统做包装来为容器以及其包含的组件提供基本服务。,6. 组件技术 EJB基础,EJB体系结构将与Java编程语言编写的其他API兼容。,EJB体系结构将提供EJB组件和非Java编程语言应用程

29、序之间的互操作性。,EJB体系结构将与CORBA兼容。,68,EJB使用对象,要将商业逻辑组件与外界Internet隔离的用户;,多种类型客户端访问共享数据的用户;,需要访问具备事务处理功能的多个异构数据源的用户;,6. 组件技术 EJB基础,体系结构有标准化、轻量化、组件化的需要的用户。,69,EJB体系结构定义了EJB容器来处理组件生命周期、事务处理、安全等细节,简化了组件和客户端的开发。,6. 组件技术 EJB基础,EJB体系结构定义了一些约定,任何部署了EJB的容器都要对客户端提供相同的接口,实现了客户端透明性,保证了多层应用程序的可扩展性。,70,EJB服务器可为现有系统做包装来为容器以及其包含的组件提供基本服务。,6. 组件技术 EJB基础,EJB体系结构将与Java编程语言编写的其他API兼容。,EJB体系结构将提供EJB组件和非Java编程语言应用程序之间的互操作性。,EJB体系结构将与CORBA兼容。,71,客户端与EJB组件系统的交互,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报