山东大学中间件复习要点_第1页
山东大学中间件复习要点_第2页
山东大学中间件复习要点_第3页
山东大学中间件复习要点_第4页
山东大学中间件复习要点_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、复习要点你认为什么是中间件?中间件的主要作用是什么?定义:中间件是介于应用系统和系统软件之间的一类软件,是位 于操作系统和应用软件之间的一个软件层,向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情况下,通过网络互通信息。 l 作用:使用系统软件所提供的基础服务(功能),衔接网络上应用 系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。现代应用系统的基本特征是什么?分布:任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题; 异构:计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需

2、考虑数据表示、调用接口、处理方式等诸多问题; l 动态协作:参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。比较B/S结构与C/S结构的优缺点。C/s 是客户机和服务器结构 B/S是浏览器和服务器结构 B/S:优点:1.具有分布性特点,业务处理方便;2.业务扩展简单方便;3.便于维护;4.共享性强 缺点:1.响应速度不及C/S结构;2.用户体验效果不够理想,需要单独界面设计 C/S:优点:1.客户端与服务器直接相连,响应速度快;2.C/S结构的管理信息系统具有较强的事务处理能力。 3 C/S架构的界面和操作可以很丰富4安全性能可以很容易保证,实现多层认证也不难 缺点:1.客户端需要

3、安装专用的客户端软件,工作量、维护成本较大;2.只适用于局域网(现在很多CRM软件也可适用于外网);3.对客户端的操作系统一般也会有限制。不适用于微软新的操作系统等等,Linux、Unix等;4维护成本高2层和3层系统的特点是什么?2层结构存在很多缺陷:客户端的负担仍比较重:仍然需要客户端进行较复杂的数据处理;客户端的可移植性不好:处理复杂必然牵涉更多的移植性问题; 每个客户端上都要安装数据库驱动程序;系统的可维护性不好:客户端包含过多的商业逻辑;商业逻辑与人机交互界面交织在一起;数据的安全性 l 3层结构的优点: 除了更合理的分配任务外,3层结构还具有如下优点:将业务逻辑放置在中间层可以提高

4、系统的性能,使中间层的业务逻辑处理与数据层的业务数据紧密结合在一起,而无需考虑客户的具体位置。添加新的中间层服务器能够满足新增客户机的需求,可以大大提高3层系统的可伸缩性。将业务逻辑从客户端移到中间层,在客户层的应用程序与数据层的数据库之间增加了一层,这样客户端的应用程序可以独立于数据层的数据库。将业务逻辑致于中间层,从而使业务逻辑集中到一处。实施过程更加容易。大量的中间层中间件平台提供丰富的系统级服务,使得开发人员可以以更少的工作量开发出更复杂、可靠、高效的软件系统。RMI存根和框架的作用?RMI(Remote Method Invoke)全称远程方法调用,是java开发分布式应用程序的ap

5、i,其目的使得运行在不同计算机对象之间的调用表现的像本地调用一样。RMI存根:存在于客户端,是远程对象的本地映像。负责初始化并与远程对象所在的VM连接,将参数打包,发送给VM,等待方法调用的结果,解包返回值和异常,将值返回给调用者。RMI框架:存在于服务器,接收存根请求并和远程对象交互,把响应传送到客户。负责:a解包客户端输入的远程方法参数,b调用实际的方法c将结果打包返回给调用者,传至引用层。Stub(存根)为客户端编码远程命令并把他们发送到服务器,等待服务器返回结果,stub再解码返回调用结果给客户端。 l Skeleton(框架)是把远程命令解码,调用服务端的远程对象的方法,把结果再编码

6、发给stubORB、对象适配器的作用分别是什么?*ORB(Object Request Broker)对象请求代理:是OMA参考模型的核心,是基于分布式对象构建应用程序的基础设施,保证了在异构平台上对象的互操作性与可移植性。 1通过ORB,一个客户端可以透明的调用同一台机器上或网络上的一个server对象的方法。2.ORB解释调用并负责查找实现该请求的对象,将参数传给找到的对象,并调用方法返回结果。客户方不需要了解服务对象的位置、通信方式、实现、激活或存储机制等。作用:把客户发出的请求传递给目标对象,并把目标对象的执行结果返回给发出请求的客户。由ORB提供的通信机制负责完成查找请求的对象实现,

