中间件透明性和可观察性综述

中间件透明性和可观察性综述
中间件透明性和可观察性综述

Software Engineering and Applications 软件工程与应用, 2016, 5(1), 10-21

Published Online February 2016 in Hans. https://www.360docs.net/doc/bc16845592.html,/journal/sea

https://www.360docs.net/doc/bc16845592.html,/10.12677/sea.2016.51002

A Survey of Middleware Transparency and

Observability

Yunfei Yin1,2, Yanhua Peng1

1CISDI R & D Co., Ltd., CISDI Group Co., Ltd., Chongqing

2College of Computer Science, Chongqing University, Chongqing

Received: Jan. 27th, 2016; accepted: Feb. 14th, 2016; published: Feb. 17th, 2016

Copyright ? 2016 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

https://www.360docs.net/doc/bc16845592.html,/licenses/by/4.0/

Abstract

The arrival of the era of large-scale distributed computing has brought new opportunities and challenges to enterprises and society. In order to improve the efficiency, we often use middleware technology. Therefore, the transparency and observability of middleware is the premise of mid-dleware selection. In this paper, we have a summary of the research on the concept, features, re-search status and technical connotation of the transparency and observability of middleware, and our goal is to help middleware enthusiasts to understand the research key points and research methods of middleware transparency and observability, thus providing a certain reference for the same line who develops or uses the middleware.

Keywords

Middleware, Transparency, Observability

中间件透明性和可观察性综述

尹云飞1,2,彭燕华1

1重庆赛迪冶炼装备系统集成工程技术研究中心有限公司,重庆

2重庆大学计算机学院,重庆

收稿日期:2016年1月27日;录用日期:2016年2月14日;发布日期:2016年2月17日

尹云飞,彭燕华

摘要

大规模分布式计算时代的到来,给企业和社会带来了新的机会和挑战。为了提高效率,我们往往借助于中间件技术,因此中间件的透明性和可观察性是选用中间件的前提。在本文中,我们对中间件的透明性和可观察性概念、特点、研究现状、技术内涵进行了综述性研究,旨在帮助中间件爱好者了解中间件透明性和可观察性研究的要点及研究方法,由此对从事中间件平台开发和使用的同行提供一定的参考。

关键词

中间件,透明性,可观察性

1. 引言

1.1. 概述

透明性是指软件开发平台和软件运行平台对于应用系统而言提供跨平台、跨语言和网络通信的服务,应用系统的跨平台、跨语言和网络通信功能均由软件开发平台和软件运行平台来提供。中间件平台是一种具有透明性的软件开发平台和软件运行平台,它通过ipc实现了网络层协议、通过ipctransport实现了传输层协议、通过sock实现了远程过程之间的连接、通过support实现了操作系统底层资源的管理和分配、通过ocl完成平台类的特殊封装[1]。

对于透明性,美国ANSA将它分为八类:1) 访问透明性(Access Transparency),2) 位置透明性(Location Transparency),3) 并发透明性(Concurrency Transparency),4) 故障透明性(Failure transparency),5) 迁移透明性(Migration Transparency),6) 性能透明性(Performance Transparency),7) 扩充透明性(Scaling Transparency),8) 复制透明性(Replication Transparency) [2]。

可观察性是指中间件平台和平台上的应用系统是可以被观察的,其中前者是后者的基础后者是前者的外在表现。通过观察平台我们能够了解消息传输的内部机制;通过观察应用系统我们能够了解消息传输的外部表现[3] [4]。

可观察性分为两个层次,一是系统可观察性另一个是应用可观察性,其中前者是从系统层面观察系统对象、消息以及状态的形成和传输机制,后者是从应用本身观察对象、消息的发送、传输、接收和显示。

系统可观察性通过绘出系统的类图、顺序图等可视化手段来展示;而应用可观察性则通过打印消息的发送者、接收者、发送时间、内容等手段来展示[5]。

本文所做的工作是研究中间件的透明性和可观察性,对涉及到的透明性和可观察性概念、特点、研究现状、技术内涵进行了研究,旨在帮助中间件研究者了解中间件透明性和可观察性的要点及研究方法,并提供一定参考。

1.2. 国内外研究现状

对于中间件的透明性和可观察性研究,国内的研究一般是围绕某一具体的中间件平台应用系统而展开的[6],因此我们将中间件平台应用系统的透明性和可观察性研究分为PCDP平台上的透明性和可观察性研究、ACE平台上的透明性和可观察性研究、TAO平台上的透明性和可观察性研究、DCOM平台上的透明性和可观察性研究、ICE平台上的透明性和可观察性研究。

尹云飞,彭燕华

实现中间件透明性和可观察性的方法有平台消息存储、消息调用次数实时统计、吞吐量实时统计、性能分析、历史消息分析等方法。

1) PCDP平台上的透明性和可观察性研究

PCDP平台中冶赛迪集团公司研制的面向冶金领域过程控制的一款中间件平台,它集软件开发平台和软件运行平台于一体。PCDP平台规模为C/C++ 50余万行、开源代码30万行、Windows shell脚本10万行,并且具有以下功能:a) 复用组件:集成过程控制应用的通用处理模块,Socket通讯、OPC通讯、日志管理、进程管理等;b) 领域应用:L2后台控制和模型应用,仅关心业务知识,编程技术复用平台技术;c) 编译部署:集成自动编译、链接、部署和维护功能,减少开发和维护的工作量,统一的开发和运行环境及目录;d) 代码生成:快速生成C/C++代码,提高开发速度,生成类代码、数据库访问代码、组件框架代码;e) 支撑类库:封装专业通用和业务通用的类库,如字符串类、通讯套接字类、线程类等等。

PCDP平台上的透明性和可观察性研究起始于2013年8月,已具备的功能包括平台消息存储功能、消息调用次数实时统计功能、吞吐量实时统计功能、性能分析功能、历史消息分析功能、阻塞检测与报警功能等。

2) ACE平台上的透明性和可观察性研究

ACE是一个通信软件的开发工具包,是一个CORBA协议的具体实现。ACE综合了许多主流的软件设计模式和组件技术,通过ACE我们可以解决在软件开发和维护过程中的一些繁琐的、易错的、不可移植的问题。ACE提供了强大而高效的进程通信、同步互斥机制、共享内存、客户服务配置等功能。

国内对于ACE平台上的透明性和可观察性研究始于2003年马维达在程序员杂志上发表《ACE与GoF设计模式——Adapter模式在ACE内存管理类中的应用》一文,介绍了开发高性能网络化应用与下一代中间件的面向对象框架,这实际上拉开了研究ACE平台上透明性和可观察性的序幕[7]。随后,北京交通大学信息科学研究所也对ACE实现通信软件的设计机制和优越性进行了研究[8]。另外,高强文也介绍了可靠消息传送的一般实现方法——消息队列,并使用ACE的主动对象、连接器、接受器等技术实现消息队列及其接口[9];中国科学院研究生院的李明介绍了基于ACE在实现某监控软件中的设计机制,这中间离不开对透明性和可观察性的研究[10]。2013年,东北大学轧制技术及连轧自动化国家重点实验室结合国内中厚板生产的自动化控制需求,开发出基于ACE中间件的多进程轧机二级控制系统,该系统包含多个进程,进程之间相对独立,系统具有更好的稳定性和可伸缩性,使用自适配通信环境ACE实现进程及线程间的通信大大降低了系统开发难度,缩短了开发周期[11]。

3) TAO平台上的透明性和可观察性研究

TAO是The ACE ORB的缩写,是一个基于CORBA标准和RT-CORBA标准的中间件平台,是CORBA 协议和RT-CORBA协议的一个具体实现。TAO使用ACE框架内的组件和模式,是一个高性能、实时的(QoS)的分布式应用平台。TAO可以实现远程对象调用(而不用关心如何去进行对象定位)、跨平台应用、跨编程语言应用、跨硬件平台和通讯协议应用等。

TAO可以与其它公司的ORB很好的互操作,比如Orbix、JacORB、ORB Express、VisiBroker等。

国内对于TAO平台上的透明性和可观察性研究始于2004年国防科技大学IKE2项目[12],该项目基于TAO平台开发应用级的可互操作的实时分布式应用,对应用系统的开发需要对TAO平台应用系统的透明性和可观察性有深入的了解。随后,南京航空航天大学直升机旋翼动力学国家重点实验室为了解决飞行控制系统在不同计算机、不同操作系统、应用不同语言编写的组件之间的通信也研究了TAO及其事件服务机制[13],这种研究主要定位在消息的可观察性上。武汉数字工程研究所探讨了TAO的架构完成了基于TAO中间件舰载作战指挥系统的构件化设计与实现[14]。2007年,山东大学控制科学与控制工程学院以ACE/TAO作为开发平台,构建了一个基于CORBA技术的异构机器人互操作系统,实现了分布

尹云飞,彭燕华

式环境下具有不同硬件结构、操作系统、通信协议和编程语言的机器人之间的相互通信[15],为多异构机器人的协作提供了最佳的技术路线。2013年,电子科技大学研究了ACE/TAO使用的IDL编译器TAO_idl 编译出来的桩和框架的透明性,提出了用C语言设计实现的IDL编译器三模块设计模式的思想[16]。

4) DCOM平台上的透明性和可观察性研究

