中间件复习资料顾秀坚.doc
中间件复习

☐基于主机的系统缺陷:系统简单功能较少移植性差☐客户机/服务器(Client/Server)结构客户机提供对信息或服务的请求,服务器提供这种信息或服务。
⏹QQ聊天客户端与服务器⏹电子邮件客户端与服务程序⏹ERP客户端与服务器☐C/S结构特点:交互性强、网络通信量低、响应速度快、利于处理大量数据。
两层结构的缺陷☐客户端的可移植性不好⏹处理复杂必然牵涉更多的移植性问题⏹每个客户端上都要安装数据库驱动程序☐系统的可维护性不好⏹业务逻辑与人际交互界面交织在一起⏹发生一次升级,则所有客户端的程序都需要改变☐客户端的负担仍比较重仍然需要客户端进行复杂的数据处理☐数据的安全性不好B/S(Browser/Server)结构即浏览器/服务器结构。
它是对C/S结构的变化或者改进。
☐客户端采用浏览器运行软件。
☐主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。
但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低。
☐三层(n层)体系结构⏹表示层——客户层⏹业务逻辑层——中间层⏹数据层——资源管理器☐数据层:执行数据逻辑,运行SQL或存储过程☐中间层:执行业务逻辑,向数据库发送请求☐客户层:用于界面引导,接受用户输入,并向应用服务器发送服务请求,显示处理结果封闭系统:计算机的所有硬件与软件均由单一的厂商提供,或者由该厂商指定的经过合法授权的厂商协助制造。
遗留的产品:苹果的Mac系列计算机。
☐开放系统基本组成⏹硬件PC,工作站,大中型机,各式各样的嵌入式设备,移动设备⏹软件各类操作系统、应用软件⏹网络各类网络结构、网络协议开放系统面临的问题⑴远程性⑵并发行⑶无全局状态⑷部分失败⑸异步性⑹异质性⑺自主性⑻联合型⑼伸缩性⑽发展性⑾移动性开放系统特点⑴开放的:提供可移植性和协同工作⑵集成的:有助于对付异质性⑶灵活的:有助于对付移动性⑷模块化的:灵活性的基础⑸可联合的⑹可管理的⑺安全的⑻透明的:支撑软件和硬件的异质性⑼满足服务质量需求开放系统必具特性☐可移植性(Portability)☐可互操作性(Interoperability)☐可伸缩性(Scalability)☐易获得性(Availability)•互操作性:在一个由异质实体构成的网络环境中,当应用在网络的结点上运行时,它可以透明地动用网络中其他结点上的资源,并借助这些资源与本结点上的资源共同来完成某个或某组任务。
中间件重点复习题

