摘 要:结合物流行业的相关实践,提出将SOA体系架构用于物联网平台的建设策略和部署方式,以解决物联网平台建设上面临的一些问题。同时结合采集中间件系统,对平台扩展性与支撑性进行了讨论。 关键词:物联网;SOA;物流;中间件 中图分类号:TP393 文献标志码:A 文章编号:2095-1302(2014)10-00-03 0 引 言 近年来,物联网技术得到了突飞猛进的发展。但在实际应用中,许多物联网项目仍然面临着各种困难。在实际落地时,项目往往采用平台+应用的设计策略。其中,平台的作用尤为重要,但实际上,许多物联网项目在建设过程中,由于平台设计不够完善,致使随着项目建设的深入,暴露出越来越多的问题,造成项目无法顺利按照预想的设计完成。 针对当前物联网平台设计上的一些缺陷,我们提出了基于SOA的平台设计理念,来解决物联网项目中平台的设计问题。 1 物联网平台 1.1 物联网平台概述 在IT项目中,平台可以分为技术平台和业务平台两类。前者是一系列通用开发组件的集合及项目开发框架等技术要素。本文主要讨论用于支撑物联网业务的业务平台。一般来说,业务平台应具有两个原则:一是平台的支撑作用;二是平台的业务无关性。前者保证了整个业务系统的层次划分,和具体业务不相关的功能,应放置到平台层面,使得应用系统能够重点关注自身的业务逻辑,而不必关心通用功能或底层功能;而后者则保证了平台的支撑作用。一般来说,平台应满足开闭原则(OCP),即对扩展开放,对修改关闭。平台一旦完成之后,不应该随着上层应用的变动而频繁、大规模地修改自身。但同时,平台必须保证其开放性,即在一定的范围内,能够通过扩展自身实现对各种新的业务进行支撑。 1.2 物联网平台设计的误区 在采用“平台+应用”的建设策略时,平台的建设往往存在两个误区: (1)试图建设一个能够支持所有物联网业务或某一行业所有业务的平台 这种平台的建设策略,是希望能够支撑尽可能多的具体业务。一般来说,在物联网项目的整体建设中,都希望能够规划出这样一个平台,一方面,使得上层应用能够尽可能专注于自身业务逻辑的开发;另一方面,也希望借着本次或本期项目的建设,能够为后续新业务的扩展,奠定一个平台基础。但事实上,试图建设一个能够支持尽可能多的业务的平台,往往导致该平台只能完成最基本的一些服务。为了能够尽可能实现通用,平台会逐渐削弱自己,越来越多的功能被上移到应用层,最终仅保留了最底层的服务,从而失去了平台的支撑作用。 (2)平台过分参与了业务应用 这种误区会造成了一个应用对一个平台的结果。这种架构,固然对于系统层次划分、合作开发等方面有所帮助。但它削弱了平台的通用支撑作用,使得平台对后续扩展的支持变得很差。同时,在实际开发中,哪些功能放到应用中,哪些功能放到平台中,成为一个棘手的问题,稍不留神就会打乱集成系统的体系结构,最终使得平台成为一个有名无实的组件。 针对上述问题,本文提出了基于SOA的物联网平台开发策略,用以解决平台建设过程中的种种问题。后文将具体描述基于SOA的物联网平台开发策略。 |