DCOM平台是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象,因此DCOM一种面向对象的中间件平台。DCOM基于组件对象模型(COM),COM提供了一套允许同一台计算机上的客户端和服务器之间进行通信的接口。DCOM的升级版本是COM+,而COM+综合了COM、DCOM和MTS技术要素,把COM组件提升到应用层而不再是底层的软件结构,它通过操作系统的各种支持,使组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统,因此,COM+与操作系统的结合更加紧密。

由于DCOM只能运行在Microsoft的操作系统上,这很大程度上限制了DCOM/COM+的应用和研究。

国内对于DCOM平台上的透明性和可观察性研究始于1997年每周电脑报发表的一篇文章《“对象”之战升温——JavaSoft要在JavaBeans中建立一种新型的对象模型Microsoft则计划做一个Java版本的DCOM》,自此吸引了一些对象中间件的研究者对DCOM的原理和机制(包括透明性和可观察性)进行研究。经过长达近20余年的研究与实践,广大对象中间件的研究者也逐渐对DCOM/COM+的透明性和可观察性有了一定的研究,例如,空军工程大学针对目前串口通信组件设计中的异步调用与并发运行的问题以及功能上局限在串口管理或简单数据收发的缺陷,采用DCOM提出了一种基于异步缓冲区模板类和线程管理器的设计方案[17]。

2013年,和利时集团提出DCOM等组件在工业控制信息传输中的安全性问题,引起了社会较大的关注。

5) ICE平台上的透明性和可观察性研究

ICE平台是由ZeroC公司的分布式系统开发专家实现的一种高性能、面向对象的中间件平台。它号称标准统一,开源,跨平台,跨语言,分布式,安全,服务透明,负载均衡,面向对象,性能优越,防火墙穿透,通讯屏蔽。ICE提供了完善的分布式系统解决方案,适合所有的异构网络环境、提供了客户端和服务器端的完全分离、ICE采用软总线的机制、ICE面向对象将所有应用看作是对象及相关操作的集合,构建在ICE之上的分布式系统的对象的获取只取决于网络的通畅性和获取服务对象特征的准确程度,而与对象的位置以及对象所处的设备环境无关。

ICE提供了简单的对象模型和类型系统,精简而强大的运行时API,简单的语言映射,紧凑高效并可扩展的协议,丰富的客户端调用和服务器端分派方式,完善的安全解决方案,大量高效而实用的服务和工具。基于这些,ICE特别适合对技术和性能要求都很高的分布式系统开发。现在ICE已经被很多大公司采用,作为安全、伸缩性强的底层通信平台。

国内对于ICE平台上的透明性和可观察性研究始于2003年马维达在程序员杂志上发表的一篇文章《叛之冰:Internet Communications Engine》[18],这引起了广大对象中间件研究者对ICE平台上的透明性和可观察性研究的兴趣。2004年西南科技大学的刘裕和吴坚进一步对ICE进行了深入的剖析,从中间件的技术角度详细比较和分析了ICE与现今作为工业标准的中间件技术COBRA之间的异同点,阐述ICE 作为新型中间件的优点和优势[19]。中南大学无机非金属材料研究所研究了基于ICE中间件开发多智能体系统的方法[20],实现了多智能体控制系统与神经网络、模糊控制和专家系统技术的融合。中国海洋大学信息科学与工程学院应用了ICE中间件通信技术在异构三维仿真系统环境中实现高效的数据传输[21],在功能上利用仿真数据为驱动实现多种空间任务的实时仿真。

针对配网自动化主站系统具有分布式结构、应用服务多、系统复杂等特点,2014年,山东科汇电力

尹云飞,彭燕华

自动化有限公司的赵义奎等人提出了一套基于ICE中间件的配网自动化主站分布式应用管理框架[22],描述了框架的组成结构及各个部分的实现原理。

国外对于中间件平台应用系统的透明性和可观察性研究起步较早,基础较坚实。为了便于比较,我们也将国外关于中间件平台应用系统透明性和可观察性的研究分为ACE平台上的透明性和可观察性研究、TAO平台上的透明性和可观察性研究、DCOM平台上的透明性和可观察性研究、ICE平台上的透明性和可观察性研究,其中PCDP平台版权归中冶赛迪集团公司所有,目前没有对外开源,因此在国际上没有公开研究。

1) 国外ACE平台上的透明性和可观察性研究

在国外,ACE早在1999年就被应用于移动通信中,这项研究是基于对ACE平台上消息的透明性而进行的。Johansen等人在1999年第19届IEEE分布式计算大会上正式提出基于ACE的移动通信思想[23],在当时引起了不小的反响。随后,Kutlusan等人撰文介绍了ACE的事件和命名服务[24],由于ACE的事件和命名服务卓越的性能引起了对象中间件研究者们研究ACE透明性和可观察性的兴趣。

2010年,Chen等人在研究ACE消息通信机制的基础上,设计了一个基于ACE的移动IPC平台[25],与当时非ACE的IPC平台相比,这种平台在可移植性、兼容性方面具有较大的优势。Henfri等人研究ACE的事件调度、事件过滤、数据传输等特点,并将ACE的事件通道作为可重用组件开发了无人机的分布式控制系统[26]。

2) 国外TAO平台上的透明性和可观察性研究

TAO是ACE在实时领域中的版本,大多用于嵌入式领域。在国外,对于TAO平台上的透明性和可观察性研究起源于美国国防部先进计划预研局(DARPA)和美国空军研究实验室(AFRL)于1998年首次提出的OCP项目[27];在对中间件平台上应用系统的透明性和可观察性深入研究的基础上提出了一种分层次的体系结构,其中任务规划和情景感知在最高层次,飞行控制(包括增稳控制)在最低层次,中间层次的控制器用于匹配模式之间的转换和提供容错重构控制,利用层次结构控制器有助于时间基准不同的控制组件集成,有助于低层连续动力学组件与高层离散事件组件之间同步协调作用。Pruett等人在实施OCP 项目时利用了TAO中间件平台[28],并且提出了新的改进框架,这种框架对应用系统而言更加清晰更加透明。Schrage等人研究了TAO事件通道机制、跨平台机制、C++封装包、IDL接口语言[29],开发出基于TAO的分布式环境下的Yamaha R50/RMAX直升机自动控制模型。Wills等人研究了TAO在Linux操作系统上的消息传输(可观察性)问题[30]。

3) 国外DCOM平台上的透明性和可观察性研究

由于DCOM只能运行在Microsoft的操作系统上且DCOM源代码不开放,因此国外对于DCOM平台上透明性和可观察性研究也相对较少。

Choi和Wu早在1998年就对DCOM和CORBA进行了对比研究,提出了负载均衡、扩大共发度、精简通信模型等问题。Saleh和Justo在2000年研究了DCOM的服务质量问题,提出了不少质疑。Ntawanga 等人从用户体验的角度研究了基于DCOM的电子商务网站开发的可行性。

4) 国外ICE平台上的透明性和可观察性研究

国外对于ICE平台上透明性和可观察性的研究相对较多,下面列举几个有代表性系统和研究。

2004年,Henning在国际期刊IEEE Internet Computing发表论文《A new approach to object-oriented middleware》用了大量篇幅介绍ICE中间件平台[31],此文后来被翻译成多国语言,引起了对象中间件研究者们对ICE透明性和可观察性的关注。随后不久,HP、Naval Undersea Warfare Center、Solution Space (新加坡)、Seagha Analytical Engineering, Inc.、Skype、Baosteel (宝钢)、Lockheed Martin、Baosight (宝信软件)等公司纷纷宣布其分布式通信产品均使用ICE平台来搭建。

尹云飞,彭燕华

2007年,Reggiani等人研究了ICE平台在生产制造领域中的应用[32],论述了ICE能够满足生产制造领域中过程控制的性能和功能需求,是一个可以信赖的中间件平台。

Villanueva等人认为基于ICE中间件平台开发通信产品是一个低成本的方案[33]。人们认识到ICE不仅能支持PC终端的开发还能支持微电子、嵌入式JAVA虚拟机甚至低端的FPGA产品的开发。

2011年,Chavas等人在研究了ICE平台的特性的基础上,将ICE中间件平台用于核物理实验中[34]。

综上所述,国外在中间件的透明性和可观察性研究方面起步早、基础牢,并且取得了许多工程实际应用。

PCDP、ACE/TAO、DCOM、ICE对透明性和可观察性提供了不同程度的支持,其中PCDP支持得最好功能也最强大并已具备基于B-S架构的透明性和可观察性功能,ACE/ICE支持得较好但是十分复杂不便于使用;DCOM在迁移透明性的支持上最差,它仅限于在Windows平台上的迁移,对于性能透明性的支持也不如其他好,但是DCOM使用最简单这是其他不可比拟的;ICE简化了ACE/TAO的架构,支持了八种透明性但是功能上不如后者强大,是一种轻量级的ACE/TAO。具体分析见表1。

2. 中间件的透明性

对于中间件的透明性,我们分别从访问透明性、位置透明性、并发透明性、故障透明性、迁移透明性、性能透明性、扩充透明性、复制透明性八个方面进行综述。

1) 访问透明性

访问透明性是指用户的应用系统对远程服务的访问与对本地服务的访问所采取的操作是一致的。

