山东大学中间件复习要点.docx
- 文档编号:16967723
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:13
- 大小:84.70KB
山东大学中间件复习要点.docx
《山东大学中间件复习要点.docx》由会员分享,可在线阅读,更多相关《山东大学中间件复习要点.docx(13页珍藏版)》请在冰点文库上搜索。
山东大学中间件复习要点
复习要点
你认为什么是中间件?
中间件的主要作用是什么?
定义:
中间件是介于应用系统和系统软件之间的一类软件,是位于操作系统和应用软件之间的一个软件层,向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情况下,通过网络互通信息。
作用:
使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
现代应用系统的基本特征是什么?
分布:
任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题;
异构:
计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题;
动态协作:
参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。
比较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(框架)是把远程命令解码,调用服务端的远程对象的方法,把结果再编码发给stub
ORB、对象适配器的作用分别是什么?
***
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,为所有客户端提供公共服务。
3单例sessionbean(SingletonSessionBean)
单例bean可以被多线程并发访问,状态全局共享,实现webservice,在应用启动和关闭时执行。
15.JavaEE中容器的作用。
JavaEE容器用于解决事务管理、状态管理、多线程、资源池、持久化、安全性、可获得性、分布式、生命周期管理等一些列复杂底层细节问题,使程序员能够专注业务逻辑开发。
主要分为JAVAEE服务器(EJB容器和web容器)、客户端应用程序容器(applet容器)等。
其中EJB容器管理enterprisebean执行,web容器管理jsp、servlet等web组件的执行。
16.什么是IOC/DI,主要类型有哪些?
IOC(InversionofControl)控制反转,是由容器来管理对象之间的依赖关系。
将原本由程序负责的组件装配权交给容器,增强开发灵活性。
DI(DependencyInjection)依赖注入,组件只提供普通的java方法,成员变量的值由外部程序(可能是容器)来设置。
主要类型:
构造器注入:
通过类的构造方法注入依赖关系。
设值注入:
通过类的setter方法注入依赖关系
接口注入(不常用):
定义一个注入接口,在需要注入的类中实现此接口。
17.简述ORM,为什么需要ORM?
?
概念:
ORM(ObjectRelationMapping)是一种为了解决与关系存在的互不匹配的现象的技术。
简单的说,ORM是通过使用描述和数据库之间映射的,将java中的对象自动持久化到关系数据库中。
本质上就是将数据从一种形式转换到另外一种形式。
为什么:
面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。
对象和关系数据是业务实体的2种不同表现形式。
面向对象与关系数据库存在互不匹配的现象,为了解决这个问题,ORM应运而生。
?
18.Struts框架各组件作用。
Struts是MVC模式的一种实现,构建程序框架结构。
控制层组成:
ActionServlet和Action。
ActionServlet在MVC模型中扮演中央控制器的角色。
Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程。
控制器接受用户的输入并调用模型和视图完成用户的需求。
视图组成:
jsp和ActionFormBean。
ActionFormBean来进行视图和控制器之间表单数据的传递。
视图是用户看到并与之交互的界面。
视图向用户显示数据并接收用户的输入数据,而不进行业务处理。
视图也可以向模型查询业务状态,但不能改变模型。
模型部分组成:
javabean和EJB
模型是应用程序的主体部分。
模型表示业务数据和业务逻辑。
一个模型能为多个视图提供数据。
由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
19.什么是MVC模式?
MVC全名是ModelViewController,(是模型(model)-视图(view)-控制器(controller)的缩写),一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
Model:
模型包含应用程序的核心功能。
模型封装了应用程序的状态。
它对视图或控制器一无所知。
View:
视图提供模型的表示。
它是应用程序的外观。
视图可以访问模型的读方法,但不能访问写方法。
对控制器一无所知。
Controller:
控制器对用户输入做出反应。
创建并设置模型。
20.什么是SOAP?
有什么特点?
可采用的底层传输协议有哪些?
SOAP(SimpleObjectAccessProtocol)简单对象访问协议:
SOAP是在松散的、分布的环境中使用XML交换结构化的和类型化的信息的一种简单协议。
特点:
SOAP本身并不定义任何应用语义,如编程模型或特定语义实现,它只定义了一种简单的以模块化的方式包装数据的机制。
将数据/对象打包成XML格式的数据
可采用的底层传输协议:
SOAP没有定义任何底层的传输协议。
可以使用HTTP、FTP、SMTP或者JMS,甚至是自定义协议来传输SOAP报文。
一般使用HTTP协议。
从某种意义上讲,SOAP可以简单理解为:
HTTP+XML+RPC
(HTTP作为底层通信协议
RPC作为一致性的调用途径
XML作为数据传输的格式
//SOAP的调用效率比较低
HTTP不是有效率的通信协议
XML需要额外的文件解析)
21.什么是UDDI、WSDL?
UDDI(UniversalDescription,DiscoveryandIntegration):
是一套基于Web的WebService注册中心的实现标准规范。
(注册中心维护了一个WebService的全球目录,其中的信息描述格式是基于通用的XML格式的。
)包含注册WebService和发现WebService的访问协议的实现标准。
WSDL(WebServiceDescriptionLanguage):
是采用XML语言来描述WebService的属性的语言,WSDL文档可以包含以下内容:
What:
WebService做什么,Where:
WebService位于哪里,How:
怎样调用。
(如果将WebService作为一个分布式对象来看,WSDL就是WebService的接口描述语言(IDL))。
WSDL定义了一套基于XML的语法,将WebService描述为能够进行消息交换的服务访问点的集合。
22.Ruby基本语法,类的设计等
23.REST是什么?
RESTful应用应该具备的约束由哪些?
RepresentationalStateTransfer(表述性状态传递)
是一种针对的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性
(REST模式的Web服务与复杂的SOAP和对比来讲明显的更加简洁
通常基于使用,URI,和以及现有的广泛流行的协议和标准)
约束:
1每个资源都应该有一个唯一的标识
2使用标准的方法来更改资源的状态
3Request和Response的自描述
4资源多重表述
5无状态的服务
24.Rails创建应用的基本过程
a)创建项目railsnewblog,cd进项目目录,执行bundleinstall
b)配置数据库config/database.yml
c)建立控制器:
railsgeneratecontrollerwelcomeindex
d)Config/routes.rb修改路由和资源等,rakeroutes命令查看路由
e)railsgeneratemodel命令创建模型,并通过rakedb:
migrate迁移
f)编写控制器代码和模板代码
g)railsserver运行程序
25.Microsoft.NET是什么?
技术特征是什么?
Microsoft.NET代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构
(.NET首先是一个环境。
这是一个理想化的未来互联网环境,微软的构想是一个“不再关注单个网站、单个设备与因特网相连的互联网环境,而是要让所有的计算机群、相关设备和服务商协同工作”的网络计算环境。
简而言之,互联网提供的服务,要能够完成更高程度的自动化处理。
未来的互联网,应该以一个整体服务的形式展现在最终用户面前,用户只需要知道自己想要什么,而不需要一步步地在网上搜索、操作来达到自己的目的。
这是一种理想,但的的确确是互联网的发展趋势所在。
.NET谋求的是一种理想的互联网环境。
而要搭建这样一种互联网环境,首先需要解决的问题是针对现有因特网的缺陷,来设计和创造一种下一代Internet结构。
这种结构不是物理网络层次上的拓扑结构,而是面向软件和应用层次的一种有别于浏览器只能静态浏览的可编程Internet软件结构。
因此.NET把自己定位为可以作为平台支持下一代Internet的可编程结构。
)
技术特征:
●软件变服务:
最终的软件应用是以Web服务的形式出现并在Internet发布的
●基于XML的共同语言:
XML作为一种应用间无缝接合的手段,用于多种应用之间的数据采集与合并,用于不同应用之间的互操作和协同工作。
●融合多种设备和平台:
谋求与各种Internet接入设备和平台的一体化
●新一代的人机界面:
要体现在“智能与互动”两个方面。
1.自然语音、视觉、手写等多种模式的输入和表现方法
2.基于XML的可编辑复合信息架构——通用画布
3.个性化的信息代理服务
4.使机器能够更好地进行自动处理的智能标记等技术。
26.COM+的特点?
1.把COM、DCOM和MTS的编程模型结合起来,继承了它们的绝大多数特性,在原有的特性上增加了新的功能
2.利用COM+的服务和管理工具以及其它开发工具,开发一个COM+组件要比开发一个COM组件容易得多
3.与COM相比较,COM+与Windows操作系统结合得更为紧密,集成了很多底层的、繁琐的工作;与MTS相比较,COM+更加适合于分布式应用的开发,它提供了许多大型分布式应用系统才可能用到的一些功能,COM+将使得企业应用直接进入分布式应用领域。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东大学 中间件 复习 要点