智慧校园综合业务平台的ESB架构分析与研究
扫描二维码
随时随地手机看文章
引 言
智慧校园[1] 是指以物联网为基础的智慧化校园工作、学习和生活一体化的环境,这种一体化环境以各种应用服务系统为载体,将教学、科研、管理和校园生活进行充分融合。目前, 国内外在智慧校园平台的架构设计与开发方面做了相关研究: 文献 [2] 提出利用云计算、虚拟化及SOA 构建校园云,结合物联网、RFID构建智慧校园,实现资源动态分配,提高资源利用率 ;文献 [3] 提出一种面向私有云的IaaS架构的智慧校园信息化支撑平台,为云计算在智慧校园平台的建设应用提供了基础;文献 [4] 提出基于SOA的实时服务总线,用于构建分布式实时系统 ;文献 [5] 在分析远程教育平台缺陷的基础上提出了基于SOA的智能远程教育平台的概念,并给出了平台架构和模型的实现方式;文献 [6]提出一种基于企业服务总线(ESB) 的共享平台架构模型,并以 贵阳市城市综合应急管理共享平台 为例探讨了该共享平台的实现方案,这为利用ESB 技术实现智慧校园平台架构设计提供了理论依据;文献 [7] 在调研各个行业常用物联网业务系统的基础上,梳理出各类系统的共性功能,把各系统的共性功能看作服务,提出一种基于企业服务总线的物联网综合业务平台架构;文献 [8] 在综合分析了WebServices,SOA和ESB三者之间联系的基础上给出一种基于ApacheSynapseESB平台的应用集成规则。这些研究对物联网技术和SOA 应用在智慧校园平台建设方面具有一定的借鉴意义,也为利用ESB 技术构建与实现智慧校园综合业务平台提供了一定的技术基础。
1 ESB简介
企业服务总线(Enterprise Service Bus,ESB)是传统中间件技术与XML、Web 服务等技术结合的产物,是 SOA 的一种实现方式[9]。ESB 主要提供了协议转换、消息传递、消息转换和服务路由等功能。在众多ESB 实现工具中,Apache Synapse 是一个轻量级高性能的企业服务总线, 通过一个快速的异步规则引擎,能分别提供 XML,Web Services 和REST 的支持。除 XML 和 SOAP 外,Apache Synapse 还支持其他中间内容格式,如纯文本、二进制、JSON 等,通过大量的适配器可以支持诸如 HTTP(S),POP3/IMAP/SMTP 邮件协议,TCP,UDP 等传输协议,以支持与其他系统的通信[10]。
2 基于ApacheSynapseESB 的智慧校园综合业务平台的架构设计
2.1 平台的总体架构
本文提出的基于ESB 的智慧校园综合业务平台,不仅要解决智慧校园综合业务平台建设过程中存在的 信息孤岛问题,实现异构系统之间的集成与通信,还要侧重满足基于物联网应用技术智慧校园的智能化管理功能。为此,结合Apache Synapse 的特点,本文给出一种基于Apache Synapse ESB 的智慧校园综合业务平台的架构设计方案, 如图 1 所示。利用ESB 技术实现平台架构的最大特点在于组件服务化和业务编排,在平台架构中,还引入了服务组件框架(Service Component Architecture,SCA) 编程规范机制来实现业务组件的服务化处理以及利用业务过程管理(Business Process Management,BPM)实现业务服务的彼此串接。
平台采用 3 层架构设计,即基础设施层、服务管理层和应用层。在服务管理层引入Apache Synapse ESB 企业服务总线,主要负责向SCA 组件模型传入基于JMS 传输协议的SOAP 消息以及接收BPM 流程管理传入的基于JMS 传输协议的SOAP 消息。同时服务管理层还以服务适配器的形式封装基础设施层提供的基础功能,而后通过 SCA 框架规范化这些服务适配器为基于SOAP 的Web 服务。这些基于 SOAP 的Web 服务又供 BPM 消费使用。在应用层则通过HTTP 传输协议向ESB 传入SOAP 消息,而此时Apache Synapse ESB 不仅要实现 HTTP 协议与JMS 协议的转换,还要根据消息的内容使用路由规则调用相应的服务。
2.2 平台功能
平台各层次的主要功能描述如下:
(1) 应用层主要分为应用表示层和业务逻辑层。应用表示层包含了智慧校园领域的各项功能应用,并提供了一个良好的人机交互平台,通过人工操作触发驱动业务逻辑层接口,实现对底层服务的调用。业务逻辑层起着承上启下的作用,除了要向上层提供良好、灵活的业务逻辑接口以供调用,还要向下发送基于HTTP传输协议的 SOAP消息给ApacheSynapse ESB总线,实现对服务的调用。
(2) 服务管理层大致可以分为 ApacheSynapseESB总线、SCA 组件层、BPM 业务流程管理和服务适配器层四个部分。
Apache Synapse ESB 总线是服务管理层的核心部分,主要利用Apache Synapse ESB 所提供的功能实现消息的传递和转换、协议的适配等,实现异构系统之间基础业务协同能力以及数据交换和共享能力。
SCA 组件层将服务适配器层提供的各种形式的服务适配器通过 SCA 框架定义和创建基于SOAP 的Web 服务,以供BPM 业务流程管理使用。
BPM 业务流程管理利用SCA 组件层提供的服务组装创建可建模、可执行的业务流程,并将其服务化为 SCA 组件, 供Apache Synapse ESB 使用。
服务适配器层主要设计开发不同语言环境下的服务适配器接口,向下实现调用平台底层的基础业务功能,向上提供一个可调用的良好接口。
(3) 基础设施层。可以将其划分为基于物联网技术的智能化管理系统、数据库系统、历史遗留的业务系统和可扩展接口四个部分。
基于物联网技术的智能化管理系统主要利用物联网技术将该部分分割为感知层和传输层。感知层主要负责将物联网中各个感知节点的信息接入平台;传输层具有多种类型的通信接口,便于感知层感知节点的信息接入以及传递服务管理层向感知层发送的命令。
数据库系统提供有数据库管理系统,便于各种业务数据的保存和读取。
历史遗留的业务系统保留着现有的业务系统,以便通过扩展现有的业务系统接口提供基础业务功能。可扩展的接口主要包含平台的可扩展业务,如邮件服务等。
2.3 平台的UML部署图设计
基于Apache Synapse ESB 的智慧校园综合业务平台的UML 部署如图 2 所示。在该部署图中,主要有 2 个服务器, 即SCA 服务器和ESB 服务器。SCA 服务器主要负责将各业务功能和 BPM 服务化 ;ESB 服务器则负责将服务化后的 SCA 组件进行部署,以供客户端使用。其他各个业务系统以结点的形式通过通信协议连接到SCA 服务器,从而实现业务功能的服务化。
图 2 基于Apache Synapse ESB 的智慧校园综合业务平台的
3 结 语
本文提出了一个基于Apache Synapse ESB 的智慧校园综合业务平台架构,构建了一个高效的、易扩展的、趋于完善的平台,使其可以支持智慧校园领域的更多应用,并对架构中的各层功能、平台硬件和软件的部署情况进行了阐述,为智慧校园综合业务平台的构建与研究奠定了一定的基础。目前,该平台还处于分析与研究阶段,仍有一些功能未能完善,如平台如何处理文件传输和实现存储功能,以及如何使用Apache Synapse 实现本文所提及的ESB 架构,这些都是后期将要继续研究的主要问题。