分布式平台应用系统在物理上包括本地服务和远程服务,但是对应用系统来讲就好像只有一个本地服务。如何对本地服务和远程服务采用相同的访问机制,这便是访问透明性所要解决的问题。

我们通过一个简单的示例来说明中间件平台的访问透明性。

通过中间件平台PCDP,我们开发出两个应用系统Svrtst_c_d和TestSvrtst_c_d,其中Svrtst_c_d用于提供加法服务(Add)、TestSvrtst_c_d作为客户程序来使用加法服务。

如图1所示,在本地计算机(localhost)上TestSvrtst_c_d成功地使用了Svrtst_c_d提供的加法服务。

当我们把Svrtst_c_d移植到另一台计算机上,其IP为10.65.55.49。按照相同操作方法,我们得到了相同的结果。

通过以上示例,我们不难发现CISDI中间件平台提供了访问透明性的功能。

作为一种指标,要求中间件平台提供的访问透明性不仅支持局域网、城域网和广域网,甚至还支持3G/4G移动网络。

2) 位置透明性

位置透明性是指应用系统在使用远程服务时无需了解远程服务的位置。不管应用系统位于本地还是远程,它访问平台的功能以及与平台上另一个应用系统进行通信都是畅通无阻的,也即是说,应用系统不需要知道自己所处的是什么平台、是本地的还是远程的并且通信的连接过程和数据的转发过程完全由开发平台和运行平台来完成。位置透明性分为物理位置透明性与网络位置透明性。

物理位置透明性只需要知道服务程序的IP地址和端口就可以使用该服务;网络位置透明性不需要知道彼此的IP地址和端口、不需要知道彼此间怎样建立通信、不需要同时处于运行状态就可以通信(这些工作由智能代理来处理),是一种平台应用系统松耦合的连接方法。

例如,对于同一个服务Svrtst_c_d,应用系统TestSvrtst_c_d不需要知道服务所处的平台是Windows 还是Linux、也不需要知道服务是在远程还是在本地,只需要知道服务程序的IP地址和端口就可以使用该服务了。

尹云飞,彭燕华

Table 1. Comparison of transparency and observability in different middleware platform 表1. 不同中间件平台透明性和可观察性的比较

中间件平台透明性可观察性

PCDP 通过消息自动存储、消息自动统计、

自动检测自动报警等支持透明性

通过ECharts组件支持系统可观察性

和应用可观察性

ACE/TAO 通过CORBA模型支持透明性不支持系统可观察性

DCOM 通过组件模型支持透明性不支持系统可观察性

ICE 通过Publisher/Subscriber模型支持透明性不支持系统可观察性

Figure 1.Access transparency of CISDI middleware platform

图1. CISDI中间件平台的访问透明性(本地访问)

3) 并发透明性

并发透明性是指多个用户的应用系统可同时访问同一服务而不会引起服务的不一致性。通过平台自身的信号量和通信基础设施来完成应用系统之间数据互斥、共享与传输。

图2显示了中间件平台PCDP提供的并发性。

在图2中,一共有三个应用系统,其中最上面的一个作为服务程序,其IP为localhost,端口为11440,下面的两个作为客户程序。显然,两个客户程序可以同时地、独立地访问服务程序。

作为中间件平台的并发性指标,要运行于平台之上的多个应用系统可以同时访问同一个服务而不出错误。并发透明性可以通过多线程机制来实现。

4) 故障透明性

故障透明性是指用户在使用服务时不会因为计算机或网络通信发生故障而产生服务的不一致性。也就是说,当客户程序发生故障时,服务器程序应该意识到这种故障并释放掉保存于内存中的连接状态信息和收发数据信息。这种技术被称为“掉队”检测和消除技术。

图3显示了PCDP中间件平台提供的故障透明性功能。

在图3中,上面的进程是服务程序进程,下面的客户程序。当客户程序出现故障时,服务器程序仍然能够向其他客户程序提供服务,并且第一个客户程序在故障解决后又能正确地与服务程序连接。PCDP 中间件平台对于故障的处理是打印出相关的提示信息然后中断执行。

5) 迁移透明性

迁移透明性又称移植透明性,是指服务器提供的远程服务不会因为客户端程序迁移到新的系统上而发生改变。

例如,客户端程序在Windows 7上能够正常地使用服务器提供的远程服务,当客户端程序移植到

尹云飞,彭燕华

Figure 2.Concurrency transparency of CISDI middleware platform

图2. PCDP中间件平台并发性

Figure 3.Failure transparency of CISDI middleware platform

图3. CISDI中间件平台故障透明性

Linux系统上时仍然能够使用服务器提供的远程服务。另外迁移透明性也体现在不同操作系统版本之间的一致性,例如当客户端程序从Windows 7系统移植到Windows XP系统上时,其使用服务器提供的远程服务应该保持不变。

PCDP中间件平台目前的版本是“中间件平台for windows 1.0”,它可以实现在不同Windows操作系统平台与Unix版本之间的迁移。

6) 性能透明性

性能透明性是指用户在使用远程服务时无需了解远程服务的性能,而只需要向远程服务器发起服务请求。

性能透明性使得服务器端性能的改进和客户端的性能独立起来,无论客户端性能如何低下都能享受服务器端提供的高性能服务。

性能透明性从总体上降低了整个分布式网络的硬件投资费用。

PCDP中间件平台具有性能透明性,使得转炉炼钢过程中的氧枪控制和转炉底吹控制可以分布在不同的设备上,提高执行设备的性能,而远程控制设备的性能保持不变,从整体上提高控制的灵活性降低设备总投资。

7) 扩充透明性

扩充透明性是指远程服务功能的扩充对于客户端用户是透明的,也就是说,客户端调用服务器服务的接口不变而其功能增强了。

尹云飞,彭燕华

在需求文档和开发文档的约束下,提高远程服务的功能可以提升中间件平台的服务水平和质量。利用扩充透明性就可以使客户端的用户无需重新学习新的功能接口而得到更强的功能。

PCDP中间件平台具有扩充透明性,这体现在该中间平台的许多接口还有进一步改进和功能提升的空间,而这些改进和功能提升均在需求文档和开发文档约束的范围内。

8) 复制透明性

使用资源的多个实例提升可靠性和性能,而用户和应用程序员无须知道副本的相关信息。

在分布式系统中,可以把一个场地的数据复制到其他场地存放,应用程序可以使用复制到本地的数据在本地完成分布式操作,避免通过网络传输数据,提高了系统的运行和查询效率。但是对于复制数据的更新操作,就要涉及到对所有复制数据的更新。

3. 中间件的可观察性

可观察性是指中间件平台和平台上的应用系统是可以被观察的,其中前者是后者的基础后者是前者的外在表现。通过观察平台我们能够了解消息传输的内部机制;通过观察应用系统我们能够了解消息传输的外部表现。

可观察性分为两个层次,一是系统可观察性另一个是应用可观察性,其中前者是从系统层面观察系统对象、消息以及状态的形成和传输机制,后者是从应用本身观察对象、消息的发送、传输、接收和显示。

系统可观察性通过绘出系统的类图、顺序图等可视化手段来展示;而应用可观察性则通过打印消息的发送者、接收者、发送时间、内容等手段来展示。

图4是一个IPC系统可观察性的示例。IPC (Inter-Process Communication,进程间通信)是一个进程间通信的传输控制协议。

在图4中,tcPort是传输控制的接口,它是IPC的服务窗口。tcPort依赖于tcServer和tcPortH,前者是传输控制协议的实现类,后者是tcPort的一个对象句柄。tcPort、tcServer和tcPortH构成了依赖关系。

pcPort与ostream、istream、ostrstream、istrstream四个流相关联,通过这四个流实现IPC信息的序列化,pcPort和它们构成了关联关系。

图5是PCDP中间件平台的应用可观察性示例。

Figure 4.System observability example of IPC

图4. IPC系统可观察性示例

尹云飞,彭燕华

Figure 5. Application observability example

图5. 应用可观察性示例

在图5中,我们可以看到有五个进程,它们的状态均为启动(STAETED),而这五个进程是建立在平台之上的应用系统,通过一定的手段或工具来查看应用系统的状态是应用可观察性研究范畴之一。

此外,从不同的角度来研究平台和平台上的应用系统的可观察性还可以分为类(对象)可观察性、消息可观察性、关联关系可观察性、依赖关系可观察性等,这些共同组成了平台和平台上应用系统的可观察性。

4. 结论

中间件的透明性和可观察性是中间件的关键技术之一,对于未来的大规模物联网和云计算软件而言,透明性和可观察性尤为重要,因此我们介绍了中间件的透明性和可观察性。中间件的透明性分为访问透明性、位置透明性、并发透明性、故障透明性、迁移透明性、性能透明性、扩充透明性和复制透明性八种;中间件的可观察性分为系统可观察性和应用可观察性。我们对主流的中间件平台PCDP、ACE、TAO、DCOM和ICE进行了透明性和可观察性研究,并以PCDP中间件平台为例详细论述PCDP中间件的透明性和可观察性。

中间件透明性和可观察性技术的未来发展方向是面向行业、智能化、基于组件的个性化中间件。

基金项目

重庆市基础与前沿研究计划项目(cstc2015jcyjA40006);高效能服务器和存储技术国家重点实验室开放基金项目(2014HSSA08);重庆市沙坪坝区科委项目(KP201502)。

