《2022年分布对象技术知识点总结 .pdf》由会员分享,可在线阅读,更多相关《2022年分布对象技术知识点总结 .pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、知识点精编第一章:软件构件与中间件1.分布式软件的基本概念:分布式软件指运行在网络环境中的软件系统,而网络环境是一群通过网络互相连接的处理系统,每个处理节点由处理机硬件、操作系统及基本通信软件等组成。(1)三层结构相对于两层结构的改进:两层结构的缺点:客户端的负担仍然比较重:客户端仍要处理复杂的数据。客户端的可移植性不好:处理复杂必然牵涉更多的移植性问题;每个客户端上都要安装数据库驱动程序。系统的可维护性不好:客户端包含过多的商业逻辑;商业逻辑与人机交互界面交织在一起。数据的安全性不好。三层结构的优势:更好的性能和可伸缩性。大量的中间层中间件平台提供丰富的系统级服务,使得开发人员可以以更少的工
2、作量开发出更复杂、可靠、高效的软件系统。剩下的内容是对两层结构缺点的改进。2. 软件构件的基本概念:构件 指系统中可以明确辨识的构成成分;软件构件指 软件系统中具有一定意义的、相对独立的构成成分,是可以被重用的软件实体。3. 中间件的基本概念:在操作系统与应用系统之间的一层软件,为分布式应用的开发、部署、运行与管理提供支持。(1)典型集成中间件为软件开发提供的三种基本支撑:提供构件运行环境管理构件的生命周期管理构件的实例管理构件的元信息等提供互操作机制集成中间件都提供了很强的高层通信协议以屏蔽节点的物理特性以及各节点在处理器、操作系统等方面的异构性;基于中间件的互操作支持,开发人员在开发与调用
3、分布式对象时,均不需自己编写处理底层通信的代码。共同特征就是帮助应用程序完成编组与解组等跨越网络通信的底层工作,实现远程过程/方法调用中间件的功能。提供公共服务公共服务又称为系统级服务,指由中间件(应用服务器)实现的、应用程序使用的软件系统中共性程度高的功能成分。由中间件而非应用程序实现应用程序中通常会调用其实现的共性功能中间件提供的主要公共服务包括:命名服务事务服务安全服务持久性服务、消息服务、分布式垃圾回收服务、资源管理服务等精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 13 页知识点精编3. 互操作的基本原理与实例(1)桩 /
4、框架结构第二章: CORBA 的基本原理1. 对象管理体系结构(1)OMA 参考模型( CORBA 中的公共服务)OMA是CORBA 所基于的概念框架,它描述了一个较高层次的分布式计算环境。2.ORB 结构精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 13 页知识点精编ORB是OMA参考模型的核心, 它提供了分布式对象之间透明的地发送请求或接收响应的基本机制,独立于实现对象的特定平台与技术。(1)桩 / 框架结构3.CORBA 对于可互操作的支持(1)不同平台与语言之间的互操作性IDL标准和 IDL到程序设计语言的映射使得使用同一厂商
5、的ORB 产品开发的客户程序与服务程序可以交互。(2)不同厂商的ORB 产品之间的互操作性CORBA 2.0 引入了 GIOP 和 IIOP(3)不同体系结构中的组件的互操作性如一个 CORBA 对象如何操作一个DCOM对象。ESIOP 可以解决一部分问题。还有许多工作要做。第三章:基于 CORBA 的开发过程设计基于 CORBA 的分布式系统时,一般应考虑如下几个问题:运行平台:网络传输:多样化的网络传输选择;设计CORBA 应用时确保 ORB能使用必要的网络传输消息传递:同步方式;异步方式(延迟同步方式);单向方式资源优化:分布式环境下,跨网络的通信开销是相当可观的,占用相当多的系统资源;
6、避免频繁的跨网络(尤其是广域网)通信其它:安全性、可靠性、事务处理、并发控制;错误处理1基本开发过程精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 13 页知识点精编自动生成的桩和框架是按照标准提供了底层通信等公共服务的接口接口定义是独立于程序设计语言的,只要能够实现IDL到程序设计语言的映射,CORBA可以支持任何程序设计语言第四章:编写对象接口(CORBA )1.OMG IDL的语法与语义两点说明: OMGIDL是独立于程序设计语言的。(一般 IDL的特性);是一种说明性语言语法规则 :采用类似 ANSI C+ 的词法规则和预处理特
7、性(如编译指令#include) 。IDL文件本身采用 ASCII 字符集,但字符与字符串文字常量则采用Unicode。关键字是大小写敏感的,但标识符却是大小写无关的模块: 模块用于限制标识符的作用域。一个 IDL模块被映射为一个同名的Java程序包, 该模块中的所有 IDL类型被映射到相应程序包中的Java类或接口。不包含在任何模块之中的IDL声明被映射到一个无名的Java全局作用域程序包类型:用来说明在客户和服务对象之间要交换的数据的类型(如参数和返回值的类型)常量:用来说明在客户和服务对象之间要交换的常量数据异常:异常声明用来说明在接口中包含的操作可能会引发的异常接口:接口声明是IDL规
8、格说明的核心内容,用来说明分布式对象所提供的服务。接口映射到Java语言的接口值:属性不应看作对象的状态数据,最好将它们理解为一种特殊的操作。同方法声明一样,属性也映射到 Java语言接口中的方法2. 使用值类型(valuetype)值类型是一类特殊的类型声明。值类型主要用于在网络中传递对象的状态信息,相当于提供了一种和程序设计语言无关的声明类的方式。值类型有两种典型用法:一是在按值调用的参数传递方式中创建对象副本(即参数类型是值精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 13 页知识点精编类型) ,二是在远程操作返回一个对象时创建
9、对象副本(即返回值类型是值类型)。(1)对象副本的状态变化不会影响原来的对象(2)如何正确使用3. 编写对象接口的准则 1 :一个 IDL接口应该与现实世界中的业务系统中的某个工作实体相对应2:开发人员在设计分布式对象接口时必须始终贯彻这样的指导思想,即随时注意到同一进程中对象的接口与分布式对象的接口通常存在很大的区别,忽视这种区别会给分布式对象系统的可靠性、可伸缩性、可重用性等质量因素带来危害。3:区别会话型接口与实体型接口有利于设计人员组织众多的分布式对象。4:事务处理在许多分布式数据处理系统中也是必须考虑的重要问题之一第五章:编写服务端程序(CORBA )1.POA体系架构2. 设计 P
10、OA 策略线程策略;生存期策略;活动对象保持策略;对象查找策略3. 使用 POA 4. 伺服对象管理器(1)伺服对象激活器(如何管理大量服务端对象):真正提供完成客户程序请求的操作,通常由程序设计语言对象实现,可以进行实例化并访问其提供的成员方法;通过 CORBA 对象提供服务(2)伺服对象定位器伺服对象管理器帮助POA管理服务端未激活对象,实现对象查找、激活和冻结POA才能被使用;伺服对象管理器的功能可以进一步扩充,只要满足CORBA 标准中声明的接口定义5. 适配器激活器如果一个服务程序在启动时就创建了它所需的全部POA,那么就无需使用或提供任何适配器激活器。仅当需要在处理请求的过程中自动
11、创建新的POA时,才需要用到适配器激活器精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 13 页知识点精编第六章: J2EE体系架构1.J2EE构件:由开发人员实现,构成应用系统,运行在J2EE 平台上客户端构件 Applets Application Clients 服务端构件 Web 构件( Servlets, JSPs) EJBs 2.J2EE公共服务:J2EE应用构件所使用的功能,由J2EE 平台提供商实现(1)Service API(开发时使用)(2)运行时服务3. 通信支持:支持协作构件之间的通信;由Container提供。
12、4.J2EE应用程序5. 基于角色的开发将构建整个软件系统的任务划分到不同的角色明确的划分任务与责任不同的阶段有不同的关注重点,这种划分使得每个角色仅关注他所要完成的工作实现了开发与部署的分离第七章: EJB技术基础1.EJB体系结构(1)EJB与java Bean 对比构件模型定义了开发可重用构件的方式 EJB 与Javabeans 都是基于 java 语言的构件模型开发应用时,可以选择EJB 模型,也可以选择JavaBeans模型 EJB 用于服务端应用开发JavaBeans 用于客户端应用开发也可以使用 JavaBeans 进行服务端应用开发,但JavaBeans 模型没有提供服务框架,
13、当应用需要使用系统级服务(如事务管理)时,不适合。 EJB构件是可部署的EJB 构件可以作为独立的单元被部署到EJB 应用服务器上,是应用构件(application components) 。JavaBeans 构件是不可部署的JavaBeans 构件是开发构件,不能被部署为独立的单元。 EJB构件是部署时可定制的使用部署描述符可以在部署EJB 时对其运行时配置进行定制JavaBeans 构件在部署时不能进行定制JavaBeans 构件的定制仅发生在开发阶段精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 13 页知识点精编只能利用开发
14、工具创建并组装JavaBeans 构件,部署时不能定制 EJB构件是分布式对象可以被客户应用或者其它EJB 构件进行远程访问JavaBeans 构件不是分布式对象JavaBeans 构件只能在其构成的应用中使用不能提供远程访问能力 EJB 构件对终端用户不可见运行在服务端,没有人机交互界面11部分 JavaBeans 构件对终端用户可见如GUI应用中使用的按钮构件(2)EJB体系结构中的构件(两个接口+一个类) EJB体系结构由 6种构件组成 Enterprise Bean Home Interface Remote Interface EJB Container EJB Server EJB
15、 Client Enterprise Bean 包含商业逻辑代码的Java类提供商业方法供调用被部署到 EJB应用服务器上可以被组装形成大型的EJB应用精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 13 页知识点精编 EJB 体系结构中的另一类构件是Home Interface Home Interface包含 enterprise bean生命周期管理的相关方法客户程序使用Home Interface创建或删除enterprise bean的实例 EJB 体系结构中的另一类构件是Remote Interface Remote Int
16、erface包含 enterprise bean实现的商业方法的定义定义了 enterprise bean提供的服务客户程序只能通过remote interface访问 enterprise bean实现的商业方法,不能直接调用。2.EJB设计原则精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 13 页知识点精编精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 13 页知识点精编理解作用,了解对应关系第八章: EJB构件开发过程1. 无状态会话构件开发与使用(1)生命周期特征包含两
17、个状态:Method Ready state 和 No state No 状态表明 EBJ容器不存在无状态会话bean实例1. 实例的创建和删除是有容器自动来控制的,并不是由 Home 接口中的 Create 或Remove 创建或删除。2. 会话 bean只能有无参数的create 或ebjCreate 方法创建,所以别人初始化的EBJ实例也可以使用从No状态 -就绪态:调用enterprise类中的 setSessionContext和ebjCreate 就绪态 -No状态:调用 ebjRemove方法(2)为什么会设计为无状态会话构件平台无关性(3)客户端(对构建生命周期的影响)只要 E
18、BJ 认为实例池中需要更多的实例为客户端服务,就会创建新的实例,实例从No状态到就绪态。 同理,如果不需要更多实例,则根据某种策略删除某些实例,删除的某些实例从就绪态到 No 状态2. 有状态会话构件开发与使用(ZD)(1)生命周期特征No State Method Ready 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 13 页知识点精编(2)为什么会设计为有状态会话构件(3)客户端(对构建生命周期的影响)只要有新的客户端请求就会创造新的新的实例,这时新创建的实例从No状态到就绪态如果客户端不需要使用实例或者客户程序超时,容器会
19、删除该实例,因此从就绪态到No 状态因为每个客户端需要一个专门的有状态会话bean为其服务, 当bean过多时, 容器只保存刚被使用或者正在使用的bean,其他移动到持久存储介质上,此时被转移到持久存储介质上就是Passivated 状态当客服端再次使用Passivated 状态时恢复到内存,变为就绪态3. 实体构件的开发与使用第九章: EJB高级特性1. 环境条目(1)动因(2)效果2. 事务控制( ZD)(1)事务控制的基本要求事务相关的一系列操作的原子性(2)CMT 系统级异常程序员在 bean的源程序中没有事务边界控制的代码精选学习资料 - - - - - - - - - 名师归纳总结
20、 - - - - - - -第 11 页,共 13 页知识点精编再部署描述符中指定事物属性,有容器控制事务的边界容器维护的事务是方法级的(3)BMT (事务结束)程序员在 bean的源程序中控制事务边界再部署描述符中指定由bean控制边界3. 安全性控制(1)安全性控制的两个级别认证和授权(2)配置的主要内容(定义角色、选择认证方式、配置WEB 模块授权规则、配置EJB模块授权规则、将角色映射到实际安全域)定义角色: Supervisor和Normaluser 选择认证方式:basic :系统弹出对话框,用户输入用户名和密码 Client Certificate:电子证书方式 Form Bas
21、ic:程序员用户登录界面配置 WEB 模块授权规则:设置认证方式设置授权方式配置 EJB模块授权规则:设置代理身份设置方法访问授权将角色映射到实际安全域: Normaluser映射到 Account Manager Bean ,可以访问 getbalance 但是不能CreeateAccount Supervisor映射到 Account Manager Bean ,可以访问 CreeateAccount 第十章: WEB Service 概述1.WEB 服务体系结构(1)SOA 架构(三个参与者、三个基本操作、基本工作过程)三个参与者:服务提供者(Service Provider)服务请求者
22、(Service Requester)服务代理( Service Broker)三个基本操作发布( Publish )查找( Find )绑定 / 调用( Bind/Invoke)工作过程服务提供者将所提供的服务发布到服务代理的一个目录上服务请求者首先到服务代理提供的目录上搜索服务,得到如何调用该服务的信息根据得到的信息调用服务提供者提供的服务精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 13 页知识点精编(2)使用的协议(基本作用)WSDL(Web Service Description Language) 用来描述服务UDDI(
23、Universal Description, Discovery and Integration) 用来发布、查找服务SOAP(Simple Object Access Protocol) 用来执行服务调用WSFL(Web Service Flow Language) 将分散的、功能单一的Web 服务组织成一个复杂的有机应用(3)应用方向电子商务应用传统电子商务动态电子商务集成企业原有系统利用 Web Service 的高度可集成特性将企业运作的各个环节有效的联系起来,组成一个协同工作的整体,从而使得企业的所有业务都真正“ 自动化 ” 起来目前存在问题效率问题安全性、事务特性等高级特性的支持精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 13 页