基于SOA的图书馆情境感知中间件架构研究
2016-04-11周玲元段隆振南昌航空大学经管学院南昌大学信工学院
周玲元,段隆振(1.南昌航空大学经管学院;.南昌大学信工学院)
基于SOA的图书馆情境感知中间件架构研究
周玲元1,2,段隆振2(1.南昌航空大学经管学院;2.南昌大学信工学院)
摘要:无线网络环境下,移动智能终端及网络设备存在异质性、不一致性现象。本文提出使用中间件屏蔽底层网络差异性的情况;针对移动环境下情境动态变化特点,设计了基于SOA的图书馆情境感知中间件架构模型;该中间件模型能够感知用户情境,同时具有组合自适应机制,将服务单元通过信道连接起来动态组合完成预定服务功能。
关键词:智慧图书馆;情境感知;个性化服务;中间件
中间件技术在分布式应用中发挥着重要作用,依靠中间件技术的规范能够屏蔽软件和硬件的复杂性和异构性,降低系统资源管理的难度,提高应用系统执行结果的可预见性,透明地提供Web服务。其次,中间件技术能够提供应用服务的重复使用,有利于提高应用系统的整合、监控及安全性要求。
中间件在分布式计算系统中取得了不错的研究成果,然而在移动操作环境下,传统中间件的发展遇到了新挑战。不同于固定网络环境,抽象整合分布式服务满足所有状态下的应用变得难以实现,移动环境下异构的设备、网络协议、操作系统显得更为复杂;获取用户的情境才能提供合适服务,中间件系统获取情境信息自适应提供合适的服务成为当下研究热点。本文提出一种基于SOA和普适计算相融合的中间件架构,称之为图书馆情境感知服务中间件架构,用以支撑图书馆情境感知服务模型构建。该架构融合服务计算和普适计算两者优点,不仅能够很好地屏蔽图书馆应用信息系统分布式、异构性问题,而且能够实现图书馆范围内的智能化环境,实时感知用户情境信息进而提供合适的服务。
1 相关技术
(1)中间件研究。中间件技术根据任务的需要及在系统中所起的作用可以大致分为数据访问中间件、远程过程调用中间件、面向消息中间件、面向对象的中间件、事务处理中间件、网络中间件和终端仿真/屏幕转换中间件等类型。按照功能划分可以将中间件划分为通信类中间件、模块类中间件、自适应中间件、情境感知中间件等类型。[1]
其中通信类中间件主要是集成分布式计算系统为一个整体资源对外服务,降低系统开销;模块化中间件利用模块化设计思想,使可重用的服务组件被应用系统有效地组织,配置和使用。模块化中间件提供标准化的接口和应用技术支持服务重组,同时有效降低软件升级的复杂度,从而提升了分布式应用的可重用性及可扩展性;自适应中间件通过物化过程实时监测内部构建状态,也允许内部构建动态重组以改变其功能性和非功能性性能;情境感知中间件通过测量系统所处环境情境信息,动态实时调整应用系统性能,即能够监控并评估实时情境数据并作出适时调整从而提高服务质量。
(2)面向服务研究。SOA是一种追求敏捷性的面向对象的体系结构,在商业领域被誉为企业服务总线(ESB)或信息代理人。[2]遵循该体系架构开发的应用系统能够觉察业务的实时动态变化,其模块化业务服务思想对于应用系统集成、重构和应用都相对简单。同时,应用系统在可扩展性和可复用性方面的表现也很出色,许多企业正在利用SOA思想创建一个灵活且适应性强的信息系统环境。至今有许多文献详细地论述了SOA,归纳起来可以细分为实时SOA、事件驱动SOA、服务组装、分散式处理等。
2 面向服务情境感知中间件
(1)情境感知自适应中间件。研究结果表明,应用系统需要一个中间件层以自适应动态情境变化,许多有代表性情境感知服务系统提供中间件层。[3]这些系统根据封装的底层机制提供自适应决策。自适应决定可以在应用层也可以在中间件层作出。在应用层作出自适应决定又称应用感知方式,能够提高应用系统提供商足够灵活性获取所需信息,同时也会增加应用系统提供商预测所有潜在场景的负担。而在中间层作出自适应决定又称为应用传输方式,这种方式把应用系统提供商从何时、什么方式去适应场景等问题中解脱出来,从而专注于应用系统的功能性结构。
Odyssey属于应用层自适应方法的早期尝试,中间件检测感兴趣的情境信息,提供服务的所有变化给应用系统;底层程序负责解释情境信息并作出最佳决定以适应情境变化。这种方式为应用系统提供情境感知服务成为可能。这种自适应存在的问题就是计算强度太大,应用系统需要实时获取所有可能的情境变化数据,并随时给出自适应决策方案。同时,基于Odyssey的应用系统需要为新的情境信息修改或重编译代码已产生相匹配的策略。为了防止类似于Odyssey的重编译需求,许多情境感知中间件系统[4,5]引入一种反射式机制动态配置应用服务,然而在动态环境下,并不能很好地解决情境自适应计算量大带来的挑战。Rocks属于中间件层传输自适应方法,通过构建中间层来协调服务配置从而适应情境的变化。通过这种方式,应用层软件不需要考虑如何适应、何时适应情境信息的问题,完全交由中间件去解决,进而集中精力关注应用服务功能结构即可。
(2)面向服务计算中间件。近年来,无线网络服务计算领域涌现出了许多研究成果。其中,大多数成果是基于中间件技术,依靠中间件技术能够很好地解决异构、分布性及应用异质等问题。然而传统的中间件体系结构如Java RMI,CORBA,JINI,EJB等需要建立在大的计算、存储能力和通信量基础上,并不适合在无线网络环境下推广。
RUNES是一种基于组件的中间件,能够在异构环境下提供动态重组服务。涉及的服务包括网络服务下通知、发现及协调服务。Reyes和Wong提出了一种面向服务中间件应用于智能家居系统中,中间件对传感器及底层硬件系统负责,封装使之成为服务的一部分。Misence是一种普适的面向服务中间件系统,[6]这种架构定义资源管理层协调底层设施资源信息共享的任务,Misence是一个开放性的中间件模式,新的服务可以实现“即插即用”。
(3)基于本体的情境感知自适应机制。使用本体来实现情境感知并不新鲜,一些基于本体的情境感知模型应用于众多领域。如,CONON是一个基于OWL编码的情境本体模型应用在普适计算环境中,支持逻辑推理。同样,COOL和SOUPA使用本体对情境实体进行概念化抽象,即情境建模。然而已有的本体情境感知应用中没有能够直接提供自适应决策服务的案例,本文认为在情境感知领域应用本体获取知识外,还可以辅助应用系统作出自适应决策。这样有利于发现情境信息和应用系统之间的匹配关系,从而帮助中间层理解这些实体之间的关系,作出合理的决策。
3 基于SOA的图书馆服务中间件架构研究
本节在分析现状及相关研究工作基础上,融合面向服务和普适计算的双重特点,为智能图书馆情境感知服务系统设计了一种面向服务的中间件架构。该中间件基于分层的模式设计,该模式主要以横向分层形式构建,同时辅以纵向结构作为补充。其中横向主要结构有。资源层、适配层、基础服务层、组合服务层和应用层;纵向结构由情境感知管理、知识库、可使用性和实时支持等功能模块组成。具体描述如下图所示。
(1)资源层。指部署各种图书馆信息服务的所有资源,包含被动和主动的对象。如,由应用系统服务商提供的信息服务、底层硬件设备(RFID传感器、读写器、智能终端设备、无线网络设备)、软件资源(操作系统、网络协议、通信协议等)、外部资源(图书馆智能空间知识库系统、用户情境本体库设计)和其他资源(RFID标签及二维码附着物、图书音像等)。通常而言,图书馆数字化过程中会存在多个异构网络,不同网络设备基于不同的方式连接,如,有线网络、无线网络,高速多媒体网络、传感器网络等;造就了物理层存在大量的私有通信协议和不同的硬件接口规范,这些协议和接口的异构性,使得物理层各资源之间的互联互通成为数字图书馆信息技术领域一个急需解决的难题。资源层一般通过传感器和执行器,主动观察、控制和捕捉服务层所需的对象数据。
图 图书馆服务中间件结构
(2)适配层。处于物理层和服务层之间,主要用于屏蔽物理层各个资源的异构性特征,以统一标准化的接口形式和服务层进行交互。适配层的主要目的是为了解决物理层基础软件异构带来的底层资源交互困难以及服务相互调用难以匹配的问题。具体的方式是引入面向服务思想,结合web服务相关技术标准以一定的适配方式把底层资源抽象为web服务,从而实现图书馆各设备间的资源共享及互操作。通常采用基于代理的方式将物理层的资源按照web服务标准进行封装。本文认为在网络协议中植入服务代理软件、应用软件及基础设备提供商在不改变现状的基础下,可以在一定程度上实现设备web服务化和服务集成。
(3)基础服务层。处于适配层之上,基础服务由应用系统提供,所有资源都能获取并共享,基础服务提供已定义好的基本服务,管理并保障应用信息及情境感知服务系统的运行;对系统的通信和计算进行抽象,用以支持服务重组和应用需求;在普适环境下负责服务发现、服务重组和服务传输等工作。不同于单一应用提供的固定服务,组合服务可能来自多个应用系统或终端设备的组合,所以系统应该具有对服务进行管理的能力。具体包括:发现其他设备及其功能;封装远端设备成为服务组件并与之保持联系;发布已知服务特点并允许远端设备访问;监测资源状态等功能。服务管理主要由三部分组成:服务发现、服务组合和服务获取。同时还需要对底层资源进行相关管理,包括:①节点管理,在动态环境下对接入退出网络的移动智能终端及节点进行管理;②数据管理,主要负责数据获取、存储、一致性检测、分析及数据挖掘等任务;③资源发现,主要负责发现新接入的服务节点并对其进行规范化描述;④资源管理,负责管理各基础节点资源;⑤资源整合,以某种方式对各个资源进行整合并完成具体任务。
(4)组合服务层。组合服务层主要是根据外部情境变化或外部服务组件可用性约束对现有服务进行适当调整。情境数据变化由情境模块获取,外部服务组件可用性由基础服务层进行检测。组合服务层主要由自适应模型、自适应解释器、服务配置设计、服务配置实施和自适应控制器等模块组成。其中,自适应建模是用户按照自己的偏好进行设置的,如,基于时间、空间、温度的需求对所提供的服务进行预置性设置。自适应建模阐述了用户类型和计划;自适应控制器协调自适应建模和实际情况的匹配度,它首先通过自适应解释器寻找最可能匹配当前情境的服务配置,如果该配置和正在运行的服务组合模式不符,则会触发服务配置设计模块,服务配置设计模块会按照最优匹配模式进行规划,最后由服务配置实施模块负责执行。为了防止服务配置被另一个自适应规划替代的频繁出现,自适应控制器可以设置一定时间范围内免于触发自适应解释器。
(5)应用层。应用层处于中间件的最高层,提供了访问软件涉及的传感器、执行器或其他服务组件的接口。依靠中间件的辅助实现了应用服务于物理层终端设备的分离;依靠中间件提供的特定端口连接,实现了包含监视和控制情境感知服务中的实际应用和组合服务应用功能。在图书馆领域,能向读者提供图书馆智能空间的各种数字化信息服务,如,自习室位置预定、温度湿度调节、灯光设置、安防监测等服务。这些应用依靠应用层提供的IDE接口进行开发,应用层主要提供的可编程接口包括情境数据管理接口、知识库管理接口、规则库管理接口、应用服务管理接口。其中,情境数据、知识库、规则库接口由其相对应的管理引擎提供,应用服务接口用于管理服务层发现的服务及中间件对服务进行适当管理。
(6)情境支持。情境辅助于基础服务层,用以支持组合服务层的实时决策。主要是负责对情境数据的获取、存储、建模、推理、抽象为更高层次的情境数据;对多样化的情境信息建模,存储和提供规范化的历史和即时信息。一般分为三个模块:情境获取、情境建模和情境推理。其中,情境获取指的是从不同的终端收集原始情境数据,既可以从单一传感器单元也可以从多个传感器组合而成。收集到的数据存储起来以便进一步使用,由于原始情境数据存在噪声数据及不一致情况,需要进行预处理操作,剔除不一致及噪声数据,然后以特定的模式形式化表述情境,即情境建模;情境推理模块为将底层情境数据归纳抽象为上一层情境数据,以便萃取潜在有价值的情境信息。当情境模块检测到特定数据变化有必要触发原有既定服务进行调整时,情境模块会依照规则库为自适应模块提供必要辅助。此时自适应模块作出及时调整并将信息反馈回情境模块。
(7)知识库支持。相对于动态情境而言,知识库是静态的知识。由情境本体库、服务规则库、工作流程规则集、服务简要描述等模块组成。其中,情境本体库指的是情境感知服务涉及的客观实体和客体所包含的本体资源描述;服务规则库包含了业务应用或是组合服务必须遵循的规则;工作流程规则指的是组合服务的工作流程控制涉及的相关规则;服务简要的描述指的是对情境感知服务中应用系统的静态、简明扼要描述。本文认为基于用户情境的本体规则推理能够更好地契合用户偏好的突变情况,结合面向图书馆情境服务规则库自动生成工作流程提供给用户,从而实现动态环境下的个性化智能服务。
图书馆情境感知服务中间件架构除了以上主要模块外,还需要考虑跨层支持管理,如,可靠性、隐私性和安全性功能设计。普适应用往往以人为中心实时提供服务支持,基于普适服务特性,服务的可使用性应该建立在情境不断变化的基础上。如,火灾预警、安全监控等服务系统的可使用性必须安全可靠,否则极有可能酿成大祸。所以,应用系统的可使用性和可靠性是普适应用必须重点关注的话题。安全性是另一个值得关注的,其中,容错性主要涉及底层设置相关的以及软件和服务本身相关的,安全性支持和隐私性相互制衡。跨系统架构服务设计允许创建一个执行框架对服务组件提供了强大的生命周期和运行风险分析管理。主要包括咨询服务、运行管理服务、安全性控制和节点配置服务功能。咨询服务指服务组件获取所需参数,保障各组件之间的通信畅通。运行管理服务负责运行过程中组件的加载和卸荷;安全性控制提供众多安全议题的处理操作,主要针对情境感知和服务组合管理的容错性和安全性支持。节点配置服务允许对运行的网络协议、无线信号强弱、资源配置、组件示例、通信安全级别设置等。
[参考文献]
[1]周园春,等.中间件技术综述[J].计算机工程与应用,2002(15):80-86.
[2]张广胜,等.面向服务的企业应用集成系统描述与验证[J].软件学报,2007,18(12):3015-3030.
[3]岳玮宁,等.普适计算的人机交互框架研究[J].计算机学报,2004,27(12):1657-1664.
[4]ATChan,SNChuang.MobiPADS:areflectivemiddlewareforcontext-awaremobilecomputing[J].IEEE Transactions on Software Engineering,2003,29(12): 1072-1085.
[5]L Capra,et al.CARISMA:context-aware reflective middleware system for mobile applications[J].IEEE Transactions on Software Engineering,2003,29 (10):929-944.
[6]K Khedo,R K Subramanian.A Service-Oriented Component-Based Middleware Architecture for Wireless SensorNetworks[J].InternationalJournalof Computer Science and Network Security,2009,9(3):174-182.
Design of Library Context Awareness Middleware Based on SOA
Zhou Ling-yuan,Duan Long-zhen
Abstract:In order to solve the heterogeneity and inconsistency among mobile intelligent terminals and network equipment, this paper suggests applying a middleware to shield the difference of terminal equipment.Considering the dynamic mobile environment, it proposes a middleware adaptive mechanism which is self-adaptive and can perceive library context.Meanwhile, the middleware is self-adaptive and can complete reservation service functionby connecting service unit with channel.
Keywords:Smart Library;Context Awareness;Personalized Service;Middleware
[收稿日期]2015-05-15[责任编辑]徐娜
[作者简介]周玲元(1982-),南昌大学博士研究生,南昌航空大学讲师,研究方向:信息管理与信息系统;段隆振(1964-),南昌大学信工学院教授,博导,研究方向:数据挖掘与知识发现。
[基金项目]本文系江西社会科学课题“社会网络环境下的用户信息行为研究”(项目编号:14TQ12),江西省高校人文课题“数字博物馆场景感知微型学习模式研究”(项目编号:DB201409089),江西省教育科学规划课题“移动情境感知微型学习模式研究”(项目编号:15ZD3L021),国家自然科学基金项目“规模养种低碳循环农业系统深度开发对策反馈仿真应用研究”(项目编号:71361022)的研究成果。
中图分类号:G250.7
文献标志码:A
文章编号:1005-8214(2016)02-0061-04