基于SOA的物联网应用基础框架
1 概述
物联网(Internet of Things, IOT)[1]是在计算机互联网的基础上,利用无线射频识别(Radio Frequency IDentification, RFID)、无线数据通信技术,构造一个覆盖万事万物的网络。在该网络中,物品能够彼此进行“交流”,而无需人为干预。其实质是利用射频自动识别技术,通过计算机互联网实现物品(商品)的自动识别和信息的互联与共享。在“物联网”的构想中,RFID标签中存储规范、且具有互用性的信息,通过无线通信网络把它们自动采集到中央信息系统,实现物品的识别,从而通过开放性的计算机网络实现信息交换和共享,实现对物品的“透明”管理。从网络结构看,物联网是通过Internet连接众多RFID应用系统并在广域网范围内对物品身份进行识别的分布式系统。物联网的网络硬件系统包括各种RFID应用系统和覆盖全球的Internet网络。Internet上的计算机终端是RFID应用系统中的计算机,通过Internet和RFID应用系统的后台信息系统使其更加丰富和容易理解。无线射频识别技术的出现及应用发展,使得物联网可以实现与现代工业企业内部现有网络系统进行信息整合,同时可以优化内部物流供应和优化企业流程,提高工业企业内部的生产效率和产品质量,从而提高整个企业的核心竞争力。设计和开发基于RFID技术的现代工业企业物联网系统技术,以便企业可以及时、准确地获取宝贵的生产数据,并对数据进行分析处理、减少生产浪费、缩短产品周期,在进一步提高产品质量和效率的同时,提高企业的综合竞争力。
当前物联网应用更多的是针对底层技术进行研究,如物联网编码技术、识别和防碰撞技术等。如何对海量物品信息进行后期地高效利用,对各类服务进行整合,并且提供给企业或个人更为人性化的服务,是物联网最终取得成功应用的关键。面向服务架构(Service-Oriented Architecture, SOA)[2]是一种将信息化模块化为服务的架构风格,面向服务架构的核心是实现服务和技术的完全分离,从而达到服务的可重用性。拥有服务后,用户可以通过编配这些服务给企业或个人的业务流程带来更持久的生命力。SOA的主要组成部分涉及3个方面,这是由SOA中的3个主要角色决定的,分别是服务提供者、服务注册(或服务注册中心、服务注册机构等)和服务请求者(或称客户端),并且它们对应于体系结构中的相应模块。物联网中带有RFID的各类嵌入式设备既是SOA应用中天然的服务提供者也是SOA体系中天然的服务请求者。将SOA整合到物联网的服务应用中,可以对松散耦合的粗粒度应用组件进行分布式部署、组合和使用,实现了服务提供和和服务具体使用方式的分离,从而实现对各种粗粒度松耦合服务的集成,为处理企业应用中的复杂性问题提供有效的解决方案。
2 面向服务的应用体系结构
SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
文献[3]将SOA定义为:本质上是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也可能是2个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。另外,文献[4-5]给出了SOA的不同定义。虽然不同组织对SOA有不同的理解,但是仍然可以从上述定义中看到SOA的几个关键特性:它是一种粗粒度、松散耦合服务架构,服务之间通过简单、精确定义接口进行通信,不涉及底层编程接口和通信模型。SOA不是一种现成的技术,而是一种架构和组织IT基础结构及业务功能的方法。SOA是一种在计算环境中设计、开发、部署和管理离散逻辑单元(服务)的模型。在物联网的条件下,各种原本封闭的资源也将以服务的形式开放出来,Internet上的原有资源和新出现的资源已经或者正在以服务的形式存在,因此,研究基于SOA的融合物联网应用技术是很有价值的[6]。
传统企业控制过程系统,如生产、物流等,企业内部通常汇集了多种不同的商业软件系统,它们利用不同的数据标准和通信平台,这无疑增加了企业运营和管理成本。为了获得业务灵活性,许多企业都在向面向服务架构迁移。该架构能提可重复使用、共享且高可用的关键业务流程服务。图1显示了SOA的基础逻辑部件,为更深刻地理解SOA基础结构,可以将SOA基础结构划分为3个子部分,如图2所示[7]。
对于图2中5个部分,在SOA中的具体意义如下:
(1)消费者(Consumer):利用生产者提供服务的实体,如移动终端、Web客户等。
(2)应用(Application):提供应用接口或不同程度的松散耦合服务,如移动应用、Web应用、富客户端等。
(3)服务(Service):执行涉及特定任务的实体,如数据中心、企业信息中心等。
(4)服务支持(Service Support):为SOA提供特定的应用背景支持功能,如安全、管理、语义解析等。
(5)生产者(Producer):提供特定服务或者功能的实体。
3 基于SOA的物联网应用基础框架
实际生产实践过程中通常包含不同硬件和软件类型,数据格式和通信协议通常也存在多种标准兼容性的问题,物联网为这些基础设备提供了信息标识,这些带有RFID的嵌入式设备可以作为生产者同时也可以作为消费者出现。但对于服务的整合、兼容各类数据和协议还需要借助面向服务架构。因此,本文提出基于SOA的物联网应用基础框架如图3所示。
图3 基于SOA的物联网应用基础框架
从图3中将SOA与物联网相结合,将原有SOA 3层架构细分为6层体系。
服务提供者,即生产者,可以是利用了RFID技术的各类设备,可以是产品、计划以及生产设备,具备了RFID功能的设备或者产品的数据信息将在企业规定的产品生命周期内被全程跟踪。
数据处理平台是SOA框架的第1层,这层将负责海量数据信息的安全验证,对受“污染”的数据进行排除和过滤,保证数据的完整性和安全性。为了对数据进行统一调用,需要利用XML和元数据技术对海量异构数据进行一致性和标准化处理,为数据的统一利用提供可能。
安全平台是服务平台和数据平台之间的安全屏障,对设备和数据的安全负责。服务层主要是提供通用接口和代理服务,数据通用接口负责解析各层的数据调用指令,屏蔽不同的数据库和数据格式,同时有利用于各种数据库的分布式部署。
应用通用接口可以与上层消费者联系,其主要目的是对不同类型的用户使用的通信协议进行解析,实现各种通信协议的兼容。服务层的关键部分是设备管理服务、服务代理和通信代理,构成数据处理和上层应用之间的桥梁。服务层还将面对物联网应用过程中遇到的网络连接资源受限以及应用平台不同等问题。由于物联网的底层设备极其丰富,SOA体系提供网络服务的过程中需要考虑发送延迟以及资源调度的问题,在网络服务中需要提供多种路由或者使用延迟容忍网络技术来应对。同时,SOA体系还需要相应的均衡调度算法均衡网络资源。不同的应用平台要求SOA体系有更通用的设计模式,首先会考虑不同RFID设备之间的标准,其次是上层用户之间不同的访问平台。
在整个应用基础框架中包括2个安全平台,安全管理是企业应用正常运行的基础保障,尤其针对数据安全、用户身份和访问控制的管理。本文框架可以采用单点登录(Single Sign-On, SSO)方式实现用户对所有网络资源、所有应用系统的统一登录,用户一次登录,即可访问其有权访问的所有系统资源。身份管理采用LDAP目录服务器认证管理。它可使新的应用程序利用现有基础架构进行用户管理,从而缩短了部署和管理新应用程序的时间。采用访问策略管理提供严密的权限逻辑。采用角色驱动的访问控制策略,根据用户的不同角色,按访问者的权限、定制的页面内容以及访问者使用的终端等个性化的参数向访问者推送其定制的内容,对不同报表或主题分配相应的内容访问权限和操作权限,加强对敏感数据、密级数据的严密隔离和控制,保证数据和访问的安全。从图3的SOA应用基础框架可以看出,整个框架的基础是由RFID网络构成的数据流,从底层的基础数据到上层的服务请求数据都是带有RFID的,在中间的SOA架构中,这些海量的RFID数据构成了整个应用的基础。
在开发方面,选用如图4所示的开发平台框架,在SOA的实现过程中,主要有2种实现技术:.Net平台和Java平台。借助灵活多样的开发框架,用户不仅能进行高效应用集成的部署和运行,还能对软件生命周期进行管理。
4 结束语
随着全球一体化、工业企业自动化和信息化进程的不断发展,企业或个人都对生产、物流以及销售等各个环节的质量的要求越来越高,全流程监控以及服务整合将是未来企业发展方向。物联网的出现为企业生产的全过程监控提供了可能,利用RFID技术可以有效地解决现该问题。面向服务架构可以有效对各类服务进行整合,提高企业整合的高效性,降低重复工作带来的损耗。因此,本文提出基于SOA的物联网基础应用框架,并对其中的核心组件及开发平台进行了阐述。物联网和SOA的整合研究对于我国物联网建设具有重要意义,本文为物联网信息服务系统的研究和建设提供了一定借鉴。 (《计算机工程》第36卷 第17期)
基金项目:教育部科学技术研究基金资助重点项目(107115);国家“863”计划基金资助项目(2007AA04Z169);国家自然科学基金资助项目(50674010)
作者简介:杨斌(1979-),男,讲师、博士后,主研方向:无线传感器网络,通信技术;张卫冬,副教授、博士;张利欣,讲师、硕士;章立军,副研究员、博士;时鹏,讲师、博士