参考文献(References)

[1]匡付华, 程朋胜, 胥布工. OPC及DasRdb数据库在城市轨道交通中的应用[J]. 自动化仪表, 2015, 36(6): 36-38.

[2]Coulouris, G., Kindberg, J.D.T., Blair, G. 金蓓弘, 马应龙, 等, 译. 分布式系统: 概念与设计[M]. 北京: 机械工

业出版社, 2013.

[3]Yin, Y.F., Wang Y. and Wang Y.X. (2007) Analysis on Open Control Platform. Proceedings of the 2007 IEEE Inter-

national Conference on Mechatronics and Automation, Harbin, 5-8 August 2007, 3371-3376.

https://www.360docs.net/doc/bc16845592.html,/10.1109/ICMA.2007.4304104

[4]Yin, Y.F., Zeng, Y.F. and Guan, H.C. (2014) A Weighted Dynamic Information Systems Reduction Method. Intelli-

gent Automation and Soft Computing, 20, 101-114.https://www.360docs.net/doc/bc16845592.html,/10.1080/10798587.2013.828907

尹云飞,彭燕华

[5]Yin, Y.F. and Guan, H.C. (2013) Dynamic Software Testing and Evaluation with State Space Method. Journal of Testing

and Evaluation, 41, 403-408.https://www.360docs.net/doc/bc16845592.html,/10.1520/JTE20120207

[6]李剑锋. 物联网中间件在公共领域中的应用[J]. 电脑编程技巧与维护, 2015(12): 34-34, 44.

[7]马维达. ACE与GoF设计模式——Adapter模式在ACE内存管理类中的应用[J]. 程序员, 2003(10): 92-93.

[8]王辉, 徐锦法, 高正. 基于事件的无人直升机分布式飞行控制系统实现[J]. 南京航空航天大学学报, 2005, 37(2):

212-216.

[9]高强文. 用ACE实现可靠消息传送[J]. 电脑编程技巧与维护, 2005(8): 16-20.

[10]李明, 高海军, 吴海涛. 基于ACE的监控软件设计[J]. 工业控制计算机, 2005, 18(11): 58-62.

[11]崔海涛, 王国栋. 基于ACE的中厚板轧机二级控制系统改造[J]. 武汉科技大学学报, 2013, 36(1): 17-20.

[12]冯润明, 王国玉, 黄柯棣. TENA中间件的设计与实现[J]. 系统仿真学报, 2004, 16(11): 2373-2377.

[13]Yin, Y.F., Wang, X.N. and Guan, H.C. (2014) Online Joint Control Approach to Formation Flying Simulation. IEEE

Aerospace and Electronic Systems Magazine, 29, 24-36. https://www.360docs.net/doc/bc16845592.html,/10.1109/MAES.2014.130161

[14]刘海. 基于TAO中间件的舰载作战指挥系统构件化设计与实现[J]. 舰船电子工程, 2006, 26(1): 13-17, 24.

[15]周风余, 宋洪军, 刘涛, 冯国瑞, 牟龙芳, 李贻斌. 基于中间件技术的异构机器人系统设计及实现[J]. 山东大学

学报(工学版), 2007, 37(3): 41-45, 50.

[16]李颖, 胡明. 基于C语言实现的IDL编译器[J]. 计算机技术与发展, 2013, 23(3): 5-9.

[17]徐嵩, 孙秀霞, 董文瀚, 李湘清, 李大东. 基于DCOM的无人机地面站串口通信模块设计[J]. 计算机工程与设计,

2011, 32(9): 3213-3217, 3234.

[18]马维达. 反叛之冰: Internet Communications Engine[J]. 程序员, 2003, (8): 91-94.

[19]刘裕, 吴坚. 中间件技术与ICE [J]. 微机发展, 2004, 14(10): 37-39.

[20]王海东, 廖小文, 李海亮, 张海. 水泥生产过程分层递阶多智能体控制系统[J]. 中国水泥, 2006, (6): 59-63.

[21]李泽朋, 马纯永, 陈戈. 空间应用仿真支持平台的研究与实现[J]. 计算机工程与设计, 2013, 34(6): 2109-2113.

[22]赵义奎, 李惠民, 王乐挺, 徐丙垠. ICE在配网自动化主站中的应用[J]. 电力系统保护与控制, 2014, 42(1): 102-

107.

[23]Johansen, D., Marzullo, K. and Lauvset, K. (1999) An Approach towards an Agent Computing Environment. Pro-

ceedings of the 19th IEEE International Conference on Distributed Computing Systems, Austin, 31 May-4 June 1999,

78-83. https://www.360docs.net/doc/bc16845592.html,/10.1109/ecmdd.1999.776418

[24]Kutlusan, A., Altmidort, N., Oruk, T. and Duman, A. (2000) A Combat Management System Middleware Based on

CORBA. Proceedings of the DOA‘00 International Symposium on Distributed Objects and Applications, Antwerp,

21-23 September 2000, 345-354. https://www.360docs.net/doc/bc16845592.html,/10.1109/DOA.2000.874206

[25]Chen, D., Chang, G.R., Li, J.J. and Wang, X.W. (2010) Design and Implementation of a Portable ACE-Based IPC

Platform. Proceedings of the 2010 International Conference on Intelligent System Design and Engineering Application

(ISDEA), 1, 502-505. https://www.360docs.net/doc/bc16845592.html,/10.1109/ISDEA.2010.121

[26]Henfri, B.E., Ha, T.K., Seo, Y.B. and Choin, J.W. (2008) Communication Architecture for AUV Test-Bed Using ACE/

TAO Real-Time Event Channel. Proceedings of the27th Chinese Control Conference,Kunming, 16-18 July 2008,

260-264.

[27]Paunicka, J.L., Mendel, B.R. and Corman, D.E. (2001) The OCP—An Open Middleware Solution for Embedded Sys-

tems. Proceedings of the American Control Conference, Arlington, 25-27 June 2001, 3445-3450.

https://www.360docs.net/doc/bc16845592.html,/10.1109/ACC.2001.946163

[28]Pruett, S.H., Slutz, G.J. and Paunicka, J.L. (2003) Hardware-in-Loop Simulation Using Open Control Platform. Pro-

ceedings of the AIAA Modeling and Simulation Technologies Conference and Exhibit, Austin, 11-14 August 2003, 1-

11. https://www.360docs.net/doc/bc16845592.html,/10.2514/6.2003-5759

[29]Schrage, D.P. and Vachtsevanos, G. (1999) Software-Enabled Control for Intelligence UAVs. Proceedings of the 1999

IEEE International Symposium on Computer Aided Control System Design, Hawai’i, 22-27 August 1999, 528-532.

https://www.360docs.net/doc/bc16845592.html,/10.1109/CACSD.1999.808703

[30]Wills, L., Sander, S. and Kannan, S. (2000) An Open Control Platform for Reconfigurable, Distributed, Hierarchical

Control Systems. Proceedings of the 19th Digital Avionics System Conference (DASC-2000), Philadelphia, 7-13 Octo-

ber 2000, 1-8. https://www.360docs.net/doc/bc16845592.html,/10.1109/dasc.2000.886955

[31]Henning, M. (2004) A New Approach to Object-Oriented Middleware. IEEE Internet Computing, 8, 66-75.

https://www.360docs.net/doc/bc16845592.html,/10.1109/MIC.2004.1260706

尹云飞,彭燕华[32]Reggiani, M., Zuppini, M. and Fiorini, P. (2007) A Software Framework for Process Control in the Agroindustrial

Sector. Proceedings of the IEEE International Conference on Automation Science and Engineering CASE, Scottsdale, 22-25 September 2007, 164-169. https://www.360docs.net/doc/bc16845592.html,/10.1109/coase.2007.4341806

[33]Villanueva, F.J., Villa, D., Moya, F., Barba, J., Rincon, F. and Lopez, J.C. (2007) Leightweight Middleware for Seam-

less HW-SW Interoperability with Application to Wireless Sensor Networks. Proceedings of the DATE ‘07 Design, Automation & Test in Europe Conference & Exhibition, Nice, 16-20 April 2007, 1-6.

[34]Chavas, J., Chateau, F., Druillole, F., Pollacco, E., Sizun, P., Usher, N. and Anvar, S. (2011) Mdaq-D3, a C++ Distri-

buted Driver Development Framework Used in a Nuclear Physics Experiment. Proceedings of the 2011 IEEE Nuclear Science Symposium and Medical Imaging Conference (NSS/MIC), Valencia, 23-29 October 2011, 179-182.

https://www.360docs.net/doc/bc16845592.html,/10.1109/NSSMIC.2011.6154474

中间件技术原理与应用复习资料

第一章 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。 6、RPC相关概念

第一章:中间件技术介绍

