基于ESB的物联网综合业务平台设计
来源:万方数据 更新时间:2014-04-04

 随着各个行业物联网(IoT)应用越来越广泛,独立业务的物联网系统已无法满足物联网业务“大规模”快速发展的需要。为有效支撑物联网各类业务,提高软件开发效率,应该面向社会各行业提供统一的物联网应用解决方案。在调研各个行业常用物联网业务系统的基础上,梳理出各类系统共性功能,把各系统的共性功能看作服务,提出一种基于企业服务总线(ESB)的物联网综合业务平台架构。简单概述了物联网平台现状,详细介绍了物联网综合业务平台各个层次的功能和接入服务、统一身份认证关键技术的实现,为物联网的统一、有序发展提供了新的思路。
    物联网是指通过部署具有一定感知、计算、执行和通信等能力的各种设备,获得物理世界的信息或对物理世界的物体进行控制,通过网络实现信息的传输、协同和处理,从而实现人与物通信、物与物通信的网络。目前,物联网已经逐渐被人们所熟悉并应用到生产、生活中的各个方面,比如自动抄表、智能农业、智能家居、智慧城市等,其实各个领域的应用具有一定的共性,例如智能农业和智能家居都会用到状态监测和远程控制等功能,但是现有的应用都比较独立,在一个行业同一个业务中甚至存在多套物联网业务系统,各个系统之间由于标准不统一,存在数据不统一、无法复用、资源浪费等问题,新建一个业务系统的时候需要自底向上全部构建,这些问题严重阻碍了物联网统一有序发展,有必要构建一个物联网综合业务平台,各个应用可以通过调用平台中包含的基本功能来实现业务目标,从而有效推动物联网业务快速发展。

  1.现状分析

  对于物联网平台,业界尚未有标准的定义和架构。近年来国内外科研单位和企业进行了大量的研究和实践。国内三大电信运营商主要侧重于为用户提供物联网数据“管道”功能的M2M(Machine-to-Machine)平台建设,大唐电信、华为、中兴等具备研发实力的公司也在积极参与物联网平台的研发,主要是将M2M平台作为产品进行销售。在通信协议方面,中国移动制定了其M2M平台通信协议——WMMP(Wireless M2M Protocol),中国电信制定了M2M终端监测控制协议(M2M Device Management Protocol,MDMP)。在平台技术研究方面,杨斌等提出基于面向服务架构(SOA)的物联网企业应用基础框架;程冬梅等提出了一个基于表达性状态转移(REpresent State Transfer,REST)架构风格的物联网服务平台,将传感节点等嵌入式设备和感知数据看作资源供上层应用调用;王平等设计和实现了基于 6LoWPAN 协议的物联网开发平台;钱小聪等提出了一种物联网业务运营支撑平台(Business Operation Support Platform,BOSP)架构,站在电信运营商的角度上对平台各个层次的功能进行了论述。国外针对物联网平台的研究起步较早,以Orange、Vodafone为主的电信运营商和Wyless为代表的物联网服务商已经针对物联网业务建立了相应的业务管理平台,他们主张将网络层和应用层功能融合在一起,统一在一个管理平台中进行维护。一些学者也提出了将云计算技术引入物联网平台中的方案,并建立了可以提供状态监测和联动报警功能的通用平台。
  
  以上研究主要关注物联网的感知层和网络层,解决了如何为物联网应用提供统一、灵活、可靠数据的问题,但是对物联网应用的逻辑实现关注较少。如何对各类数据进行合理的分析处理,在数据层之上构建出通用的综合服务层,并且提供给用户更为人性化的服务,是物联网发展中迫切需要解决的问题。陈海明等对物联网体系结构与实现方法进行了比较分析,指出物联网体系结构是设计与实现物联网系统的首要基础,从功能的角度将目前已经提出的物联网体系结构分为“后端集中式”和“前端分布式”两种类型,为本文的设计提供了很好的参考。

  2.企业服务总线

  企业服务总线(Enterprise Service Bus,ESB)是从面向服务架构发展而来的,图1为ESB架构图。 图1 ESB架构图