中间件重点题目9. JDBC-ODBC 桥的数据源URL 的格式是什么?jdbc:odbc:dbsource ,username,password17 jdk1.x 的RMI JNDI 命名目录服务器是什么?Rmi.registry24. 什么是Stub, Skelton,他们的作用是什么?存根序列化骨架的参数列表骨架调用远程方法并且将序列化的结果传给存根27. 在jdk1.x(x>5)把一个IDL 文件映射成Java 目标代码的编译器及其主要选项是什么?-fall (全部命令:idlj –fall 接口文件)28. 什么是中间件?试举出若干重要的技术?介于应用层和系统层的软件rmi ,rmioveriiop ,cobra ,j2ee29. DCOM 是中间件技术吗?Y es35. 标注@Stateless 是做什么用的?表明当前POJO是无状态会话bean36. 对于GlassFish EJB Container 来说,标注@Stateless(mappedName=”ejb/StudentBean”)属性值mappedName 指的是什么?指定ejb的全局名,通常ejb容器会根据mappedName类生成JNDI名40. 标注@Id 是做什么用的?表明主键值生成方式.41. 标注@Entity 是做什么用的?表示当前类为实体46. 标注@NamedQueries({@NamedQuery(name=”Student.findAll”,query=”selects from student s”), @NamedQuery(name=”Student.findById”,query=”select sfrom student where s.id = :id”)})出现在什么类型的Bean?含义是什么?NamedQueries 用于指定使用java Persisitence查询语句编写的指定查询它在其中表定为静态查询查询名称的范围限制在持久性单元中.52. 一个IDL 文件有三级模块嵌套module mia { module ham { module football {……}…..}……}试问编译成Java 目标代码后,最内层的某个接口所在的包是什么?Mia.ham.footabll;54. 假定使用GlassFish 作为EJB 容器,那么在客户端应该使用来自EJB 容器的那几个jar 文件Javaee Appserve-ext Apppserve-deployment-client Appserve58. 简单描述通过JDBC-ODBC 桥在一个Java 应用中连接到一个Exel 电子表格,共有几层软件层?4 jdbc jdbc-odbc driver odbc obdc-excel driver59. 如何配置ODBC 数据源?控制面板——管理工具——数据源(ODBC)——系统DNS(用户DNS也可)——添加——指定数据库驱动——输入数据源名称——找到你的数据库61. 假定我们配置了一个连接到一个Exel 电子表格的名为rmiiiop_ds,那么在Java 应用中对应的URL 格式是什么?Jdbc:odbc:rmiiop_ds63. EJB 分几种?她们的意义是什么?会话bean 实体bean 消息驱动bean64. 在EJB3.0 模型下,业务逻辑由什么类型的EJB 承担?Data Layer 又由什么类型的EJB?实体bean session bean以上改变为选择题简单题1 corba 开发步骤1 定义IDL接口2 IDL接口文件的编译为目标语言3 实现远程对象4 开发Server5 开发Client6 编译Server Client7 测试这些文件2 客户端stub(存根的作用)1编译时确定的的静态接口,位于客户对象本地, 对客户来说相当于远程的执行对象。
软件中间件复习资料.doc

题型:判断题,名词解释,简答题,程序题(DAO, IDL)第一章(1)中间件定义:中间件是一•种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术Z间共享资源,中间件位于客户机服务器的操作系统Z上,管理计算资源和网络通信。
(2)中间件特点:满足大量应用的需要,运行于多种硬件、数据库及操作系统平台支持分布式计算,提供跨网络、底层平台的透明性应用或服务的交互功能,支持标准协议支持标准的接口(3)中间件能为我们软件开发带来那些帮助?屮间件屏蔽了底层操作系统和数据库的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不系统软件上的移植而重复工作,大大减少技术上的负担;也减少了系统的维护、运行和管理的工作量及计算机总体费用的投入。
第二章(1)C/S休系结构特点:无论是客户端还是服务端都需要特定的软件支持。
没能提供川户期望的开放环境,适用于Intraneto服务器端运行负荷较轻。
数据的存储管理功能较为透明。
C/S 体系结构的劣势是高昂的维护成本投资大。
(2)B/S体系结构特点:1.简化了客八端的工作,2.瘦客八端结构。
3.对数据库的访问和应用程序的执行将在Sewer上完成。
4.把技术维护人员从繁重的维护升级工作中解脱出来。
(3)B/S体系结构不足方而:1.浏览器应用于Web应用系统时,许多功能不能实现或实现困难。
2.复杂的应用构造困难。
3.HTTP nJ靠性低,采用浏览器进行系统维护不安全。
4.Web 服务器同时要处理客户请求以及与数据库联接,负载过重。
5.业务逻辑和数据安全不足。
(4)多层应用体系结构特点:1.安全性,2.稳定性,3.易维护,4.快速响应,5.系统扩展灵活。
(5)应用服务器位于Middle Tier提供哪些服务?(6)J2EE概念:ava EE是一种利用Java 2平台简化企业解决方案的开发、部署和管理相关复杂问题的体系结构。
中间件总复习题及答案