第一章:中间件技术介绍 1.1两层结构与三层结构 长期以来,我们一直使用着"客户端/服务器"的两层结构,这种两层的结构曾让无数人 为之兴奋和惊叹,即客户端提供用户界面、处理业务逻辑,数据库服务器接受客户端SQL 语句并对数据库进行查询,更新等操作,然后操作结果返回给客户端,如图所示。 在一个比较简单的计算机应用系统中,采用两层体系结构的确给人们带来了相当的灵活性。但随着计算机应用水平的飞速发展、企业信息化水平的不断深入、企业客户的不断增 加,以及新业务的不断出现,越来越多的用户对计算机应用系统提出了更高的要求: 1.要能够同时支持成千上万乃至更多用户的并发服务请求 2.由单一的局域网向跨多个网络协议的广域网扩展 3.不仅要支持一般的信息管理,而且还要支持关键业务的联机交易处理 4.从支持单一的系统平台和数据源转向支持异构的多系统平台和多数据源 面对用户的新需求,二层结构的应用模式由于采用客户机与服务器直接联接的方式形成了其固有的一些缺陷: 1.难以维护 clie nt/server 结构用户界面、业务逻辑和数据逻辑相互交错,通常在第一次部署的时候比较 容易,但难于升级或改进,而且经常基于某种专有的协议(通常是某种数据库协议)。它使得重 用业务逻辑和界面逻辑变得非常困难。 2 ?难以扩展 随着系统的升级,系统复杂程度大大增加,难以扩展,另外它是一个封闭的系统,很难与其他的应用系统实现互操作。 3.安全性差 客户端程序可以直接访问数据库,可通过编程语言或数据库提供的工具直接对数据库进行操作,不安全

4?性能不好 客户端直接与数据库建立连接,当有大量的并发用户存在时,会使数据库不堪重负,性能迅速下降,甚至当机。 三层结构 为解决传统二层模式与应用需求日益突出的矛盾,以交易中间件为基础框架的三层应用模式应运而生,三层结构以中间层管理大量的客户端并为其联接、集成多种异构的服务器平台,通过有效的组织和管理,在极为宽广的范围内将客户机与服务器进行高效组合。同时中间件开创的以负载平衡、动态伸缩等功能为代表的管理模式,已被广泛证实为建立关键业务应用系统的最佳环境,使在二层模式下不可能实现的应用成为可能,并为应用提供了充分的扩展余地。这种模式的成功应用已为许多国际大型企业在应用的开发和部署方面节省了大量的时间和金钱。由此促使越来越多的系统开发商和用户采用三层结构模式开发和实施其应用。 三层客户机/服务器模式的核心概念是利用中间件将应用的用户界面、业务逻辑和数据逻辑 分为三个不同的处理层,如图所示? 1.表示层(用户界面):它的主要功能是实现用户交互和数据表示,为以后的处理收集数据, 向第二层的业务逻辑请求调用核心服务处理,并显示处理结果。这一层通常采用VB, PB DELPHI等语言编写,或采用浏览器实现 2.中间层(业务逻辑):实现整个应用系统核心业务逻辑,通常把业务逻辑划分成一个个独立 的模块,用中间件提供的API结合数据库提供的编程接口实现。客户端通过调用这些模块 实现相应的业务操作。 3.数据层(数据逻辑):数据库负责管理整个应用系统的数据资源,完成数据操作。中间层上应用程序 在处理客户端的请求时,通常要存取数据库。 随着市场竞争的日益加剧和企业电子信息化建设的不断深入,高度灵活、能快速部署新服务和新应用的三层结构应用系统将成为企业信息化的必由之路。采用以中间件为基础的三层结构来架构的应用系统不但具备了大型机系统稳定、安全和处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。可以很好解决两层结构所面临的问题。中间件作为构造三层结构应用系统的基础平台,在三层结构中起着关键的作用,下一节我们将对中间件技术做一个概括性的介绍。 1. 2 中间件技术简介

中间件开发方案

中间件开发方案 一使用中间件原因 由于呼叫中心提供的调用呼叫中心的方法只支持单独页面的独立调用,无法满足BS架构的用户在多页面调用呼叫中心功能,因此需要使用中间件服务器连接呼叫中心系统,模拟建立独立通信通道,将多页面调用所需的功能发送给中间件,由中间件作为呼叫中心的唯一调用源,以此保证在符合呼叫中心调用机制的情况下完成BS架构的呼叫中心完整功能。 二开发方案1(CS架构客户端调用方式) 中间件组成部分:(服务器端和客户端) 1、服务器端功能: a)CRM用户和呼叫中心坐席关联,记录在中间件坐席信息表中。 b)接收和记录客户端状态和客户端传来的坐席状态。 c)接收和记录BS架构发送的呼叫中心调用命令。 d)记录客户端和BS架构调用呼叫中心的调用记录及调用结果。 2、客户端功能: a)连接呼叫中心的服务器,实现坐席登录功能。 b)获取呼叫中心服务器上的坐席状态,发送给中间件服务器端。 c)用呼叫中心提供的CS开发文档和开发ocx、dll调用呼叫中心的话务功能。 d)调用呼叫中心话务功能的时候讲调用记录发送给中间件服务器端。 e)接收中间件服务器端传来的BS架构调用呼叫中心话务功能的消息,并根据消 息判断触发呼叫中心话务功能类型及参数,翻译后发送给呼叫中心服务器。 f)在客户端转接、强插、监听等功能调用的时候读取中间件服务器端坐席状态表, 获取在线空闲坐席信息、在线通话中坐席信息等列表,并根据列表中的信息整 理成为调用参数,单击或双击列表中坐席调用呼叫中心话务功能。 g)监控来电事件,根据来电号码、客户端登录坐席,实现CRM弹屏。 3、CRM话务功能调用: a)发送命令消息给中间件服务器。500ms后查询服务器执行结果,若执行结果为 失败则显示失败消息,若执行结果为成功则无动作。 b)读取中间件服务器端坐席状态表,获取在线空闲坐席信息、在线通话中坐席信 息等列表,并根据列表中的信息整理成为调用参数,单击或双击列表中坐席将 转接命令消息发送给中间件服务器,并实现销售线索和来电客户数据的自动生 成或关联。

浅谈未来中间件技术发展的两大趋势

浅谈未来中间件技术发展的两大趋势 中国的ERP开发与应用经过多年的发展,已经取得了很大的成就,“普及”与“深化应用”已经成为当前ERP市场的两大主题。不论普及还是深化都意味着越来越多的人更加关注ERP的实际应用效果,更加关注ERP能否为企业带来实际的效益。对于企业和ERP厂商来讲都是非常有意义的。 ERP应当普及,但如何理解普及?是不是仅依靠某种产品低价销售,或者跑马圈地的方式来普及?这有待于商榷。 首先ERP不能用一个标准的产品销售方式来推广。ERP在管理对象上非常复杂,特别是随着市场竞争的加剧,每个企业在生存和发展过程中都形成了自己的管理理念、流程和方法,不可能用一个标准的产品来适合不同的对象。 所以把ERP的普及比喻成当年的T型车,不是十分妥当。在那个年代大家对需求比较单纯,认为汽车只是交通工具,而现在人们对汽车的要求就很高,不同的型号、配置和特殊要求,需要按订单制造和装配,所以T型在这个年代是不适合的。 大家的需求非常复杂、多变,所以想用某种产品或某一类产品做成标准去推广、普及是不行的。而同时ERP确实需要普及,但如何普及则需要按ERP的发展和应用客观规律来做。首先就是企业流程优化,如果实施ERP不做流程优化,不改变企业传统模式和管理方法,不吸收一些行之有效的管理模式,其结果就是失败。 另外,ERP普及并不意味着ERP产品低价。ERP实施需要资深管理专家和专业的实施顾问,要做流程优化、设计、系统设置和培训等方面的大量工作,这些都是实实在在实施成本。从国外ERP市场情况来看,ERP整个后期实施的费用远远大于软件产品费用。所以用一个很低的软件费吸引客户采购,这种方法是危险的。 中间件(middleware),顾名思义,是处于操作系统与应用软件的之间的基础软件,其作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 10年前,中间件的概念刚刚提出,而如今中间件已成为一个拥有上百亿美元市场的关键软件分类,并成为构建网络分布式异构信息系统不可缺少的关键技术,与操作系统、数据库管理系统并列为基础软件体系的三大支柱。 中间件的价值在哪?中间件如何影响产业的变化? 随着IT系统对企业发展的重要性的不断提升,信息系统也变得越来越复杂,必然也无法避免多厂商产品并存的局面。于是,如何屏蔽不同厂商产品之间的差异,如何减少应用软件开发与工作的复杂性,就成为人们不能不面对的现实问题。 显然,由一个厂商去统一众多产品之间的差异是不可能的,而单独由计算机用户在自己的应用软件中去弥补其中的大片空档,由于技术深度和技术广度的要求,必然也是勉为其难。于是,中间件应运而生。中间件试图通过屏蔽各种复杂的技术细节使技术问题简单化。

1.1.15金蝶apusic中间件应用解决方案v1.0