7、让对象实现准备好接收请求,传递构成请求的数据。 l 对象适配器:对象适配器是联系对象实现与ORB本身的纽带。它的引入还大大减轻了ORB的任务,从而简化了ORB的设计。 作用:管理服务器端伺服对象,对象标识,CORBA对象以及它们之间关联。决定在收到一个客户请求时应调用哪一个伺服对象,然后调用该伺服对象上的合适操作。对象适配器主要完成以下工作:对象登记、对象引用(OR, Object Reference)的产生、服务器进程的激活、对象的激活、对象的撤消、对象向上调用。描述典型CORBA程序的开发实现过程(静态工作模式)。什么是POA策略?列举几种标准的POA策略并简要解释。POA策略:1.POA

8、策略是一个对象,负责控制相关POA的行为及这些POA所管理的对象2.使用POA前应仔细考虑应用程序所需的策略集。3.POA策略可为不同的应用程序 设计目标而配置不同的POA。l(是介于核心和服务器程序之间的软件层 ,它把所有的对象进行分类管理 ,将客户端发来的请求正确、快速地调度到其对应的目标对象上进行操作并返回结果)标准POA策略:(选两种即可) 线程策略:该策略指定POA使用的线程模型。生命期策略:该策略指定POA中对象实现的使用期限。对象标识唯一性策略:该策略允许多个抽象对象共享一个伺服对象。确定对象标识与伺服对象之间关联是唯一性还是多重性。对象标识指派策略:该策略指定对象标识是由程序员

9、编写的服务程序生成还是由POA自动生成。典型策略是USER_ID策略用于持久对象,SYSTEM_ID策略用于瞬时对象。伺服对象保持策略:该策略指定POA是否将活动伺服对象保存在活动对象的映射表中。请求处理策略:该策略指定POA如何处理请求。隐式激活策略:该策略指定POA是否支持服务对象的隐式激活。Corba客户端的静态和动态调用。静态调用(SII) 静态调用借助于客户程序桩完成。 桩与框架在编译时创建并且在运行时不再改变,所以这些接口称为SII。 IDL桩负责客户程序的实现语言与ORB内核之间的映射。 客户程序开发者必须在程序编译之前就知道操作的名字和所有参数与返回值的类型,实际的操作名字、参

10、数值和返回值是编写在应用程序的源代码中。 优缺点:1编程更容易-根据名字调用远程方法,将参数传递给方法,和本地方法调用相同。 2更强的类型校验-编译程序时加强了类型校验。 3执行良好-比动态方式快40倍左右 4自编文档-通过阅读代码可以了解正在进行的东西。 5不够灵活,用户在系统中添加新的对象服务时,客户程序必须改动源程序,重新编译,才能使用。 动态调用(Dynamic Invoke Interface):客户方应用可以在运行时动态地向任何对象发出请求,而不像静态调用那样,在编译时知道目标对象的信息。用户使用时需手动构造请求信息,包括响应操作和有关参数。((2)CORBA支持两种用于动态调用的

11、接口: 动态调用接口(DII)支持客户方的动态请求调用。 动态框架接口(DSI)支持服务方的动态对象调用。 1 利用DII,客户方应用可以在运行时动态地向任何对象发出请求,而不象静态调用那样,必须在编译时就知道特定的目标对象的界面信息。 2 使用DII时,用户必须手工构造请求信息,包括相应的操作及有关参数等。 3 类似地, DSI允许用户在没有静态框架信息的条件下来获得对象实现。 4 过程:客户在运行时发现服务,获取接口,动态构造请求,从而使客户方调用该对象实现提供服务 )/优缺点:更加灵活,但速度比静态调用慢。10简述什么是POA?简述创建并激活POA的过程?POA(Portable Obj

12、ect Adapter)可移植对象适配器:POA是对象实现与ORB其他组件之间的中介,它将客户请求传送到伺服对象,按需创建子POA,提供管理伺服对象的策略。 l 创建:利用create_POA()方法可以创建一个新的POA作为该POA的子POA, 可以根据实际需要以这种方式创建多个子POA,从而形成一个POA层次(服务程序创建子POA只需提供子POA的名字,客户程序必须使用完整的POA名字指定一个子POA) l 激活:对象引用通过对象标识与伺服对象建立关联。如果POA采用RETAIN策略,可有三种激活方式:显示激活,隐式激活,按需激活;若采用NON_RETAIN策略,对象只能按需激活。11.C