中间件总复习题第一章中间件产生的背景1、C/S结构与B/S结构各有何特点?⑴系统的性能在系统的性能方面,B/S占有优势的是其灵活性。
任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。
近年来,智能手机、智能家电、PDA等传统电脑之外的上网方式发展迅速,这在一定程度上为B/S结构增加了砝码。
不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。
采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。
而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其他格式文件多半是以附件的形式存放。
而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。
⑵系统的开发最新的C/S结构和B/S结构都是建立在现在被称为中间件的产品基础之上,也就是建立在应用服务器(Web服务器)中间件、消息中间件和交易中间件等基础之上。
采用C/S结构时,客户端和服务器端都要处理任务,客户端也需要编程,这对应用开发者提出了较高的要求,这使得应用程序的维护、移植和互操作变得复杂,成了C/S的一大缺陷。
如果客户端是在不同的操作系统上(比如Windows 2000/2003 Server以及不同版本的Linux),C/S结构的软件需要开发不同版本的客户端软件。
如果产品经常需要更新换代,那么升级系统时候需要付出的高代价以及工作的低效率会在一定程度上制约企业的应用。
但是,与B/S结构相比,C/S技术发展历史更为“悠久”。
从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。
而对于非常复杂的应用,B/S方式目前尚没有合适方式进行开发。
⑶系统的升级维护C/S系统的各部分模块中有一部分改变,就要关联到其他模块的变动,使系统升级成本比较大。
B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。
中间件(去年软件复习资料)

中间件复习题
1.你认为什么是中间件?中间件的主要作用是什么?
2.比较B/S结构与C/S结构的优缺点。
3.ORB、对象适配器的作用分别是什么?
4.描述典型CORBA程序的开发实现过程(静态工作模式)。
5.什么是POA策略?列举几种标准的POA策略并简要解释。
6.消息发送的模式有哪些?
7.说明中间件在电子商务及电子政务系统中的典型应用场景。
8.简述基于POA实现的客户请求传递过程。
9.什么是消息中间件? 描述一种消息中间件的应用场景。
10.EJB组件有哪几种?其特点分别是什么?
11.RMI存根和框架的作用?
12.比较JSP与Servlet。
13.简述什么是POA?简述创建并激活POA的过程?
14.简述什么是值类型?值类型的作用和典型用法是什么?
15.现代应用系统的主要特征是什么?
16.2层和3层系统的特点是什么?
17.什么是SOAP? 有什么特点?可采用的底层传输协议有哪些?
18.什么是MVC ?
19.你认为如想成为中间件产品生产或应用公司的合格技术人员,应该具备哪些技术
和素质?
20.Servelet的执行过程?最常使用的接口有什么?。
《软件构件与中间件技术》全真试题

学习中心_________姓名_____________ 学号西安电子科技大学网络与继续教育学院《软件构件与中间件技术》全真试题(开卷90分钟)题号一二总分题分31 69得分一.多项选择题(共12小题,31分。
按照要求的选项个数选择)1. 在3层结构的分布式系统中,()包含了系统的核心业务逻辑。
(选1,2分)(A)客户层(B)中间层(C)数据层(D)以上都不是2. 典型的集成中间件为开发人员提供的三种基本支撑为:(选3,3分)()(A)提供构件运行环境(B)提供互操作机制(C)提供公共服务(D)提供数据库管理3. 构件通过封装隐藏其实现细节,构件接口是构件对外公布的唯一信息,使用者只能通过接口了解并使用组件。
CORBA对象的接口是用()定义的,EJB构件的接口是用()定义的,Web Service的接口是用()定义的。
(各选1,3分)(A)WSDL (B)Java interface (C)自然语言(D)OMG IDL4. 在支持分布式对象访问的桩/框架(Stub/Skeleton)结构中,负责替客户端完成底层通信相关工作的是(),负责替服务端完成底层通信相关工作的是()。
(各选1,2分)(A)客户端桩(Stub)(B)构件的接口(C)服务端框架(Skeleton)(D)分布式对象自身5. 在下图所示的OMA参考模型中,哪些涵盖了我们开发一个基于CORBA的应用时可以直接使用、不需自己实现的功能:(选3,3分)()(A)对象服务(B)领域接口(C)公共设施(D)应用程序接口6. CORBA IDL文件中可以定义模块、类型、常量、异常、接口、值等6种规格说明,其中IDL文件的核心内容是:(选1,2分)()(A)类型(B)常量(C)接口(D)值7. CORBA规范可以实现的可互操作性包括:(选3,3分)()(B)不同平台(如不同操作系统)与语言之间的可互操作性(C)不同厂商ORB产品之间的可互操作性(D)不同体系结构中的组件的互操作性(部分支持)(E)不同CORBA规范版本之间的可互操作性8.下面关于EJB的会话构件(Session Bean)的描述正确的有:(选2,2分)()a)Session Bean存在于客户应用与应用服务器交互的时间段内,Session bean中的数据不保存在数据库中。
中间件复习题01

