基于Web Service和REST API的智慧校园SOA基础框
架设计
夏凌云,龚文涛
【摘 要】首先介绍了“智慧校园”概念,并对国内高校的数字化校园过渡到“智慧校园”的过程中遇到的问题进行了分析和阐述,引入SOA概念,介绍了如何搭建SOA服务框架和利用SOA服务总线来对“智慧校园”的内部系统链接进行紧耦合的方案,并详细介绍了两种SOA服务的标准搭建模式:Web Service和REST API,阐述了“智慧校园”SOA服务框架的搭建过程和其中需要注意的事项,并分析了服务接口的加密方法和过程,叙述了服务接口的安全性如何得到保证。
【期刊名称】微型电脑应用 【年(卷),期】2016(032)009 【总页数】4
【关键词】智慧校园;面向服务的体系结构;解耦合;Web Service;REST API;HMAC
0 引言
智慧校园中“智慧”一词可以追溯到2008年左右IBM公司提出的“智慧地球”概念。在其白皮书里指出,“智慧”的策略是“充分发挥先进信息技术的潜力以促进整个生态系统的互动,以此推动整个产业和整个公共服务领域的变革,形成新的世界运行模型”[1]。我们也可以说,智慧校园是“互联网+”和“数字校园”的概括,是在数字校园的基础上,将环境感知、物联网和数字校园的信息服务相结合,加强了校园里人、物、环境之间信息的互联和协作[2],在学
校内各个组织和个体之间形成多维互动关系,通过信息流在各个系统中的自由流动和利用,来实现校园生态系统的数字化升级。
智慧校园作为一个新理念在国内高校的智慧校园发展和建设过程中也遇到了很多新问题,由于数字校园内各个系统可能是由不同的软件开发商和集成商设计实施,系统较为独立,信息重复利用率低,通过建设统一数据平台的形式,数字化校园里各个不同架构独立的系统虽然大部分已经做到了数据和信息的共享,但是还是仅仅停留在单纯数据层面,离智慧校园对信息在各个系统间自由流动的互动要求还相差甚远。
在信息化快速发展的今天,开放、创新、协作和交互成为重点,高校内部应用系统和业务流程的更迭速度越来越快,面向服务的轻应用越来越多的取代原有的面向流程管理的老应用,原有数字校园的紧耦合已不能为智慧校园的基础数据交互提供更好的支撑,如何借助智慧校园的理念,整合和改进“数字校园”的冗余数据变成一个研究热点和难点。本文分析和总结了智慧校园的相关概念,给出了面向服务的体系结构(Service-Oriented Architecture,SOA),分析了其中的各个主要元素地位与作用,研究和总结了Web应用接口在SOA架构中的应用,安全层面就授权与加密的角度进行深入探讨,提出了相应的安全策略和方法。
1 智慧校园和SOA
1.1 数字校园的紧耦合结构
经过近十年的发展,国内高校的数字化校园建设已经进入了成熟阶段,一般来说数字校园系统是由各个业务系统和公用共享数据库所组成。如图1所示。 各个业务系统与公用共享数据库之间,以及各个系统之间存在着数据和信息的
单双向传递关系。这样就存在如下问题:第一是这些离散的系统架构相对独立;第二是在系统部署期间实现的与其他系统和共享数据库的数据传递是以实现特定功能和应用为目标,数据传递过程也缺乏标准化约束。所以数字校园是由各个业务系统紧密耦合组成的一个庞大系统,系统间的紧耦合主要表现在不同系统之间的接口相互依赖度非常高,导致各个独立系统的软件升级,系统业务流程的更改或新的业务系统的引入均需与其他关联系统进行相应的数据对接和整合,尤其是新业务的不断引入,更可能会导致系统间所需的数据传递过程数量指数级增长,导致管理和维护难度加大。 1.2 SOA服务框架
面向服务的体系结构(Service-Oriented Architecture,SOA)并非一种全新和颠覆式的架构,相反SOA是随着互联网和信息系统的发展而逐渐进化而来的一种框架结构。SOA架构是一个典型的松散耦合架构,以网络和Web作为基础,使用XML,JavaScript Object Notation (JSON)等标准消息协议以允许多个独立和分散的系统进行协同合作[3]。如图2所示:
SOA架构使用了3种角色(服务提供者,服务使用者和注册中心)和3种基础操作(发布、查找和绑定),来实现各个系统间的信息传递接口和传递流程标准化[4]。
SOA不局限于一种语言,也不是一种具体的技术,而是一种设计方法和体系。SOA服务框架分为数据集成层、服务层、业务层和表达层[5]。数据集成层为各个业务信息系统定义统一协议和访问接口,将各种结构化和非结构化的信息数据以统一的接口放入数据总线,并在数据总线上按标准的格式进行传输;服务层用于将数据总线上的数据实例化,包装成一个一个具体的服务包。数据集成