13、ORBA对象和伺服对象的关系。CORBA对象与具体的伺服对象是两个不同抽象层次的概念:它们之间的彻底分离使得CORBA独立于任何特定程序设计语言,并为服务端程序的可移植性打下基础。对象适配器是一个重要的ORB组件,它负责将抽象的CORBA对象映射到具体的伺服对象。 l CORBA对象可看作是一个具有对象标识、对象接口及对象实现的抽象实体。之所以称为抽象的,是因为并没有硬性规定CORBA对象的实现机制。由于独立于程序设计语言和特定ORB产品,一个CORBA对象的引用又称可互操作的对象引用(Interoperable Object Reference)。从客户程序的角度看,IOR中包含了对象的标识

14、、接口类型及其他信息以查找对象实现。 l 伺服对象(servant)是指具体程序设计语言的对象或实体,通常存在于一个服务程序进程之中。客户程序通过对象引用发出的请求经过ORB担当中介角色,转换为对特定的伺服对象的调用。在一个CORBA对象的生命期中,它可能与多个伺服对象相关联,因而对该对象的请求可能被发送到不同的伺服对象。 l 伺服对象通过对象标识关联到CORBA对象。建立一个伺服对象与一个CORBA对象之间关联的过程称为“激活”(activate)或“体现”(incarnate),反之,撤销这种关联的过程称为“冻结”(deactivate)或“净化”(etherealize)。经过激活或体现

15、后,CORBA对象、伺服对象以及对象标识均可称为活动的(active),否则称它们为非活动的(inactive)。不是简单的new持久对象(persistent object)可在创建它的服务程序进程之外存在,瞬时对象(transient object)只能在创建它的服务程序进程中存在。它们都是指一个CORBA对象。12什么是JavaEE? JAVA EE是建立在Java2平台上的企业级应用的解决方案,是SUN公司提出的一个标准,成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发,部署和管理等复杂问题。JavaEE技术的基础是java2平台(有J2SE平台的所有功能,还提供了对EJB

16、,Servlet,JSP,XML等技术的全面支持)JavaEE并非一个产品,而是一系列的标准13.什么是Enterprise Bean?Enterprise Bean优点是什么?Enterprise Beans是实现了EJB技术的java ee组件。它由java语言编写,运行在EJB容器中,是封装了业务逻辑的服务端组件。优点:1由于EJB容器提供了系统级的服务,bean的开发者可以专注于解决业务问题。2业务逻辑包含在服务端,客户端开发者可以专注于界面呈现。3 Enterprise bean是可复用的,可以根据已有的bean编译新的程序。14什么是会话bean?会话bean的子类型有哪些?分别的

17、应用场合?Session bean是非持久化bean,封装业务逻辑,可以被本地、远程或web service客户端以编程形式调用。分为三类:1有状态session bean(Stateful Session bean)Bean的状态代表着和一个特定客户端的交互。通过方法调用,bean可以保持客户端的信息,协调客户端和应用程序其他组件,为客户端提供一个简单视图,并负责管理enterpirse bean的工作流。2无状态session bean(Stateless Session bean)无状态bean不针对特定客户端保存数据,实现了web service,为所有客户端提供公共服务。3单例ses

18、sion bean(Singleton Session Bean)单例bean可以被多线程并发访问,状态全局共享,实现web service,在应用启动和关闭时执行。15.JavaEE中容器的作用。Java EE容器用于解决事务管理、状态管理、多线程、资源池、持久化、安全性、可获得性、分布式、生命周期管理等一些列复杂底层细节问题,使程序员能够专注业务逻辑开发。主要分为JAVA EE服务器(EJB容器和web容器)、客户端应用程序容器(applet容器)等。其中EJB容器管理 enterprise bean执行,web容器管理jsp、servlet等web组件的执行。16.什么是IOC/DI,主