金蝶Apusic 中间件应用解决方案 一、概述 金蝶Apusic 应用服务器是符合J2EE规范的中间件软件,以其高可靠性、低资源占用率、对快速开发的支持、对各种开放标准的支持,连同其特有的安全及集群技术,为分布式企业应用提供高效而可靠的运行、部署、开发的平台。 二、应用需求 互联网经济时代,信息化手段成为支撑业务运作的基础设施和强劲动力,“没有信息化就没有现代化”。面对讯速变化的外部环境,如何使业务流程与技术完美结合,并借助技术手段不断对业务模型进行创新,如何在短时间内实现快速开发并降低成本,如何构建开放、稳定、安全的应用平台,如何整合旧系统、规划新系统等问题已成为政府电子政务发展的迫切需求。 政府多年来在实际政务运行中,发现旧的技术已经成为牵制业务创新的头号敌人,需要一种新的应用架构来整合旧系统,规划新系统。与此同时,中间件技术也在不断发展,从原有的独立的消息中间件、交易中间件和对象中间件发展到综合各类中间件技术的应用服务器。 综合国内外的应用趋势,可以看到,用先进、成熟、可靠、可伸缩的应用服务器中间件搭建软件应用可以满足不断变化的业务需求。JA V A技术已经成为构筑大型软件应用的事实标准,J2EE应用服务器中间件具有可移植性、开放性、快速开发、安全性、面向对象等多种优良特性,可以作为构建分布式的多层应用的中间核心平台,完全满足政府构建电子政务系统的需要。 三、方案特点 标准 Sun公司负责Java Web 服务的副总裁Mark Bauhaus说:“非常高兴金蝶中间件通过了J2EE1.4应用服务器认证,取得了J2EE技术的许可,这对Java Web服务标准在整个亚洲的采用将起到积极的带动作用.金蝶中间件的技术经验,以及其产品的领导地位和声誉,将为它的客户提供强大的、具有竞争力的基础软件平台。“

中间件技术综述

中间件技术综述 摘要:介绍了中间件的产生与发展,详细阐述了中间件的定义、分类以及功能与作用。指出了中间件的优缺点,并分析了中间件技术的现状,最后介绍了中间件的应用前景和发展趋势。 关键词:统一软件开发平台、中间件技术 1 引言 随着Internet网络应用技术的发展,基于客户机/服务器(Client/Server)模式的系统设计方法己被广泛地应用于各种类型软件系统的设计与开发中。其编程方式改变了传统的应用程序设计和系统实现方式。为此人们提出了一种介于客户端和服务器端的软件--中间件(Middleware)。中间件是处于应用软件和系统软件之间的一类软件,是独立于硬件或数据库厂商(处于其产品的中间,实现其互连)的一类软件,是客户方与服务方之间的连接件,是需要进行二次开发的中间产品。 于是集软件复用、分布式对象计算、企业级应用开发等技术为一体的“基于中间件的软件开发”伴随产生,这种技术以软件架构为组装蓝图,以可复用软件构件为组装模块,支持组装式软件的复用,大大提高了软件生产效率和软件质量。 2 中间件技术 2.1 中间件的分类 由于中间件所包括的范围十分广泛,而目前对中间件还没有一个比较精确的定义。因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。基于不同中间件的目的和实现机制的不同,一般将中间件主要分为以下几类:远程过程调用中间件(remote procedure call middle-ware); 面向消息的中间件(message oriented middleware); 对象请求代理(object request broker); 事务处理监控(transaction processing monitor); 数据库中间件(database middleware); 专用中间件(proprietary middleware)。 其中,前3类中间件称为管道,它们可向上提供不同形式的通讯服务,包括

RFID的组成部分是什么

RFID的组成部分是什么? RFID的优势是什么? 被动,半主动和主动射频系统有什么区别? 什么是电子产品代码标签? 射频标签能用于金属物体吗? 只读和读写标签有什么区别? 什么叫标签冲突? 射频标签能储存多少信息? 射频标签可以和传感器连接吗? 应答器,智能标签,射频标签有什么区别? 可以写个论文:RFID概述了啊 RFID的组成部分是什么? RFID的优势是什么? 被动,半主动和主动射频系统有什么区别? 什么是电子产品代码标签?只读和读写标签有什么区别? 见https://www.360docs.net/doc/bc16845592.html,相关专题 射频标签能用于金属物体吗? 当然,下面垫点强波材料,如铁氧体。 应答器,智能标签,射频标签有什么区别? 本质上是一样的,英文不同:transponder、smart label、RFID tag.transponder=RFID tag,可以指各式各样标签,smart label只是纸质标签 什么叫标签冲突? rfid collision 包括标签与标签之间的干扰、标签反射信号对读写器的干扰、读写器之间的信号干扰。 射频标签能储存多少信息?据我所知最多的已经有2M E2pRom 射频标签可以和传感器连接吗?当然可以 给就给全分,不要打半价 相关链接内容如下:https://www.360docs.net/doc/bc16845592.html, RFID的组成部分是什么? 答:RFID由芯片\天线\读写器\中间件组成. RFID的优势是什么? 答:最大的优势就是快速\一次性多读 如果与条形码相比有以下等优势:

1.不需要光源,甚至可以透过外部材料读取数据 2.使用寿命长,能在恶劣环境下工作. 3.能够轻易嵌入或附着在不同形状类型的产品上 4.读取距离更远 5.可以写入及存储数据,写入时间相比打印条形码更少 6.标签的内容可以动态改变 7.能够同时处理多个标签 8.标签的数据存取有密码保护,安全性更高 9.可以对RFID标签所附着的物品实施实时跟踪. 被动,半主动和主动射频系统有什么区别? 答:被动标签由阅读器产生的磁场中获得工作所需的能量,成本很低并具有很长的使用寿命,比主动标签更小也更轻,读写距离则较近,也称为无源标签.主动标签自身带有电池供电,读写举例较远,同时体积大,与被动标签相比成本高,也称为有源标签.半主动标签是介于主动标签与被动标签之间的,它本身也带有电池,但是平时处在休眠状态,当有读写器向它发送磁场时再将其激活,然后向读写器发送信息. 射频标签能用于金属物体吗? 答:可以,但是需要经过特殊的封装工艺处理,制作成防金属的标签 只读和读写标签有什么区别? 答:只读标签是芯片内只有一串ID号码,并没有数据存储空间的标签,读写器也无法改变标签信息.读写标签带有一定的存储空间,可以通过读写器读出/写入一些信息的标签. 射频标签能储存多少信息? 答:不一定.这个需要根据不通的容量来决定. 射频标签可以和传感器连接吗? 答:可以. 以上的回答是我以前自己收集的一些信息,还有其他的问题,我还不太了解,也不好随意回答.

中间件应用部署整体要求

1.中间件应用部署整体要求 以下中间件应用部署要求主要指基于WEB服务器及Java中间件部署的WEB、J2EE等的应用。 1.1.内容要求 a)对整个系统硬件架构进行描述,提供系统架构组网图,此部分可以在主机集成部分提供。 b)对应用系统软件架构进行描述,提供应用软件架构图,对系统数据流,系统控制流以及 外部接口进行描述。 2.中间件应用部署用户要求 2.1.内容要求 a)要求对中间件软件及应用系统安装用户和组进行合理规划。 b)应用系统安装和部署必须新建用户和组,不能使用root安装。 c)对于一般应用,中间件软件与应用系统可以部署在同一用户下。 d)对于同一系统在不同主机上的相同应用,所有新建应用用户的UID,GID信息在所有主机 上保持一致。 2.2.内容实例 ● ● 3.中间件应用部署目录要求 3.1.内容要求

a)要求对中间件软件及应用系统安装目录进行合理规划。 b)应用系统要求部署在独立的文件系统上,在rootvg下建立文件系统。 c)对于同一系统在不同主机上的相同应用,所有目录部署结构在所有主机上保持一致。 d)中间件软件安装目录、域目录、应用发布目录要求独立部署。 ● 3.2.内容实例 ●WebLogic应用目录部署示例 网厅应用前台部署目录:

4.中间件软件及版本要求 4.1.内容要求 a)对使用的中间件软件及版本,32/64bit进行描述; b)对使用的JDK版本进行描述,根据中间件软件的安装要求,选择符合要求的JDK最新 稳定版本。 4.2.内容示例 5.中间件主机参数及系统包要求 5.1.内容要求 a)根据不同操作系统平台,要求的操作系统补丁; b)根据不同操作系统平台,需修改相应的核心参数,保证中间件的安装与运行; 5.2.内容示例 ●WebLoigc(AIX平台) 操作系统补丁要求: 操作系统参数要求:

TUXEDO中间件介绍及应用

TUXEDO中间件介绍及应用 一、前言 首先介绍一下什么是中间件?中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 中间件屏蔽了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。 世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性: ●缩短应用的开发周期 ●节约应用的开发成本 ●减少系统初期的建设成本●降低应用开发的失败率●保护已有的投资●简化应用集成 ●减少维护费用 ●提高应用的开发质量●保证技术进步的连续性●增强应用的生命力 Tuxedo是第一个严格意义上的中间件产品。Tuxedo是1984年在当时属于A T&T的贝尔实验室开发完成的,但Tuxedo在很长一段时期里只是实验室产品。直到BEA公司1995年收购Tuxedo后,使Tuxedo现已经发展成为交易中间件领域事实上的标准。 TUXEDO是在企业、Internet 这样的分布式运算环境中,开发和管理三层结构的客户/服务器型关键任务应用系统的强有力工具。它具备分布式事务处理和应用通信功能,并提供完善的各种服务来建立、运行和管理关键任务应用系统。开发人员能够用它建立跨多个硬件平台、数据库和操作系统的可互操作的应用系统。 二、TUXEDO的组件软件模型 TUXEDO采用三层结构的组件软件模型。 图1 BEA TUXEDO 的组件软件模型概要

软件中间件技术现状及发展

