中间件技术知识点及习题
第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在逻辑上可以分离,使应用程序具有数据库无关性。
ODBC的卓越贡献是使应用程序具有良好的互用性和可移植性,并且具备同时访问多种DBS的能力,从而克服了传统数据库应用程序的缺陷。
对用户而言,ODBC驱动程序屏蔽掉了不同DBS的差异。
10.5 ODBC的体系结构有哪几层?试叙述各层之间联系。
答:ODBC的体系结构有四层:应用程序,驱动程序管理器,DBMS驱动程序、数据源。
应用程序要完成ODBC外部接口的所有工作,用C语言和ODBC函数来编应用程序。
驱动程序管理器管理应用程序和DBMS驱动程序之间的交互作用,为应用程序加载和调用DBMS驱动程序。
DBMS驱动程序执行ODBC函数,解释执行SQL语句。
数据源是驱动程序与DB连接的桥梁。
10.6 ODBC数据库应用程序的主要功能是什么?主要完成哪些任务?答:ODBC数据库应用程序的主要功能有四个:调用ODBC函数,递交SQL语句给DBMS,检索出结果,并进行处理。
应用程序要完成ODBC外部接口的所有工作。
主要完成以下8个任务:连接数据库;向数据源发送SQL语句;为SQL语句执行结果分配存储空间,定义所读取的数据格式;读取结果;处理错误;向用户提交处理结果;请求事务的提交和回退操作;断开与数据源的连接。
10.7什么是驱动程序管理器?驱动程序管理器的主要功能是什么?答:驱动程序管理器是一个动态连接库,用于连接各种DBS的DBMS驱动程序,管理应用程序和DBMS驱动程序之间的交互作用。
驱动程序管理器的主要功能有五点:为应用程序加载DBMS驱动程序;检查ODBC函数的合法性;为不同驱动程序的ODBC函数提供单一的入口;调用正确的DBMS驱动程序;提供驱动程序信息。
10.8什么是DBMS驱动程序?主要任务是什么?答:DBMS驱动程序实际上是一个DBMS,执行ODBC函数,解释执行SQL语句,实现对数据源的各种操作。
驱动程序主要任务有六个:建立应用程序与数据源的连接;向数据源提交用户请求执行的SQL语句;进行数据格式和类型的转换;把处理结果返回给应用程序;将DBS的错误转换成ODBC标准错误代码返回给应用程序;根据需要定义和使用光标。
10.9 DBMS驱动程序有哪两种类型?主要区别是什么?答:驱动程序有两种类型:单层驱动程序和多层驱动程序。
单层驱动程序中包含了数据库引擎,解释执行SQL语句。
在网络中传输的是整个数据库文件,所以网络的数据通信量很大。
多层驱动程序中不包含数据库引擎,将SQL语句传递给数据源服务器,由DBMS解释执行。
因此在网络中传输的只是用户请求和数据库处理的结果,从而使网络的数据通信量大大减少,减轻了网络的负担,均衡了服务器和客户机的负载,提高了应用程序的运行效率。
10.10什么是ODBC数据源?有哪三类?答:数据源是驱动程序与DBS连接的桥梁,用于表达一个ODBC驱动程序和DBMS特殊连接的命名。
数据源分成三类:用户数据源,系统数据源,文件数据源。
10.11试叙述ODBC应用程序的基本流程。
答:应用程序的基本流程分为三个部分:初始化,SQL处理和终止部分。
每一部分按常规,要使用一些ODBC函数(与DB有关)。
10.12什么是ODBC句柄?有哪几种?这几种句柄之间有什么联系?答:ODBC句柄就是应用程序变量,系统用来存储关于应用程序的上下文信息和应用程序所用到的一些对象。
有三种句柄:环境句柄,连接句柄和语句句柄。
三者之间是嵌套的关系。
一个应用程序只有一个环境句柄,在环境句柄内可以定义若干连接句柄,在连接句柄内可定义多个语句句柄。
10.13 ODBC技术提供哪两种不同的执行SQL语句的方式?各用在什么场合?答:ODBC技术提供两种不同执行SQL语句的方法:直接执行和有准备地执行。
前者以快捷的方式执行SQL语句,在ODBC函数中放上一条可直接执行的SQL语句。
后者则提供了更大的灵活性,ODBC函数SQLPrepare把SQL语句准备好(但可能条件不齐),待条件补全后,再用ODBC函数SQLExecute执行SQL语句。
如果SQL语句已经组织好了,并且只使用一次,那么可使用“直接执行SQL 语句的函数”。
如果SQL语句需要多次执行,或者SQL语句的查询条件还不齐,那么这种情况就要使用“有准备地执行SQL语句”的函数。
10.14 ODBC技术中有哪两个主要的光标函数?起什么作用?答:ODBC中主要的光标函数有两个:移动光标函数SQLFetch和读光标指向行中一列值的函数SQLGetData。
10.15 ODBC技术中有哪两个符合性级别?为什么要设置这两个符合性级别?答:ODBC定义了两套符合性级别:一套是关于ODBC函数调用的API符合性,指出驱动程序支持哪些ODBC 函数。
另一套是关于所支持的SQL的SQL符合性,指出驱动程序支持哪些SQL语句和功能。
10.16 ODBC API与SQL CLI间有什么联系?答:ODBC API是微软公司开发的ODBC标准。
SQL CLI是SAG财团和X/Open组织开发的SQL3标准中的一部分内容。
两者使用了不同的术语,但双方承诺要使标准统一起来。
10.17有哪些典型的数据库应用系统开发工具?这些工具有些什么共同的特点?答:典型的数据库应用系统开发工具有四个:PowerBuilder8.0,Delphi6.0,Visual Basic 6.0,和Developer/2000。
这些工具都属于4GL的软件开发工具,具有基于Windows界面、C/S结构、面向对象的可视化等特点。
10.18 Java语言对Internet的广泛应用起了什么作用?答:在Java出现以前,Internet主要用于信息共享,信息访问和传递方式也只是简单的链接。
现在,Java已经成为Internet应用的主要开发语言,将信息共享的方式往前推进了一大步,使通过Web提供完全交互式的应用程序成为可能。
10.19 试解释Java源程序的运行顺序。
答:Java源程序分两步运行:·Java源代码先通过Java编译器产生Java虚拟机字节代码(bytecodes)。
字节代码文件称为类文件(class files)。
·然后,字节代码在本地或通过网络下载到客户机,再经Java解释器将字节代码转换成实际系统的机器代码去执行。
10.20 试解释Java语言的“平台无关性”?答:开发人员在编写源程序时,不必担心程序运行的实际平台。
当程序一旦编成,便可以不经修改直接运行于各种不同的平台上。
这个性质称为Java语言的“平台无关性”。
10.21 Java语言有哪些良好的特性?答: Java具有下述五个特性:简单性,可移植性,面向对象,分布式和动态结构,安全性。
10.22 Java应用有哪两种方式?有什么区别?答:一般可以把Java的应用程序分成两类:应用程序(application)和小应用程序(applet)。
简单的说,小应用程序就是嵌入式Web文档的程序,而应用程序则是所有其它类型的程序。
小应用程序是从Web文档进来的Java程序,也就是从HTML文件进来的程序。
而应用程序则是从命令行上运行的程序。
小应用程序需要来自Web浏览器的大量信息(包括何时启动、何时激活或关闭等)。
而应用程序可能运行在最简单的环境中,它来自外部世界的惟一输入就是命令行参数。
10.23什么是JDBC?答:JDBC是执行SQL语句的Java API。
JDBC是“Java DataBase Connectivity”(JDBC数据库连接)的缩写。
JDBC由一组用Java语言编写的类与接口组成。
10.24 JDBC的基本功能是什么?答:Java与JDBC的结合使程序员可以只写一次数据库应用软件便能在各种数据库系统上运行。
JDBC的基本功能包括三点:建立与数据库的连接,发送SQL 语句,处理结果。
10.25试比较CGI和JDBC这两种方法的程序执行过程。
答:在CGI方法中,当应用程序发出访问数据库的命令后,Web服务器调用所需要的CGI程序,并利用相应的服务器脚本技术解释执行CGI程序,通过CGI 程序实现对数据库的访问。
在JDBC方法中,当应用程序发出访问数据库的命令后,只需要将SQL命令发送给数据库的服务器,而不再需要Web服务器解释执行,这就大大缩短了执行SQL语句的时间。
在CGI方法中,CGI脚本必须独立的连接数据库,处理执行结果。
而JDBC 的解决方案使应用程序直接与数据库相连,执行各种操作。
因此采用JDBC来访问数据库比使用CGI方法效果更好,访问的速度也更快。
10.26 JDBC API数据库设计方法有哪两种方式?答:JDBC API支持这两种应用方式:Java应用程序和Java小应用程序,这两种方式分别在两层应用模型和三层应用模型中实现。
中间件技术原理与应用课后习题(1-8章参考答案)
中间件技术原理与应用课后习题(1-8章参考答案)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII中间件技术原理与应用课后习题参考答案S1.中间件产生背景及分布式计算环境1.比较开放系统与分布式系统的异同。
分布式系统具备以下属性:远程性、并发性、异步性、异质性、自主性、联合性、伸缩性、发展性、移动性。
开放系统具备以下属性:开放的、集成的、灵活的、模块化的、可联合的、可管理的、满足服务质量需要、安全的、提供透明性。
2.简述开放系统的特性:开放系统具有可移植性、可互操作性、可伸缩性、易获得性。
3.什么是互操作性,有哪几种层次的互操作性?在一个由异质实体构成的网络环境中,当应用在网络的结点上运行时,它可以透明地动用网中其他结点上的资源,并借助这些资源与本结点上的资源共同来完成某个或某组人物,这种能力被称为互操作性。
有以下层次:Application-Collaboration-ApplicationTransparency-Inter-operability- TransparencyRPC-Inter-communication- RPCComms-Inter-Connection- Comms4.简述中间件产生的背景、概念、组成结构及核心技术。
定义:中间件是介于应用系统和系统软件之间的一类软件,它能使处于应用层中的各应用成分之间实现跨网络的协同工作。
组成结构:(1)执行环境软件(2)应用开发工具核心技术:通信、资源管理、互操作性5 .简述DCE的组成结构及其缺点。
DCE由分布式文件服务、安全服务、目录服务、时间服务、RPC、线程组成。
DEC的缺点:RPC设计不周,开发工具薄弱;性能差、适用系统少、适用困难;没有采用面向对象技术。
S2.面向对象中间件ODP6.阐述面向对象的定义及其与面向过程的调用的区别。
面向对象的方法以一种更为直观的方法分析和构造系统,它将整个系统抽象并模型化,让人们能够更好地了解整个系统,使得在设计时就能发现其中可能存在的问题。
软件集成与中间件技术考核试卷
B. UDDI
C. SOAP
D. REST
9.企业服务总线(ESB)能够提供哪些功能?()
A.消息路由
B.服务中介
C.数据转换
D.业务流程管理
10.以下哪些是集成测试的类型?()
A.单元测试
B.集成测试
C.系统测试
D.接口测试
11.中间件技术对于软件开发的重要性体现在哪些方面?()
A.提高开发效率
6.集成测试是在单元测试之后进行的。(√)
7.适配器模式主要用于解决接口不兼容的问题。(√)
8.数据集成不需要考虑数据的一致性和质量。(×)
9.服务编排可以在开发阶段完全确定,不需要考虑运行时的变化。(×)
10.分布式系统中的所有组件都必须使用相同的编程语言。(×)
五、主观题(本题共4小题,每题5分,共20分)
D.中间件对应用开发者通常是透明的
6.在软件集成中,以下哪种方式通常被认为是低耦合度的方式?()
A.紧耦合
B.松耦合
C.中耦合
D.非耦合
7.以下哪个不是企业服务总线(ESB)的主要功能?()
A.集成异构系统
B.提供消息路由
C.数据格式转换
D.直接参与业务逻辑处理
8.关于SOA(面向服务的架构),以下哪个描述是正确的?()
6.在软件集成中,________测试是验证不同组件或系统之间接口正确性的测试。
7.适配器模式是一种设计模式,它允许________的接口与其他接口进行交互。
8.数据集成是指将________的数据合并到一个统一的视图中。
9.服务编排是指设计服务之间的________流程,以便它们能够协同工作。
10.在分布式系统中,________是确保不同系统之间能够相互理解和通信的协议。
中间件重点复习题
中间件重点题目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编译时确定的的静态接口,位于客户对象本地, 对客户来说相当于远程的执行对象。
中间件复习题
中间件复习题一、选择题1、轮廓由七个成分组成,它们是:管理系统(A)、用户界面(U)、安全性(S)、编程服务(P)、互操作服务(I)、通信服务(C)、信息实体(E)。
七者可用“AUSPUCE”一词概括、简称。
2、基本服务包括线程服务、PRC服务、目录服务和安全服务。
扩充性服务包括分布式文件服务和时间服务。
3、计算机语言定义了三种绑定方式:操作绑定(支持操作的调用)、流绑定(支持连续媒体)和信号绑定(支持实时时间)。
4、.NET框架是一个多语言组建开发和执行环境,它可以分为六个层次:Web Services、框架和库、交互标准和开发工具、组建模型、对象模型和公共语言规范、公共语言运行时。
5、EJB体系结构通过把编程的过程分为七个不同的角色:EJB服务提供者、EJB容器提供者、企业beans提供者、应用程序组装者、配置者、系统管理员、持久性管理器提供者。
6、CORBA是OMG制定的首批重点规范之一,它详细说明了OMA中ORB组件的特性和界面。
最新的CORBA规范主要包含以下内容:ORB核心、OMG界面定义语言、界面仓库与实现仓库、语言映射、存根和框架、动态调用和调度、对象适配器、ORB 之间的互操作。
7、对象适配器主要完成以下工作:对象登记、对象引用的产生、服务器进程的激活、对象的激活、对象的撤销、对象向上调用。
8、CORBA的构建体系结构包含四个彼此一致的对象模型:抽象构建模型、打包模型、配置模型和容器模型。
9、CORBA事件服务中定义了以下三种角色:提供者、消费者、事件通道。
10、在OMG事件服务体系结构中,有四种由组件协作产生的模型:规范的push模型、规范的pull模型、混合的push/pull模型、混合的pull/push模型。
11、通信中间件最普遍的三种形式,包括:远程过程调用(RPC)、会话编程(CPIC)以及MQSeries类型的消息队列中间件(MQI)。
12、从CORBA事务服务模型中可以看出,它包括以下几个部分:事务客户、事务对象、可恢复对象、可恢复服务器、事务服务、事务环境。
软件中间件复习资料.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.1.1 中间件的管理和维护》相关的主观测试题及解答
1、问答题 (1)什么是中间件? 答:
中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技 术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 (2)中间件主要分为那几类? 答:
中间件主要分为应用服务类中间件、应用集成类中间件、业务架构类中间件。 (3)中间件所应该具有的基本技术特性有哪些? 答:
中间件应具有以下的一些技术特性: 1) 屏蔽异构系统中复杂的操作系统和网络协议。 2) 运行于多种硬件和操作系统平台。 3) 支持分布式计算,提供跨网络、硬件和操作系统平台的透明性的应用或服务的交互
中间件技术原理与应用复习资料
中间件技术原理与应用复习资料第一章1、简述中间件的概念、组成结构和作用。
定义:中间件是介于应用系统和系统软件之间的一类软件,是位于操作系统和应用软件之间的一个软件层,向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情况下,通过网络互通信息。
组成结构:(1)执行环境软件(2)应用开发工具作用:使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
2、中间件的特性(1)易用性(2)位置透明性:应用不必知道对方网络和应用的地址;不经重新编译,就可把一个应用从一台机器上转移到另一台机器(3)消息传输的完整性:消息不应丢失或重复(4)消息格式的完整性:消息格式不应被破坏(5)语言透明性:使用中间件的程序应能与另一个用不同语言编写的程序通信;如果用不同语言重写一个程序,其他程序应不受影响3、中间件的分类事务处理中间件(TP Monitor: Transaction ProcessMonitor)消息中间件(MOM: Message-Oriented Middleware)数据库中间件(Database Middleware)远程过程调用中间件(RPC: Remote Process Call)对象请求代理中间件(ORB: Object Request Broker)J2EE中间件4、RPC:工作原理:1.调用客户端句柄;执行传送参数2.调用本地系统内核发送网络消息3..消息传送到远程主机4.服务器句柄得到消息并取得参数5.执行远程过程6.执行的过程将结果返回服务器句柄7.服务器句柄返回结果,调用远程系统内核8.消息传回本地主机9.客户句柄由内核接收消息10.客户接收句柄返回的数据5、RMI存根和框架的作用:Stub为客户端编码远程命令并把他们发送到服务器,等待服务器返回结果,stub再解码返回调用结果给客户端。
Skeleton是把远程命令解码,调用服务端的远程对象的方法,把结果再编码发给stub。
物联网中间件技术与应用第3章习题答案
第三章练习题(理论部分):1.通用对象模型是一种能够描述各种功能的方式方法,请描述通用对象模型的目的和意义。
答:通用对象模型是属于逻辑上的概念描述,使用它目的在于抽象出对于设备、模块甚至功能的逻辑描述。
它主要面向功能上的数据流,因此里面更多的是关心输入、输出的数据(供计算的数值或者控制信号),而并不涉及具体由何种设备来完成的这项功能。
这是种抽象的思考和设计方法,正是保证多设备交互通信的基础,也是物联网中间件平台上最基本的描述元素。
2.Niagara平台的系统被分为哪些层次,它们各自负责和解决的问题是哪些?答:(1)设备接入层:负责解决设备基本接入问题。
处理对象是各种现场设备即感知层设备(感知器、现场控制器)。
(2)设备交互层:多种异构设备的兼容带来的优势显而易见,但其导致的问题也变得十分凸显,即各种异构设备之间的数据交互问题。
(3)人机交互层:大多数的系统不是完全封闭的,必然会形成与系统外部的数据交换。
3.根据本章组态的概念,谈谈你对组态的理解。
答:组态是实现某种功能的代码化部件,组态程序设计就是基于组态的设计和开发,既可以是设计某个组态本身的开发,亦可以是基于某个组态进行的开发。
在工控领域,组态是应用软件中提供的工具、方法,完成工程中某一具体任务的过程。
其分为硬件组态和软件组态。
4.组态程序设计包括哪些阶段?答:分析、设计、编制、测试、排错5.较为常见的有哪些通用对象类型?除了此平台外,你还使用过哪些平台,他们的通用对象类型有些?答:较为常见的是以下四种类别的通用对象模型:布尔型Boolean、数值型Numeric、枚举型Enum、字符串型String。
(第二个问题为开放式)6.组态程序设计原则有哪些?答:(1)原子化设计原则(2)前瞻扩展性原则(3)安全性原则(4)合理兼容性原则(5)规范标准化原则7.组态的根本任务是什么?答:组态的根本任务就是根据功能需求结合实际场景来实现目标系统。
8.组态功能的确定需要考虑哪些需求因素?答:(1)业务需求。
物联网中间件技术与应用第7章习题答案
第七章练习题:1.简要介绍异构设备安全连接所面临的关键问题答:(1) 合理的网络参考模型,是否对现有的中间件系统做大的改动,如协议栈、接入的功能设备、拓扑结构等。
(2) 各个异构设备不同的网络通信技术和中间件实现异构网络融合,如何在各异构网络之间建立信任关系。
(3) 大量异构设备终端接入异构网络中,考虑相应的身份信息核实、接入访问控制、服务权限确认等问题。
(4) 异构设备之间传输数据的保密、完整性保护、数据源验证、密钥协商交换等问题。
(5) 动态异构设备在异构互联网络切换时带来的安全问题,如漫游、切换过程中的设备切除接入控制、认证切换等。
2.说明物联网各个层次在数据安全方面所采用的主要机制答:(1) 在感知层,通过冗余传感节点配置自我修复网络以保证物联网的物理安全。
通过安全认证机制,密码学技术、入侵防护系统和双因子认证等方案,来增强数据认证访问安全性。
(2) 在网络层,通常采用加密和认证技术来解决传输安全问题。
加密主要分为对称加密和非对称加密,前者具有更高的效率但存在安全隐患,后者可消除前者的安全隐患,但引入大量高复杂度计算。
(3) 在存储层,通常采取数据加密、访问控制和备份恢复策略保证安全。
使用加密技术以安全模式存储数据或直接存储加密后的数据。
对系统用户进行身份管理和访问权限控制,保证数据和服务的完整性和机密性。
在意外或故意灾难发生时,对系统数据进行备份和恢复。
(4) 在数据处理层,主要采取保护分布式框架内的数字资产、数据库文件系统访问控制、网络异常行为检测、使用同态加密技术等机制保证安全。
(5) 在数据销毁层,针对不同的存储介质或设备,使用不同的不可逆销毁技术,实现针对磁盘、光盘等不同数据存储介质的不同销毁流程,建立销毁监察机制,严防数据销毁阶段可能出现的数据泄露问题。
3.介绍物联网访问控制的几种常用模型,以及各个模型的特点答:(1) 自主访问控制模型自主访问控制模型根据主体的身份和他所属的组限制对客体的访问。