19、要类型有哪些?IOC(Inversion of Control)控制反转,是由容器来管理对象之间的依赖关系。将原本由程序负责的组件装配权交给容器,增强开发灵活性。DI(Dependency Injection)依赖注入,组件只提供普通的java方法,成员变量的值由外部程序(可能是容器)来设置。主要类型:构造器注入:通过类的构造方法注入依赖关系。设值注入:通过类的setter方法注入依赖关系接口注入(不常用):定义一个注入接口,在需要注入的类中实现此接口。17.简述ORM,为什么需要ORM??概念:ORM(Object Relation Mapping)是一种为了解决面向对象与关系数据库存在的互

20、不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 为什么:面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的2种不同表现形式。面向对象与关系数据库存在互不匹配的现象,为了解决这个问题,ORM应运而生。?18.Struts框架各组件作用。Struts是MVC模式的一种实现,构建程序框架结构。 控制层组成:ActionServlet和Action。ActionServlet在MV

21、C模型中扮演中央控制器的角色。Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。 控制器接受用户的输入并调用模型和视图完成用户的需求。 视图组成:jsp和ActionForm Bean。ActionForm Bean来进行视图和控制器之间表单数据的传递。 视图是用户看到并与之交互的界面。视图向用户显示数据并接收用户的输入数据,而不进行业务处理。视图也可以向模型查询业务状态,但不能改变模型。 模型部分组成:javabean和EJB 模型是应用程序的主体部分。模型表示业务数据和业务逻辑。一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用

22、性。19.什么是MVC模式?MVC全名是Model View Controller,(是模型(model)视图(view)控制器(controller)的缩写),一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。Model:模型包含应用程序的核心功能。模型封装了应用程序的状态。它对视图或控制器一无所知。View:视图提供模型的表示。它是应用程序的外观。视图可以访问模型的读方法,但不能访问写方法。对控制器一无所知。Controller:控制器对用户输入做出反应。创建并设置模型。20.什

23、么是SOAP? 有什么特点?可采用的底层传输协议有哪些?SOAP(Simple Object Access Protocol)简单对象访问协议:SOAP是在松散的、分布的环境中使用XML交换结构化的和类型化的信息的一种简单协议。 l 特点:SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只定义了一种简单的以模块化的方式包装数据的机制。将数据/对象打包成XML格式的数据 l 可采用的底层传输协议:SOAP没有定义任何底层的传输协议。可以使用HTTP、FTP、SMTP或者JMS,甚至是自定义协议来传输SOAP报文。一般使用HTTP协议。 l 从某种意义上讲,SOAP可以简单理解为:H

24、TTP+XML+RPC (HTTP作为底层通信协议 RPC作为一致性的调用途径 XML作为数据传输的格式/SOAP的调用效率比较低HTTP不是有效率的通信协议XML需要额外的文件解析)21.什么是UDDI、WSDL?UDDI(Universal Description, Discovery and Integration):是一套基于Web的Web Service注册中心的实现标准规范。(注册中心维护了一个Web Service的全球目录,其中的信息描述格式是基于通用的XML格式的。) 包含注册Web Service和发现Web Service的访问协议的实现标准。 l WSDL(Web Se

25、rvice Description Language):是采用XML语言来描述Web Service的属性的语言,WSDL文档可以包含以下内容: What:Web Service做什么,Where:Web Service位于哪里,How:怎样调用。(如果将Web Service作为一个分布式对象来看,WSDL就是Web Service的接口描述语言(IDL))。WSDL定义了一套基于XML的语法,将Web Service描述为能够进行消息交换的服务访问点的集合。22.Ruby基本语法,类的设计等23.REST是什么?RESTful应用应该具备的约束由哪些?Representational St

26、ate Transfer(表述性状态传递 )是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性 (REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁 通常基于使用HTTP,URI,和XML以及HTML现有的广泛流行的协议和标准)约束:1每个资源都应该有一个唯一的标识 2使用标准的方法来更改资源的状态 3Request和Response的自描述 4资源多重表述 5无状态的服务 24.Rails创建应用的基本过程a) 创建项目 rails new blog,cd进项目目录,执行bundle installb) 配置数据库config/database.ymlc) 建立控制器:rails generate controller welcome indexd) Config/routes.rb修改路由和资源等,rake routes命令查看路由e) rails generate model 命令创建模型,并通过rake db:migrate迁移f) 编写控制器代码和模板代码g) rails server运行程序25.Microsoft.NET是什么?技术特征是什么?Microsoft.NET 代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构 (.NET首先是一个环

温馨提示

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

评论

0/150

提交评论