您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 山东大学中间件复习要点
复习要点你认为什么是中间件?中间件的主要作用是什么?定义:中间件是介于应用系统和系统软件之间的一类软件,是位于操作系统和应用软件之间的一个软件层,向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情况下,通过网络互通信息。作用:使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。现代应用系统的基本特征是什么?分布:任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题;异构:计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题;动态协作:参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。比较B/S结构与C/S结构的优缺点。C/s是客户机和服务器结构B/S是浏览器和服务器结构B/S:优点:1.具有分布性特点,业务处理方便;2.业务扩展简单方便;3.便于维护;4.共享性强缺点:1.响应速度不及C/S结构;2.用户体验效果不够理想,需要单独界面设计C/S:优点:1.客户端与服务器直接相连,响应速度快;2.C/S结构的管理信息系统具有较强的事务处理能力。3C/S架构的界面和操作可以很丰富4安全性能可以很容易保证,实现多层认证也不难缺点:1.客户端需要安装专用的客户端软件,工作量、维护成本较大;2.只适用于局域网(现在很多CRM软件也可适用于外网);3.对客户端的操作系统一般也会有限制。不适用于微软新的操作系统等等,Linux、Unix等;4维护成本高2层和3层系统的特点是什么?2层结构存在很多缺陷:客户端的负担仍比较重:仍然需要客户端进行较复杂的数据处理;客户端的可移植性不好:处理复杂必然牵涉更多的移植性问题;每个客户端上都要安装数据库驱动程序;系统的可维护性不好:客户端包含过多的商业逻辑;商业逻辑与人机交互界面交织在一起;数据的安全性3层结构的优点:除了更合理的分配任务外,3层结构还具有如下优点:将业务逻辑放置在中间层可以提高系统的性能,使中间层的业务逻辑处理与数据层的业务数据紧密结合在一起,而无需考虑客户的具体位置。添加新的中间层服务器能够满足新增客户机的需求,可以大大提高3层系统的可伸缩性。将业务逻辑从客户端移到中间层,在客户层的应用程序与数据层的数据库之间增加了一层,这样客户端的应用程序可以独立于数据层的数据库。将业务逻辑致于中间层,从而使业务逻辑集中到一处。实施过程更加容易。大量的中间层中间件平台提供丰富的系统级服务,使得开发人员可以以更少的工作量开发出更复杂、可靠、高效的软件系统。RMI存根和框架的作用?RMI(RemoteMethodInvoke)全称远程方法调用,是java开发分布式应用程序的api,其目的使得运行在不同计算机对象之间的调用表现的像本地调用一样。RMI存根:存在于客户端,是远程对象的本地映像。负责初始化并与远程对象所在的VM连接,将参数打包,发送给VM,等待方法调用的结果,解包返回值和异常,将值返回给调用者。RMI框架:存在于服务器,接收存根请求并和远程对象交互,把响应传送到客户。负责:a解包客户端输入的远程方法参数,b调用实际的方法c将结果打包返回给调用者,传至引用层。Stub(存根)为客户端编码远程命令并把他们发送到服务器,等待服务器返回结果,stub再解码返回调用结果给客户端。Skeleton(框架)是把远程命令解码,调用服务端的远程对象的方法,把结果再编码发给stubORB、对象适配器的作用分别是什么?***ORB(ObjectRequestBroker)对象请求代理:是OMA参考模型的核心,是基于分布式对象构建应用程序的基础设施,保证了在异构平台上对象的互操作性与可移植性。1通过ORB,一个客户端可以透明的调用同一台机器上或网络上的一个server对象的方法。2.ORB解释调用并负责查找实现该请求的对象,将参数传给找到的对象,并调用方法返回结果。客户方不需要了解服务对象的位置、通信方式、实现、激活或存储机制等。作用:把客户发出的请求传递给目标对象,并把目标对象的执行结果返回给发出请求的客户。由ORB提供的通信机制负责完成查找请求的对象实现,让对象实现准备好接收请求,传递构成请求的数据。对象适配器:对象适配器是联系对象实现与ORB本身的纽带。它的引入还大大减轻了ORB的任务,从而简化了ORB的设计。作用:管理服务器端伺服对象,对象标识,CORBA对象以及它们之间关联。决定在收到一个客户请求时应调用哪一个伺服对象,然后调用该伺服对象上的合适操作。对象适配器主要完成以下工作:对象登记、对象引用(OR,ObjectReference)的产生、服务器进程的激活、对象的激活、对象的撤消、对象向上调用。描述典型CORBA程序的开发实现过程(静态工作模式)。什么是POA策略?列举几种标准的POA策略并简要解释。POA策略:1.POA策略是一个对象,负责控制相关POA的行为及这些POA所管理的对象2.使用POA前应仔细考虑应用程序所需的策略集。3.POA策略可为不同的应用程序设计目标而配置不同的POA。(POA是介于ORB核心和服务器程序之间的软件层,它把所有的CORBA对象进行分类管理,将客户端发来的请求正确、快速地调度到其对应的目标对象上进行操作并返回结果)标准POA策略:(选两种即可)线程策略:该策略指定POA使用的线程模型。生命期策略:该策略指定POA中对象实现的使用期限。对象标识唯一性策略:该策略允许多个抽象对象共享一个伺服对象。确定对象标识与伺服对象之间关联是唯一性还是多重性。对象标识指派策略:该策略指定对象标识是由程序员编写的服务程序生成还是由POA自动生成。典型策略是USER_ID策略用于持久对象,SYSTEM_ID策略用于瞬时对象。伺服对象保持策略:该策略指定POA是否将活动伺服对象保存在活动对象的映射表中。请求处理策略:该策略指定POA如何处理请求。隐式激活策略:该策略指定POA是否支持服务对象的隐式激活。Corba客户端的静态和动态调用。静态调用(SII)静态调用借助于客户程序桩完成。桩与框架在编译时创建并且在运行时不再改变,所以这些接口称为SII。IDL桩负责客户程序的实现语言与ORB内核之间的映射。客户程序开发者必须在程序编译之前就知道操作的名字和所有参数与返回值的类型,实际的操作名字、参数值和返回值是编写在应用程序的源代码中。优缺点:1编程更容易-根据名字调用远程方法,将参数传递给方法,和本地方法调用相同。2更强的类型校验-编译程序时加强了类型校验。3执行良好-比动态方式快40倍左右4自编文档-通过阅读代码可以了解正在进行的东西。5不够灵活,用户在系统中添加新的对象服务时,客户程序必须改动源程序,重新编译,才能使用。动态调用(DynamicInvokeInterface):客户方应用可以在运行时动态地向任何对象发出请求,而不像静态调用那样,在编译时知道目标对象的信息。用户使用时需手动构造请求信息,包括响应操作和有关参数。((2)CORBA支持两种用于动态调用的接口:动态调用接口(DII)——支持客户方的动态请求调用。动态框架接口(DSI)——支持服务方的动态对象调用。1利用DII,客户方应用可以在运行时动态地向任何对象发出请求,而不象静态调用那样,必须在编译时就知道特定的目标对象的界面信息。2使用DII时,用户必须手工构造请求信息,包括相应的操作及有关参数等。3类似地,DSI允许用户在没有静态框架信息的条件下来获得对象实现。4过程:客户在运行时发现服务,获取接口,动态构造请求,从而使客户方调用该对象实现提供服务)///////优缺点:更加灵活,但速度比静态调用慢。10简述什么是POA?简述创建并激活POA的过程?POA(PortableObjectAdapter)可移植对象适配器:POA是对象实现与ORB其他组件之间的中介,它将客户请求传送到伺服对象,按需创建子POA,提供管理伺服对象的策略。创建:利用create_POA()方法可以创建一个新的POA作为该POA的子POA,可以根据实际需要以这种方式创建多个子POA,从而形成一个POA层次(服务程序创建子POA只需提供子POA的名字,客户程序必须使用完整的POA名字指定一个子POA)激活:对象引用通过对象标识与伺服对象建立关联。如果POA采用RETAIN策略,可有三种激活方式:显示激活,隐式激活,按需激活;若采用NON_RETAIN策略,对象只能按需激活。11.CORBA对象和伺服对象的关系。CORBA对象与具体的伺服对象是两个不同抽象层次的概念:它们之间的彻底分离使得CORBA独立于任何特定程序设计语言,并为服务端程序的可移植性打下基础。对象适配器是一个重要的ORB组件,它负责将抽象的CORBA对象映射到具体的伺服对象。CORBA对象可看作是一个具有对象标识、对象接口及对象实现的抽象实体。之所以称为抽象的,是因为并没有硬性规定CORBA对象的实现机制。由于独立于程序设计语言和特定ORB产品,一个CORBA对象的引用又称可互操作的对象引用(InteroperableObjectReference)。从客户程序的角度看,IOR中包含了对象的标识、接口类型及其他信息以查找对象实现。伺服对象(servant)是指具体程序设计语言的对象或实体,通常存在于一个服务程序进程之中。客户程序通过对象引用发出的请求经过ORB担当中介角色,转换为对特定的伺服对象的调用。在一个CORBA对象的生命期中,它可能与多个伺服对象相关联,因而对该对象的请求可能被发送到不同的伺服对象。伺服对象通过对象标识关联到CORBA对象。建立一个伺服对象与一个CORBA对象之间关联的过程称为“激活”(activate)或“体现”(incarnate),反之,撤销这种关联的过程称为“冻结”(deactivate)或“净化”(etherealize)。经过激活或体现后,CORBA对象、伺服对象以及对象标识均可称为活动的(active),否则称它们为非活动的(inactive)。不是简单的new持久对象(persistentobject)可在创建它的服务程序进程之外存在,瞬时对象(transientobject)只能在创建它的服务程序进程中存在。它们都是指一个CORBA对象。12什么是JavaEE?JAVAEE是建立在Java2平台上的企业级应用的解决方案,是SUN公司提出的一个标准,成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发,部署和管理等复杂问题。JavaEE技术的基础是java2平台(有J2SE平台的所有功能,还提供了对EJB,Servlet,JSP,XML等技术的全面支持)JavaEE并非一个产品,而是一系列的标准13.什么是EnterpriseBean?EnterpriseBean优点是什么?EnterpriseBeans是实现了EJB技术的javaee组件。它由java语言编写,运行在EJB容器中,是封装了业务逻辑的服务端组件。优点:1由于EJB容器提供了系统级的服务,bean的开发者可以专注于解决业务问题。2业务逻辑包含在服务端,客户端开发者可以专注于界面呈现。3Enterprisebean是可复用的,可以根据已有的bean编译新的程序。14什么是会话bean?会话bean的子类型有哪些?分别的应用场合?Sessionbean是非持久化bean,封装业务逻辑,可以被本地、远程或webservice客户端以编程形式调用。分为三类:1有状态sessionbean(StatefulSessionbean)Bean的状态代表着和一个特定客户端的交互。通过方法调用,bean可以保持客户端的信息,协调客户端和应用程序其他组件,为客户端提供一个简单视图,并负责管理enterpirsebean的工作流。2无状态sessionbean(StatelessSessionbean)无状态bean不针对特定客户端保存数据,实现了webservice,为
本文标题:山东大学中间件复习要点
链接地址:https://www.777doc.com/doc-2477563 .html