中间件复习题一、判断题1.close()函数用于关闭套接字描述符,这个函数的调用会引发TCP的中止连接操作。
(0)2.在TCP的客户端程序中,如果connect()函数调用失败,则套接字符不能再使用,必须关闭。
(1)3.shutdown(int sockfd, int howto)函数,可以根据参数howto关闭指定方向的数据传输。
(1)4.getsockname()函数返回套接字对应的远程地址。
(0)5.inet_addr()函数既可用于IPV4也可用于IPV6的地址转换。
(0)6.Linux支持多种套接字类型,其中SOCKET_STREAM类型对应的是UDP协议。
(0)7.绑定地址时,可以指定地址为通配地址:INADDR_ANY,其值一般为0,它通知内核选择IP地址。
(1)8.函数bind返回的一个常见错误是:所绑定的地址已被其他进程使用,我们可以通过设置套接字选项SO_REUSEADDR来避免产生这个错误。
(1)9.在UDP套接字程序中,客户端与服务器通信时,必须使用sendto()和recvfrom()函数。
(0)10.TCP的服务器端绑定地址时,可以同时指定绑定的地址和端口号,也可以指定其中之一,甚至一个也不指定。
(1)11.在TCP套接字程序中,当read()函数收到FIN数据时,其返回-1。
(0)12.在TCP套接字程序中,客户端程序要生成二个套接字描述符。
(0)13.在多线程并发服务器中,为了防止父子线程对描述符的操作造成混乱,在主线程创建子线程后,应在父线程中关闭不用的已连接描述符。
(0)14.在线程专用数据中,如果一个进程中有n个线程,就有n个关键字key。
(0)15.在多进程执行程序中,父进程不能先于子进程退出。
(0)16.pthread_key_delete(pthread_key_t key)函数删除进程内的TSD表示的关键字,该函数执行时要先检查TSD是否有绑定值。
(0)17.tpthread_join()可以等待可分离线程的结束。
中间件技术知识点及习题

