1. 你认为什么是中间件?中间件的主要作用是什么?(课件1.中间件技术21-23)
定义为:中间件是介于应用系统和系统软件之间的一类软件 。
位于操作系统和应用软件之间的一个软件层,向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情况下,通过网络互通信息。
作用:它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的
2. 比较B/S结构与C/S结构的优缺点。
3. ORB、对象适配器的作用分别是什么?(课件2.Corba_初步28、61、63、64、65)
ORB:
是OMA的核心基础设施。
由ORB提供的通信机制负责完成查请求的对象实现,让对象实现准备好接收请求,传递构成
请求的数据功能:把客户发出的请求传递给目标对象,并把目标对象的执行结果返回给发出请求的客户。
对象适配器:
作用:管理服务器端伺服对象,对象标识,CORBA对象以及它们之间关联的主要工具是对象适配器(课件5 .编写服务端程序3)
POA提供了产生和解释对象引用、对请求进行认证、激活/去活实现 、激活/去活单个对象、通过框架调用方法等功能. (课件2.Corba_初步61)
对象适配器主要完成以下工作:
对象登记
对象引用(OR,Object Reference)的产生
服务器进程的激活对象的激活。对象的撤消对象向上调用
(63、64、65)
4. 描述典型CORBA程序的开发实现过程(静态工作模式)。(课件3简单Corba程序设计4-6)
静态工作方式:
一个典型CORBA应用的实现过程:
5. 什么是POA策略?列举几种标准的POA策略并简要解释。(5.编写服务端程序24-31)
POA策略:
POA策略是一个对象,负责控制相关POA的行为及这些POA所管理的对象,使用POA前应仔细考虑应用程序所需的策略集。
POA策略种类:
线程策略
该策略指定POA使用的线程模型,它有两种取值:ORB_CTRL_MODEL(缺省值)SINGLE_THREAD_MODEL
生命期策略该策略指定POA中对象实现的使用期限,它可有以下值:TRANSIENT(缺省值)PERSISTENT
对象标识唯一性策略该策略允许多个抽象对象共享一个伺服对象,它可取下列值:UNIQUE_ID(缺省值)
MULTIPLE_ID
对象标识指派策略该策略指定对象标识是由程序员编写的服务程序生成还是由POA自动生成,它可取以下值:USER_ID: SYSTEM_ID(缺省值)
伺服对象保持策略该策略指定POA是否将活动伺服对象保存在活动对象映射表中,它有两种取值:RETAIN(缺省值)
NON_RETAIN请求处理策略该策略指定POA如何处理请求,它有三种取值:USE_ACTIVE_OBJECT_MAP_ONLY(缺省值):
USE_DEFAULT_SERVANTUSE_SERVANT_MANAGER
隐式激活策略该策略指定POA是否支持伺服对象的隐式激活,它可取以下值:IMPLICIT_ACTIVATION
NO_IMPLICIT_ACTIVATION(缺省值)。
6. 消息发送的模式有哪些?
同步通信跟异步通信
jsp编译过程【通信方式SII支持同步,单向DII支持三种:同步,单向,延迟同步(课件6编写客户端程序7)】
7. 简述基于POA实现的客户请求传递过程。(5.编写服务端程序10-12)
客户请求的传递过程:
客户程序发出的请求中包含:创建对象引用的POA名字、对象标识及目标机器与端口等信息。如果目标POA不存在,ORB还允许调用适配器激活器创建所需的POA。
一旦请求被ORB传送到正确的机器与端口,监听该端口的POA管理器负责检查对象关键码(object key),对象关键码中含有POA名字与对象标识;POA管理器利用对象关键码将请求传送给正确的POAPOA利用对象关键码确定对象标识,根据POA的策略集直接或间接地利用对象标识将请求传送到正确的伺服对象。
8. 什么是消息中间件? 和PRC的比较,并描述一种消息中间件的应用场景。(1.中间件技术27、28)
消息中间件:应用间通过传递消息来进行协作,是一种异步通信模式。主要功能是在不同的网络协议、不同的操作系统和不同的应用程序之间提供可靠的和可恢复的(若发生意外)消息传送。
RPC调用的缺点
(1)客户端与服务器端需要同时在线;(2)客户端需要知道服务器端的调用接口,若调用接口发生改变,客户端需要做相应变化,如通过ODBC连接访问数据库,客户端需要知道远程数据库的类型,若类型发生改变,还需要重新装载相应的驱动程序。(3)操作过程中需要一直保持与服务器端的连接,直到操作结束。因而, (a)一旦连接中断,就意味着操作失败或数据丢失; (b)通常判断连接中断的时间较长,若信道的可靠性较差, 容易造成连接中断,那么应用效率将严重低下; (c)服务器端在执行操作的过程中,并不涉及网上数据传输,但连接的保持占用信道,容易造成网络堵塞。
这个问题可用消息中间件来解决,工作原理:
应用之间以一系列消息的方式进行通信。在消息传递过程中,为了避免消息被丢失,消息被
保存在消息队列中。应用把消息发送到与接收者有关的队列中。消息传递机制保证将消息传送到目的地且只传送一次。在消息传递过程中,应用之间不必建立联系,发送者仅需将消息放入到与接收者有关的队列中,而不必关心接收者是否在线。接收者仅需从自己的队列中提取消息即可。
IBM的MQSeries、Microsoft的MSMQ、东方通的TongLink/Q、BEA的MessageQ
9. EJB组件有哪几种?其特点分别是什么?(EJB)
组件:
会话bean(维护会话):表示客户同应用之间进行的会话,是一种商业处理过程对象。 实体bean(处理事务):代表商业过程中处理的永久性的数据。消息驱动Beans(Message-driven Beans):结合了会话bean 和 JMS的消息的特性, 可异步接收JMS 消息。
特点:
会话bean(维护会话):
运行在服务器端,其数据需要自己管理客户通过session bean上的方法来同应用的业务逻辑层上的组件进行交互Session bean是短暂的,且只有在与之关联的会话存在时才存在
会话Bean代表的是调用它的客户程序所完成的工作,是商务过程对象。他们执行商务逻辑、商务规则、算法和工作流程,他们是包含商务逻辑过程的可重用组件。实体bean:
表示存储在永久性数据存储位置的业务数据,是持久的对象。与会话bean不同,实体bean不维护客户端状态实体bean实例映射到存储在关系数据库表中的一行数据实体bean每一个实例都具有唯一的标识(主键)更复杂的entity bean可以代表数据库表间关联视图。 实体bean对象的存活时间与它们相关联的数据实体一样长,持续到它们表示的实体实际从永久性存储器中删除时对象与会话bean不同,实体可由多个客户共享消息bean:
与其他BEAN区别不能由客户直接调用,由容器异步调用没有远程或本地接口类似于无状态的会话BEAN
10. RMI存根和框架的作用?(RMI11、12)
存根:
存在于客户端远程对象的本地映象:调用远程对象时,实际调用的是存根对象上的方法
负责:初始化并与远程对象所在的远程VM连接将参数打包,传递到远程VM等待方法调用的结果解包返回值和异常将值返回给调用者
框架:
存在于服务器接收客户存根的请求和真正的远程对象进行交互传送服务器响应到客户
负责:解包客户端输入的远程方法的参数调用实际的远程对象的方法将结果打包返回给调用者传至远程引用层
11. 比较JSP与Servlet。(一般知识43)
两者都是基于Java的技术,所以都继承了Java的所有特性(跨平台、多线程、OO ),都可以使用Java强大的API。两者工作方式相似:JSP代码先被JSP容器转换为Servlet代码再编译为类。两者在J2EE体系结构中的工作层次相同,都负责与客户端的连接。都是Web服务器的功能扩展,Servlet创建动态页面;JSP可动态,静态创建页面Servlets是一些运行于Web服务器端的Java小程序;而JSP是脚本,编写起来更简单容易。
12. 简述什么是POA?简述创建并激活POA的过程?(5编写服务端程序4、37、44)
POA是对象实现与ORB其他组件之间的中介,它将客户请求传送到伺服对象,按需创建子POA,提供管理伺服对象的策略。
创建:利用create_POA()方法可以创建一个新的POA作为该POA的子POA, 可以根据实际需要以这种方式创建多个子POA,从而形成一个POA层次(服务程序创建子POA只需提供子POA的名字,客户程序必须使用完整的POA名字指定一个子POA)
激活:对象引用通过对象标识与伺服对象建立关联。如果POA采用RETAIN策略,可有三种激活方式:显示激活,隐式激活,按需激活;若采用NON_RETAIN策略,对象只能按需激活。
13. 简述什么是值类型?值类型的作用和典型用法是什么?(4编写对象接口18、19)
值类型:一种由类型的实际值表示的数据类型。
实质:一个对象的目的是为了封装数据,或一个APP需要显式地对某一对象进行复制,该对象应使用IDL值类型而不是接口类型,此时的对象实例称为“值”。
作用:在网络中传递对象状态信息,即为了实现按值传递对象典型用法:
1按值调用传递参数时创建实参的副本2远程操作返回一个对象时创建返回结果的副本
14. 现代应用系统的主要特征是什么?(课件1.中间件技术10)
分布:任务已不只是在单机上运行,而是由网络中多台计算机上的相关应用共同协作完成,需考虑网络传输、数据安全、数据一致性、同步等诸多问题;异构:计算机硬件、操作系统、网络协议、数据库系统以及开发工具种类繁多,需考虑数据表示、调用接口、处理方式等诸多问题;动态协作:参与协作的应用允许位置透明性、迁移透明性、负载平衡性等需求。
15. 2层和3层系统的特点是什么?(1.中间件技术13-16&一般知识2-6)
2层结构存在很多缺陷:
客户端的负担仍比较重仍然需要客户端进行较复杂的数据处理客户端的可移植性不好处理复杂必然牵涉更多的移植性问题每个客户端上都要安装数据库驱动程序系统的可维护性不好客户端包含过多的商业逻辑商业逻辑与人机交互界面交织在一起数据的安全性
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论