软件中间件技术现状及发展 梅宏 北京大学信息科学技术学院软件研究所,北京 100871 {E-mail:meih@https://www.360docs.net/doc/bc16845592.html,} 1 前言 “中间件”这一术语最早出现在1980年代后期,主要用于描述网络连接管理软件。在1990年代中期,随着网络技术快速发展,中间件的概念日益普及。中间件在学术界和产业界均得到长期、广泛的研究与实践,尽管目前尚没有统一的中间件定义,但对于中间件的意义与内涵已有基本共识。如,IEEE的分布系统专家组认为“中间件通过提供简单、一致、集成的分布编程环境,简化分布应用的设计、编程和管理。本质上,中间件是一个分布软件层(或平台),抽象了底层分布环境(网络、主机、操作系统、编程语言)的复杂性和异构性”[19];美国国家自然基金委员会认为“中间件是建立在网络传输服务之上、辅助开发新应用与网络服务、适用于多个应用的一种软件”[30];对象管理组织OMG认为“中间件就是解决网络环境下互操作问题的软件,它同时还提供事务、目录、事件等其它基本服务”[44];CMU软件工程研究所认为“中间件是一组支持软件连接的服务的集合,允许在一个或多个主机上运行的多个过程通过网络进行交互。中间件是将大型机应用移植到客户/服务器应用、以及跨异构平台通信的基础机制,最初用于解决客户/服务器体系的互操作问题(20世纪90年代)”[7]。不难看出,这些定义从不同角度、采用不同字眼所描述的中间件具有相同的目标——解决分布应用开发中诸如互操作等共性问题,以及相同的内涵——提供这些共性问题的具有普适性的支撑机制。 一般说来,中间件有两层含义。从狭义的角度,中间件意指Middleware,它是表示网络环境下处于操作系统等系统软件和应用软件之间的一种起连接作用的分布式软件,通过API的形式提供一组软件服务,可使得网络环境下的若干进程、程序或应用可以方便的交流信息和有效的进行交互与协同。简言之,中间件主要解决异构网络环境下分布式应用软件的通信、互操作和协同问题,它可屏蔽并发控制、事务管理和网络通信等各种实现细节,提高应用系统的易移植性、适应性和可靠性。从广义的角度,中间件在某种意义上可以理解为中间层软件,通常是指处于系统软件和应用软件之间的中间层次的软件,其主要目的是对应用软件的开发提供更为直接和有效的支撑。

清华版中间件技术原理与应用1-9课后问题答案

中间件原理与应用习题: 1 比较开放系统与分布式系统的异同。 分布式系统具备以下属性:远程性、并发性、异步性、异质性、自主性、联合性、伸缩性、发展性、移动性。 开放系统具备以下属性:开放的、集成的、灵活的、模块化的、可联合的、可管理的、满足服务质量需要、安全的、提供透明性。 2 简述开放系统的特性: 开放系统具有可移植性、可互操作性、可伸缩性、易获得性。 3 什么是互操作性,有哪几种层次的互操作性? 在一个由异质实体构成的网络环境中,当应用在网络的结点上运行时,它可以透明地动用网中其他结点上的资源,并借助这些资源与本结点上的资源共同来完成某个或某组人物,这种能力被称为互操作性。 有以下层次: Application-Collaboration-Application Transparency-Inter-operability- Transparency RPC-Inter-communication- RPC Comms-Inter-Connection- Comms 4 简述中间件产生的背景、概念、组成结构及核心技术。 定义:中间件是介于应用系统和系统软件之间的一类软件,它能使处于应用层中的各应用成分之间实现跨网络的协同工作。 组成结构:(1)执行环境软件(2)应用开发工具 核心技术:通信、资源管理、互操作性 5 简述DCE的组成结构及其缺点 DCE由分布式文件服务、安全服务、目录服务、时间服务、RPC、线程组成。 DEC的缺点:RPC设计不周,开发工具薄弱;性能差、适用系统少、适用困难;没有采用面向对象技术。 6阐述面向对象的定义及其与面向过程的调用的区别。 面向对象的方法以一种更为直观的方法分析和构造系统,它将整个系统抽象并模型化,让人们能够更好地了解整个系统,使得在设计时就能发现其中可能存在的问题。 两者最大的区别是,在结构化的开发方法中,数据与功能室分离的,而在面向对象的开发方法中,数据与相关的功能是捆绑在一起的,更好地表示了系统中相对独立的对象。 7 简述ODP的关键技术 观点和透明性。观点把对于一个系统的说明分成若干个不同的侧面;透明性屏蔽了由系统的分布所带来的复杂性,极大的减小了分布式标称的复杂性。 8 怎样理解ODP是元标准 RM-ODP不仅是一个一般的标准,还是一个标准的标准,即规定了使用于开放式分布处理领域内的其他标准必须遵循的参考模型。

数据库中间件及其几种技术比较

数据库中间件及其几种技术比较 摘要:本文阐述了数据库中间件的概念,功能,原理,介绍了现今数据库中间件的几种主要技术,并进行了比较。 关键字:数据库中间件 1、数据库中间件的基本概念 数据库中间件是处于底层数据库和用户应用系统之间的,主要用于屏蔽异构数据库的底层细节问题的中间件,是客户与后台的数据库之间进行通讯的桥梁。当客户向Web Server发出对某个数据库的SQL请求时,通过数据库中间件搜索匹配的数据库连接,并将SQL请求转发给对应的数据库服务器,通过其对数据库进行操作。 数据库中间件的主要功能:(1)支持常用大型数据库的各种操作。如ORACLE ,DB2, MYSQL等常用数据库。(2)提供统一接口, 屏蔽数据库之间的操作差异。(3)封装复杂烦琐的数据库应用接口和数据库操作过程,简化应用程序的数据库操作, 提高应用程序开发效率。(4)支持常用的操作系统。如Windows、UNIX、Linux 等,便于应用代码在各平台之间的移植。(5)支持多线程, 可以提供多线程与线程库, 满足各种场合应用。 数据库中间件(UniWeb Server)工作原理:让其作为前端的客户与后端的数据库之间进行通信的桥梁,当客户向数据库中间件发出对某个数据库的SQL请求时数据库中间件搜索当前可用的与该数据库的连接(UniTcl Server) 通过UniTcl Server将SQL请求转发给对应的数据库服务器,数据库服务器执行SQL语句后将结果通过UniTcl Server 返回给数据库中间件,再由它返回给客户整个数据库中间件的体系结构采用的是三层(Three-tier)客户机/服务器模型,中间件与各个客户的数据通信采用流套接字(Stream Socket)机制实现并

中间件技术总结

中间件总结(软件体系结构与分布式对象技术)这门课程的名字叫做《中间件技术》,整个学期就讲了一章的内容,总共也就几十页,实际上就是Java课本上的第二十章,软件体系结构与分布式对象技术 如果你们的老师还是袁绍欣的话,老师上课有自己的风格,并不仅仅局限在书本上,更多的时候老师喜欢讲一些自己的认识和见解。上这门课其实也很有意思,老师有时候会天马行空,总之上课的时候应该是很轻松的,,老师的意思是,想传授给大家的是思想,而不是固定的什么知识。 然后是备战考试,,备战考试的话,实际上一天足矣,因为真的就这些内容,如果你将下面的内容都掌握了,考个80分是不成问题,但是要得95这样的高分,我看也并非易事。具体来说,考试只有三种题目(起码我这届和我上一届都是这样),简答题(11*5 )+ 画图题(3*5 )+ 论述题 (3*10 )= 100 。简答题和画图题都是书上的知识,而后30分就是考你对中间件和分布式的真正理解了。主要的知识点就是下面的内容,我整理出来给大家,但是并不是希望大家就是考前一天把它背下来,然后考后一天就全部忘光了。 我希望大家能够真正去理解中间件是什么,去理解分布式对象技术,那么,我的目的就达到了,同时,我觉得老师教学的目的也达到了。从以往的考试来看,,,打小抄的同学数量绝对不占少数,不管男生还是女生,,这种现象非常严重,,,我觉得真的没有必要,,但是现在大学考试的趋势就是这样,我也管不了,我只是希望大家摸着自己的良心,堂堂正正去考一场试。。。 你的学长:BIGBALLON

1. 软件结构体系的含义和主要类型有哪些? 含义:软件结构体系是具有一定的软件结构化元素以及它们相互关系的集合。 主要类型:构成角度:构件和它们之间的调用关系 开发过程角度:概念结构和物理结构 运行角度:静态结构和动态结构 部署角度:集中式结构和分布式结构 2. C/S 和 B/S 各自都有哪些优点和缺点? Client/Server (客户端/服务器) 特点:必须在客户端安装数据库客户端,并且需要一定的局域网络带宽满足通信 优点:开发容易,部署简单,执行速度快,界面表现形式丰富 缺点:维护困难 Browser/Server (浏览器/服务器) 特点:这种结构,服务器端部署Web服务,应用服务和数据库服务。使用Web服务来响应用户的请求 优点:维护扩展方便 缺点:开发部署复杂,执行速度比C/S慢,界面表现形式不及C/S丰富 3. 软件客户端都有哪些主要类型,富客户端中的Ajax有何特点,都有哪些富客户端产品? a. 胖客户端( C/S ),瘦客户端( B/S ),富客户端( RIA ,Rich Internet Application ) b. Ajax (Asynchronous Javascript And XML,异步JavaScript和XML ) 的特点: 能够异步地向服务器提交请求,用户无须等待浏览器返回就可以继续浏览器其他操作。 (百度中输入一个词,会出现下拉列表,详见书本) c. d. 富客户端产品:微软的Silverlight/WPF Adobe的Flex Sun的JavaFX 开源社区的Laszlo 4. 分布式软件系统的含义,它的特点是什么? 含义:分布式软件系统就是将物理上分散的独立构件或系统,在使用逻辑上统一起来,相互合作来共同完成任务。 特点:物理上独立,逻辑上统一

中间件技术介绍

中间件技术介绍 中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 在众多关于中间件的定义中,比较普遍被接受的是IDC 表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。 IDC对中间件的定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。 中科院软件所研究员仲萃豪形象地把中间件定义为:平台+通信。这个定义限定了只有用于分布式系统中的此类软件才能被称为中间件,同时此定义还可以把中间件与支撑软件和实用软件区分开来。 目前,中间件发展很快,已经与操作系统、数据库并列为三大基础软件。中间件主要分为以下几类:

1.通信处理(消息)中间件 此类中间件能在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输(如Tong LINK、BEAe Link、IBM的MQ Series等)。这是中间件中唯一不可缺少的,是销售额最大的中间件产品。 2.交易中间件 在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。例如在北京市就要设置各种运载汽车,完成日常的运载,同时要随时监视汽车运行,出现故障时,要有排除措施,发生堵塞时要进行调度。在联机事务处理系统(OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。BEA的Tuxedo由此而著名,它成为增长率最高的厂商。一个事务处理平台,根据X/OPEN的参数模型规定,应由事务处理中间件、通信处理中间件以及数据存取管理中间件三部分组成。东方通科技公司的Tong LINK和TongEASY实现了这个参考模型规定。3.数据存取管理中间件

物联网体系架构中应用层相当于人体的

[标签:标题] 篇一:物联网练习题及答案 物联网基础与实践单项选择题 1. (A )针对下一代信息浪潮提出了“智慧地球”战略。 A.IBM B.NEC C.NASA D.EDTD 2.日本在(C )年提出了U-JAP AN战略。 A.2002 B.2003 C.2004 D.2005 3.国在(C )年提出了U-KOREA战略。 A.2004 B.2005 C.2006 D.2007 4. 2009年我国推出的四万亿经济刺激计划中,用于地震灾区重建的比重占到(B )。 A.20% B.25% C.28% D.30% 5.2009年,温家宝总理提出了(D )的发展战略。 A.智慧中国 B.和谐社会 C.感动中国 D.感知中国 6.《让科技引领中国可持续发展》讲话发表于(B )年。 A.2008 B.2009 C.2010 D.2011 7.近百年来,人类社会总共经历了(B )次里程碑式的科技革命。 A.二 B.三 C.四 D.五 8.第三次科技革命就是以(A )技术为代表的科技革命。 A.电子信息 B.生物转基因 C.空间技术 D.超级浮点计算 9.物联网的全球发展形势可能提前推动人类进入“智能时代”,也称(D )。 A.计算时代 B.信息时代 C.互联时代 D.物连时代 10.射频识别技术属于物联网产业链的(A )环节。 A.标识 B.感知 C.处理 D.信息传送 11.作为物联网发展的排头兵,(A )技术是市场最为关注的技术。 A.射频识别 B.传感器 C.智能芯片 D.无线传输网络 12. (D )被成为下一个万亿级的信息产业。 A.射频识别 B.智能芯片 C.软件服务 D.物联网 13.除了国外形势的发展需求之外,(C )也推动了物联网快速发展。 A.金融危机蔓延 B.其他领域发展乏力 C.技术逐步成熟 D.风投资金关注 14.条形码诞生于20世纪(B )年代。 A.10 B.20 C.30 D.40 15.条形码只能够适用于(A)领域。 A.流通 B.透明跟踪 C.性能描述 D.智能选择 16. (B )将取代传统条形码,成为物品标识的最有效手段。 A.智能条码 B.电子标签 C.RFID D.智能标签 17.在射频技术和互联网技术结合方面最有代表性的研究是由(C )完成的。 A.YALE B.HARVARD C.MIT https://www.360docs.net/doc/bc16845592.html,BRIDGE 18.1995年,(D )首次提出物联网概念。 A.沃伦.巴菲特 B.乔布斯 C.保罗.艾伦 D.比尔.盖茨 19.首次提出物联网概念的著作是(A )。 A.《未来之路》 B.《信息高速公路》 C.《扁平世界》 D.《天生偏执狂》 20.国际物品编码协会的英文简称是(A )。

中间件技术与应用试卷

2016年度中间件技术与应用试卷 姓名:学号: 一、简答题: 1.现代应用系统的基本特征?(6分) 2.按照IDC的分类方法,中间件分为哪几类?(5分) 3.事务处理中间件模型包括3个组成部分,分别是什么?并说明各部分的作用。(6分) 4.消息中间件的工作原理是什么?(5分) 5.面向对象的设计模式按作用可分为哪三类?(6分) 6.可复用的面向对象设计的几个原则是什么?(4分) 7.三层Web应用程序模型组成?说明各层的作用。(6分) 8.请说出框架和模式的区别?(4分) 9.设计一个RMI中间件,由哪几部分组成,说明各部分实现的功能。可举例说明。(8 分) 10.请说出下面这张UML图中各类的关系:(5分) 11.根据以下类图,请说出是哪种设计模式,并说明模式组成的角色?(每题5分,共15 分)

图11题-1 图11题-2 图11题-3

二、程序分析题 1. 请说明下列代码实现所用的是什么模式?(3分),画出类图(5分),并写出输出结果。(2分) public abstract class Bird{ public abstract int fly(); } public abstract class Debird extends Bird{ protected Bird bird; public Debird (){ } public Debird (Bird bird){ this.bird=bird; } } public class Sparrow extends Bird{ public final int DISTANCE=100; public int fly(){ return DISTANCE; } } public class SparrowDebird extends Debird{ public final int DISTANCE=50; SparrowDecorator(Bird bird){ super(bird); } public int fly(){ int distance=0; distance=bird.fly()+eleFly(); return distance; } private int eleFly(){ return DISTANCE; } } public class Application{ public void needBird(Bird bird){ int flyDistance=bird.fly(); System.out.println("这只鸟能飞行"+flyDistance+"米"); } public static void main(String args[]){ Application client=new Application(); Sparrow sparrow=new Sparrow(); SparrowDebird sparrowDe1=new SparrowDebird(sparrow); SparrowDebird sparrowDe2=new SparrowDebird (sparrowDe1);

中间件技术知识点及习题

第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驱动程序之间的交互作用,为应用

中间件技术原理与应用课后习题(1-8章参考答案)

中间件技术原理与应用课后习题(1-8章参考答案) -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

中间件技术原理与应用课后习题参考答案 S1.中间件产生背景及分布式计算环境 1.比较开放系统与分布式系统的异同。 分布式系统具备以下属性:远程性、并发性、异步性、异质性、自主性、联合性、伸缩性、发展性、移动性。 开放系统具备以下属性:开放的、集成的、灵活的、模块化的、可联合的、可管理的、满足服务质量需要、安全的、提供透明性。 2.简述开放系统的特性: 开放系统具有可移植性、可互操作性、可伸缩性、易获得性。 3.什么是互操作性,有哪几种层次的互操作性? 在一个由异质实体构成的网络环境中,当应用在网络的结点上运行时,它可以透明地动用网中其他结点上的资源,并借助这些资源与本结点上的资源共同来完成某个或某组人物,这种能力被称为互操作性。 有以下层次: Application-Collaboration-Application Transparency-Inter-operability- Transparency RPC-Inter-communication- RPC Comms-Inter-Connection- Comms 4.简述中间件产生的背景、概念、组成结构及核心技术。 定义:中间件是介于应用系统和系统软件之间的一类软件,它能使处于应用层中的各应用成分之间实现跨网络的协同工作。 组成结构:(1)执行环境软件(2)应用开发工具 核心技术:通信、资源管理、互操作性 5 .简述DCE的组成结构及其缺点。 DCE由分布式文件服务、安全服务、目录服务、时间服务、RPC、线程组成。DEC的缺点:RPC设计不周,开发工具薄弱;性能差、适用系统少、适用困难;没有采用面向对象技术。 S2.面向对象中间件ODP 6.阐述面向对象的定义及其与面向过程的调用的区别。 面向对象的方法以一种更为直观的方法分析和构造系统,它将整个系统抽象并模型化,让人们能够更好地了解整个系统,使得在设计时就能发现其中可能存在的问题。 两者最大的区别是,在结构化的开发方法中,数据与功能室分离的,而在面向对象的开发方法中,数据与相关的功能是捆绑在一起的,更好地表示了系统中相对独立的对象。 7.简述ODP的关键技术。 观点和透明性。观点把对于一个系统的说明分成若干个不同的侧面;透明性屏蔽了由系统的分布所带来的复杂性,极大的减小了分布式标称的复杂性。 8.怎样理解ODP是元标准。 RM-ODP不仅是一个一般的标准,还是一个标准的标准,即规定了使用于开放式分布处理领域内的其他标准必须遵循的参考模型。

相关文档
最新文档