第10章中间件技术10.1 基本内容分析10.1.1 本章重要概念(1)中间件的定义和作用(2)ODBC分层的体系结构:应用程序,驱动程序管理器,DB驱动程序,ODBC 数据源。
(3)ODBC接口:应用程序基本流程,ODBC句柄,ODBC连接,SQL语句的执行。
ODBC两套符合性级别。
典型的DB应用系统开发工具。
(4)JDBC的基本功能,JDBC的结构,JDBC接口。
10.1.2 本章的重点篇幅(1)ODBC分层的体系结构(教材P403的图10.2)。
(2)ODBC应用程序的基本流程(教材P408的图10.6)。
(3)JDBC驱动程序(教材P427-428),JDBC API接口(教材P430)。
10.2 教材中习题10的答案10.1什么是中间件?有什么作用?答:中间件是分布式环境中保证OS、通信协议、数据库等之间进行对话、互操作的软件系统。
中间件的作用是保证了客户和服务器间的联系,使网络、数据库、操作系统对于应用软件的开发界面透明化。
10.2 试解释中间件的三个透明性。
答:中间件的网络透明性是指中间件能支持所有类型的网络。
中间件的服务器透明性是指不管服务器上的DBMS是何种型号(ORACLE、SYBASE、DB2等),一个好的中间件都能通过标准的SQL语言与不同DBMS上的SQL语言连接起来。
中间件的语言透明性是指客户机可用任何开发语言进行发送请求和接受回答,被调用的功能应该像语言那样也是独立的。
中间件还应该保证开发语言的数据类型和服务器上数据库使用的数据类型之间能够相互转换。
10.3 ODBC技术与传统的数据库编程方式有什么区别?答:传统的DB编程方式是“主语言+DML”,但一个应用程序却不能访问不同DB服务器上的数据。
ODBC技术实际上是一个公共接口API,使用ODBC技术,同一个应用程序就可以访问不同DB服务器上的数据。
10.4 ODBC技术有什么作用?其卓越贡献是什么?答:ODBC技术的作用是使应用程序与DBMS在逻辑上可以分离,使应用程序具有数据库无关性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、试描述分布式系统的三层结构,并简要分析三层结构相比两层结构的特点和优势。
所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。
三层体系的应用,程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理.通常情况下,客户端不一直接与数据库进行交互,而是通过中间层与数据库进行交互。
特点优势:
1、由于数据访问时通过中间层进行的,因此客户端不在于数据库直接建立连接,也就是说,建立在数据库服务器上的连接数量将大大减少
2、可维护性得以提高。
因为业务规则、合法性校验存在于中间层,因此当业务规则发生改变时,只需要更改中间层服务器上的某个组件,而客户端应用程序不需要做任何处理。
3、良好的可重用性。
如果需要开发B/S应用,则不必要重新进行数据访问、业务规则等的开发,可以直接在WEB服务器端调用现有的中间层。
4、事务处理更加灵活,可以在数据库端、组件层、MTS管理器中进行事务处理。
2、在EJB中,开发人员可以开发的会话构件(Session Bean)分为无状态会话构件(Stateless Session Bean)和有状态会话构件(Stateful Session Bean)。
1)说明无状态会话构件与有状态会话构件的主要区别
有状态bean
表示客户与系统交互的短暂对象,操作完成后被删除
可以在不同的方法调用间保持针对各个客户端的状态,维护会话状态。
与客户端的联系必需被维持;通常开销较大。
有状态会话Bean会保存客户端的状态。
无状态bean
不在客户请求之间维护状态信息
所有无状态会话Bean的实例都是相同的(无状态会话Bean能支持多个客户端
在不同方法调用间不保留任何状态。
事务处理必须在一个方法中结束。
通常资源占用较少;可以被共享(因为它是无状态的)。
无状态Bean不会〃专门〃保存客户端的状态
创建一个存储过程名称:prostudentcity,参数:@city,功能:根据给出的城市的不同,显示不同的信息
创建存储过程progetnamebyid,参数:@stuid,功能:显示学生的姓名
在student数据库中,创建一个名称为
myproc的存储过程,该存储过程的功能是从
数据表studentjnfo中衍旬所有男同学的信
息。
USE student
GO
CREATE PROCEDURE myproc AS
SELECT * FROM studentjnfo WHERE sex ='
男'
GO
・2、创建带有参数的存储过程
例:在student数据库中,创建一个名称为InsertRecord的存储过程,该存储过程的功能是向数据表studjnfo中插入一条记录,新记录的值由参数提供。
USE student
GO
CREATE PROCEDURE InsertRecord
(
@sno char(6),
@sn char(20),
@age numeric(5),
@sex char(2),
@dept char(10)
)
AS
INSERT INTO studjnfo
VALUES(@sno,@sn,@sex,@age,@dept) GO
•3、创建具有参数默认值的存储过程
例:在student数据库中,创建一个名称为InsertRecordDef的存储过程,该存储过程的功能是向数据表student中插入一条记录,新记录的值由参数提供,如果未提供系别dept 的值时,由参数的默认值代替。
USE student
GO
CREATE PROCEDURE InsertRecordDef
(
@sno char(6),
@sn char(20),
@age numeric(5),
@sex char(2),
@dept char(10)=无
)
AS
INSERT INTO studjnfo
VALUES(@sno,@sn, @sex , @age, @dept) GO
EJB组件有哪几种?其特点分别是什么?EJB组件:会话bean (维护会话):表
示客户同应用之间进行的会话,是一种商业处理过程对
象。
实体bean(处理事务):代表商业过程中处理的永久性的数据。
消息驱动Beans (Message-driven Beans):结合了会话bean 和
JMS的消息监听器的特性,可异步接收JMS消息。
特点:会话bean (维护会话): -运
行在服务器端,其数据需要自己管理-客户
通过session bean上的方法来同应用的业务逻辑层上的组件进行交互-Session bean是短暂的,且只有在与之关联的会话存在时才存在・
会话Bean代表的是调用它的客户程序所完成的工作,是商务过程对象。
-他们执行商务逻辑、商务规则、算法和工作流程,他们是包含商
务逻辑过程的可重用组件。
中间件复习题
9 实体bean:■表示存储在永久性数据存储位置的业务数据,是持久的对象。
■与会话bean不同,实体bean不维护客户端状态-实体bean实例映射到存储在关系数据库表中的一行数据•实体bean每一个实例都具有唯一的标识(主键)■更复杂的entity bean可以代表数据库表间关联视图。
■实体bean对象的存活时间与它们相关联的数据实体-样长,持续到它们表示的实体实际从永久性存储器中删除时对象■与会话bean不同,实体可由多个客户共享消息bean:与其他BEAN区别 -不能由客户直接调用,由容器异步调用•没有远程或本地接口■类似于无状态的会话BEAN
2层和3层系统的特点是什么?2层结构存在很多缺陷:1 .客户端的负担仍比较重:
仍然需要客广端进行较复杂的数据处理2.客户端的可移植性不好:处理复杂必然牵涉更多的移植性问题;每个客户端上都要安装数据库驱动程序中间件复习题
12 3.系统的可维护性不好:客户端包含过多的商业逻辑;商业逻辑与人机交互界面交织在一•起4.数据的安全性3层结构的优点:除了更合理的分配任务外,3层结构还具有如下优点:1 .将业务逻辑放置在中间层可以提高系统的性能,使中间层的业务逻辑处理与数据层的业务数据紧密结合在一起,而无需考虑客户的具体位置。
2.添加新的中间层服务器能够满足新增客户机的需求,可以大大提高3层系统的可伸缩性。
3.将业务逻辑从客户端移到中间层,在客户层的应用程序与数据层的数据库之间增加了-•层,这样客户端的应用程序可以独立于数据层的数据库。
4.将业务逻辑致于中间层,从而使业务逻辑集中到一处。
而在2层方式下,业务逻辑被分散到所有的客户机上(除非使用存储过程)o这样做是不可取的,因为业务规则是动态变化的,而对于这些业务而言,规范乂是强制性的,所以, 将业务逻辑分散到整个客户层的客户机上会使实施过程变得非常困难。
5 .大量的中间层中间件平台提供丰富的系统级服务,使得开发人员可以以更少的匚作量开发出更复杂、可靠、高效的软件系统。
RPC调用的缺点
-(1)客户端与服务器端需要同时在线;
-(2)客户端需要知道服务器端的调用接口,若调用接口发生改变,客户端需要做相应变化,如通过ODBC连接访问数据库,客户端需要知道远程数据摩的类型,若类型发生改变,还需要重新装载相应的驭动程序。
■ (3)操作过程中需要一直保持与服务器端的连接,直到操作结束。
因而,
' 〈a)—旦连接中断,就意味着操作失败或数据丢失;
~ (成通常判断连接中断的时间较长,若信道的可靠性较差,容易造成连接中断,那么应用效率将严重低下;
~ (C)服务器端在执行操作的过程中,并不涉及网上数据传输,但连接的保持占用信道,容易造成网络堵塞。