图1 ESB架构图

  面向服务架构(Service 0riented Architecture,SOA)是一种定义基于服务的软件应用方法,通过调用和组合实现业务流程。ESB是通过标准的整合技术,将SOA、WebServices和XML技术融合到统一的分布式架构中,搭建易于部署、可管理的整合基础设施。它既可集成新的应用服务,也可以包装原有的系统,使其提供服务接口,从而继承已有的功能,ESB充当了服务消费者和服务提供者之间的中介,实现服务组合和业务流程的自动化管理。

  ESB提供了开放的、基于标准的消息机制,通过适配器实现与其他组件的互通,在数据交换过程中提供了基于服务协议的服务查找、访问、路由功能。ESB就是试图将多种逻辑处理过程迁移到总线上,从而为各项应用提供统一服务。近年来,随着企业信息化程度的提高和面向服务体系结构(SOA)的深入应用,ESB(企业服务总线)在理论和应用方面成为软件开发、集成与部署的关键技术。
 
  3.平台设计方案

  本文所提出的物联网综合业务平台不是传统意义上的系统集成,也不仅仅满足提供底层数据“管道”的功能,主要侧重于对物联网各个具体业务的支撑。以满足现有物联网业务的实际需求为基础,从宏观角度抽取各物联网业务共性特征,对物联网综合业务平台的各项基本功能进行分析、提炼,并采用层次结构思想对物联网综合业务平台进行功能层次划分。平台的建设也不是一蹴而就的,随着物联网应用的范围不断扩大,平台应该具备高度的可扩展性,能够快速集成新的物联网基本业务,供各行业应用系统自由调用。

  3.1 平台总体架构

  图2为物联网综合业务平台总体架构。

  平台架构遵循刘云浩提出的物联网四层架构,即感知识别层、网络构建层、管理服务层、综合应用层,将综合应用层中的公共业务应用适当下移到管理服务层中,并在管理服务层引入企业服务总线(Enterprise service Bus,ESB)架构,利用WebService、XML、JMS等技术,将公共功能以服务组件的形式向平台注册,把综合业务层各业务作为服务消费者,通过ESB向各个消费者提供调用服务。平台将具体应用与服务逻辑、感知数据相隔离,对业务系统透明,上层业务系统的更改不影响平台的内容和架构,且多个业务系统可共享同一服务,实现物联网业务的统一支撑服务。 图2 物联网综合业务平台总体架构

图2 物联网综合业务平台总体架构

  3.2 平台功能

  平台各层次主要功能描述如下:

  1)感知识别层:主要负责将物联网子网中的感知节点信息接人平台,同时向上层提供访问具体接入子网的接口,接人控制器主要负责传感和视频类数据的统一接人,根据实际场景选择无线或有线方式,RHD扫描装置主要向管理服务层提供电子标签中的数据,并接受管理服务层的控制,向标签中写入数据。感知识别层是整个物联网的构建基础,同时也是综合业务平台数据的根本来源。

  2)网络构建层:主要提供可用的网络服务和可靠、实时的传输机制,提供不同类型设备通信接口,便于感知识别层各类子网数据的接入和传递管理服务层向感知识别层发送的命令,还需根据具体的应用协议增加数据的编解码模块。

  3)管理服务层:主要功能将物联网公共业务模块以及未来发展中出现的新的业务模块以服务的形式向ESB服务总线中注册,同时采用统一的业务描述语言对应用层物联网具体业务进行描述,并向下层提供有关该业务的具体实现,使加载的业务能被平台所识别,从而完成一个具体业务的支撑。为保证系统的安全性,加入统一身份认证模块,该模块作为ESB上的一个特定服务,作为服务提供者和服务消费者之间的中介。考虑到某些行业信息化建设的需要,在该层还设计出外部接口,便于和其他系统(GIS、视频会议、调度电话等)互联。由于该层需要完成公共业务的注册和物联网具体业务的统一认证和承载,所以该层是整个平台的核心,也是本文的重点研究内容。

  4)综合应用层:包括了物联网各个应用领域的具体应用,也是ESB架构中的服务消费者,业务开发者通过综合服务层所提供的统一、开放的标准接口获取接入平台的能力,可以直接调用综合服务层中的各项服务提供给用户,也可以在各项服务的基础上进行定制化开发。

  4.平台关键技术

  ESB作为综合服务层的核心,完成了连接服务提供者(基础公共、基础业务等模块)和服务消费者(应用层各业务)的功能。在处理服务接人和请求时,都是通过SOAP/XML完成的。平台需要处理的服务主要包括新建功能模块的接入、已经接入的模块通过平台进行资源交换和发送资源到综合业务层各个具体应用。所以综合服务层需要解决两个主要问题:1)在UDDI中注册服务;2)设计统一身份认证策略。

  4.1 接入服务

  接入服务就是把服务的信息存入到数据库中,在数据库中作持久化处理,将接收到的SOAP信息经过分析存人数据库中。需要对上文中所述的三种服务分别进行处理。图3是服务选择流程。 图3 服务选择流程

图3 服务选择流程

服务描述和封装实现的XML代码片段如下:

  

  

  

  

   //服务类别

  

   //服务流水号

  

  

  

    //服务类别代码

   

    //服务名称

  

   //服务来源

  

   //服务注册时间

  

   //服务数据来源

  

  

  4.2 统一身份认证

  物联网的安全与隐私对参与方有着较大的影响,需要建立相应的安全机制实现数据保密、访问控制等功能。统一身份认证是平台综合应用层各项具体业务和平台管理服务层之间交互的中介,综合服务层通过标准接口发布服务,采用SOAP封装请求和调用。把综合业务层各具体业务看作用户,当用户通过统一身份验证后,ESB查找请求的服务并返回给用户。本文采用基于证书的统一认证协议来实现统一身份认证。

  4.2.1 交互流程

  综合业务层各业务使用用户凭证以web形式登录统一认证,身份认证成功后,统一认证服务创建安全断言标记语言(Security Assertion Makup Language,SAML)令牌,并返回SAML令牌给用户,用户就可以携带这个SAML令牌访问服务。图4是业务系统与统一身份认证之间的交互流程。综合业务层各业务用户携带SAML令牌访问ESB,决策执行点(Policy Enforcement Point,PEP)把服务消费者的SAML令牌交给策略决策点(Policy Decision Point,PDP)进行验证,PDP根据用户SAML令牌及相关参数对用户进行授权。 图4 业务系统与统一身份认证之间的交互流程

图4 业务系统与统一身份认证之间的交互流程

  4.2.2 统一认证协议

  综合应用层具体业务(B)与统一身份认证(UIA)之间基于证书的统一认证协议具体步骤如下:

    1)具体业务到统一身份认证(B→UIA)。

    RB,Request,CertB,sigB{Request}

  B向UIA发送认证请求。RB为B产生的随机数,Reuest为B发出的请求,CertB为B的加密证书,SigB{Request}为B利用证书私钥对Request的签名。

  2)统一身份认证到具体业务(UIA—B)。

  RB,CertU,SigU(Response),EB(Tokensaml)

  UIA收到消息后,首先验证用户证书有效性,并验证请求签名;然后发送应答消息返回B。其中:RB为接收到B的随即数,certuU为UlA的证书,sigU(Response)为UIA利用证书私钥对Response的签名,EB(Tokensaml)表示利用B的证书公钥加密的Tokenaml。

  3)具体业务到统一身份认证(B→UIA)。

  B将对UIA的验证结果发给UIA。

  经过以上步骤,应用层其体业务和UIA实现了双向身份认证和令牌协商,共享SAML令牌Tokensaml。

  5.平台业务协作

  每个公共业务模块都可以看作是独立的系统,它们被ESB中适配器封装成服务并添加到注册表中,当服务消费者发送来服务请求时,协议适配器就从该消息中获取SOAP消息,然后经过统一身份认证,认证通过后会该消息会被继续转发至ESB中,ESB根据SOAP消息,在服务注册表中进行查找,查找与之相匹配的WSDL,并返回相应的服务调用信息,最后服务代理者根据相应的信息调用服务。图5是业务协作流程。 图5 业务系统协作流程

图5 业务系统协作流程

  6.结语

  物联网“大平台”化对于我国物联网建设具有重要意义,随着信息化程度的不断提高,企业或个人对生产、生活各个环节的质量要求也越来越高,全流程监控,以及服务整合将是未来的发展方向,物联网综合业务平台为物联网应用的快速实现提供了有利的保障。本文提出了基于ESB的物联网综合业务平台架构,构建一个高效、松耦合、易扩展、逐步趋于完善的平台,使其可以支持更多的业务应用,并对其中各层的功能及关键技术进行了阐述。本文为物联网信息服务系统的研究和建设提供了一定借鉴。目前,本系统尚处于原型开发阶段,尚有逐多功能需要完善,如平台大数据如何合理存储、数据挖掘算法的丰富等。