基于微服务架构的校园网门户设计
2020-06-22周著荣邵晨龙曾文艺
周著荣 陈 涛 邵晨龙 曾文艺
(1、武汉铁路职业技术学院,湖北 武汉430200 2、汉船舶通信研究所,湖北 武汉430200)
1 概述
随着高校校园管理逐渐向数字化方向发展。利用网络的高效、灵活扁平化特点,使高校的各种资源得到充分的利用和共享。建设数字化校园是适应外部竞争发展要求、提高高校科研教学管理水平、改善高校校园文化和自身形象的正确方向;也是体现高校切实提升师生服务质量、充分利用各种资源调动广大师生学习生活热情与活力、增强校园信息化建设水平的内在要求。
校园管理数字化通过校园园区网承载设施、园区基础服务、应用承载、数字化服务以及门户层构建而成,门户层是整个园区的中心节点。
2 校园园区门户需求分析
师生是高校的服务对象,教、学是其核心,因而校园园区管理数字化的关键和突破口应该是教与学两个相关过程的信息化,最直接的服务对象即广大教师和学生群体。
对于通用的校园门户,应该具备包括用户和门户交互、用户和用户交互以及门户和门户交互三重主要功能,具体分析如下:
2.1 用户和门户交互。用户和门户交互是校园门户乃至所有门户的最突出功能,校园网应尽可能向师生提供校园教学管理、教务管理、党建组织、文体娱乐、生活便利等设计在校各类人员的方方面面的在线交互功能。
(1)单点登录。当用户同时访问多个不同类型的应用系统时,无需进行重复登录,便能通过一套账户、口令在各应用系统中穿梭并使用相应账户权限执行系统的各类数据操作。单点登录实现了跨系统、跨应用的用户认证切换问题,用户在同一校园门户下不同应用之间的切换,无需重复认证,而交由单点登录认证节点实施认证操作。(2)内容管理。内容管理通过基于站点的文件索引和文件存储等手段和技术,提供用户账户相关的文件,包括涉及校园园区网各主要应用的内容以及用户私人创建的文件等,实施统一的归档和调度;并向特定用户提供文件的新建、编辑、审核、发布以及资料查询、存储、读取等操作。(3)应用集成。校园门户最基本的职责就是完成应用归集,为校园各类应用系统实施集成,以便各类信息的统一访问和协同处理。支持现有的、待部署的、待更新的各项应用及其文件库的内容归档。依据不同的应用需求采取对应的策略实现集成,实现异构应用系统、数据源、网络资源等之间的贯通。
2.2 用户和用户交互。在目前所运行的校园门户下,教师与学生、学生与学生彼此、教师与教师彼此往往缺乏互动的桥梁。尚未发挥网络平台的潜力,以利创新和丰富教学过程,从时间和空间上对教学过程进行补充完善,未能提供师生之间的交流展示平台,实现对教学过程或教学成果的资源共享。
2.3 门户和门户交互。一般而言,门户是一个相对独立的应用集合,在现有门户实现案例中较少存在门户之间的交互,而如果门户之间能借助互联网实施资源分享,拓宽校园园区内用户对互联网端海量网络资源的运用,是符合互联网发展思路下的知识共享以及广大师生自身利益的一项实践。
3 校园门户系统架构
软件架构的演变经历了多个阶段:早期的单体式到SOA 架构,再到颗粒度更细的微服务架构。
3.1 软件系统架构分析比较。单体程序一般出现在规模较小的应用系统,具有高效率、短周期、小体量等特点。但在面临较复杂的应用过程中,存在开发过程灵活性方面的不足,且开发受限于技术栈,单体程序的后期维护会随着时间线以及人员变化愈发困难,代码日渐臃肿。
基于SOA 架构的系统是一组相互依赖的服务和通讯中间件构成的系统。通过服务发布的方式进行服务之间的相互发现和调用。然而依赖包括中间件在内的消息总线技术,使系统变复杂,限制了SOA架构应用的扩展性、灵活性以及伸缩性。
微服务架构是在SOA架构的基础上进行的改进和延伸,微服务架构通过对服务进行有效切割划分并组合的方式来完成应用系统的搭建,单个服务模块独立开发打破了相互依赖甚至独立部署。不同的服务模块之间通过轻量级的交互方式进行通信。
3.2 校园门户功能架构分析。针对校园门户应用场景和主要功能特点,对校园门户功能架构进行如下划分,功能架构图如下。
(1)统一认证:统一认证对任何信息门户而言属于基本功能,校园园区网也不例外,主要功能实现有单点登录、单点登出。(2)数据中心:数据中心是对各类数据资源的集成,包括校园应用、校园信息存储、校园资讯、校园活动等信息资源,以应用中心、资讯中心、活动中心、资源中心等方式封装。(3)校园社区:校园社区是学校园区门户一大特色,集信息发布、论坛交流、社团活动、跳蚤市场等功能的网络社区,向师生提供独立于课堂之外的校园文化生活交流平台。(4)工作流:工作流通过对校园协同办公的工作流程及操作进行抽象、概括并加以集成,实现业务流程的部分或整体在计算机应用环境下的自动化处理,提供服务申请、服务处理、流程反馈、集中展示等功能。(5)后台管理:后台管理为管理团队、运维团队等提供针对本系统运行的日志查看、用户注册注销管理、用户监控审核、业务流数据维护、信息资源维护等操作,实现应用系统运维。(6)通知管理:通过统一的接口实时获取通知消息,包括流程提醒、邮件通知、成员消息、成员通知等类型。
4 校园门户的微服务实现
校园门户主要微服务实现如下:
4.1 认证微服务。认证微服务包括校园门户应用的单点登录和登出。这样用户只需通过一次账户注册,实现对各信任的多个应用的任意访问。基于CAS框架的单点登录实现是使用最广泛且最简单、安全、有效的方式。
基本思路是通过部署CAS Server 负责对校园应用用户的认证。通过部署CAS Client 处理对客户端资源的访问请求,与CAS Server 进行验证,完成身份确认。
4.2 数据中心微服务。数据中心主要实现校园数据的交换、共享与融合,提高校园信息资源的使用效率。通过实现数据源、数据交换节点、共享数据库、数据访问接口几部分达成。
数据源主要由校园相关业务应用系统的核心数据组成,是最基本最重要的校园数据;数据交换节点是数据中心的核心,是整个系统的信息传输、信息交换总线。通过数据抽象、转换、装配等措施,实现从校园应用系统各个数据源中采集数据并向数据中心汇聚;共享数据库通过将校园应用系统使用的各类数据进行集成、存储,向师生提供应用相关的数据服务,按照类别对数据项进行索引,以数据目录的形式向各类校园应用提供服务;数据中心的上线实现了结构化、标准化的数据使用接口调用以及数据管理接口调用为校园各类应用提供信息交换。
4.3 工作流微服务。工作流微服务是校园管理应用的基础服务,通过Activiti 业务流程管理引擎技术框架实现业务工作流的部署流程定义和在线工作流的申请与审批,实现高效、可编程、稳定的业务流服务。
通过在业界最流行的Spring 开发框架下对Activiti 框架进行集成,利用Activiti 框架提供的流程引擎组件和流程设计器,设计出具备图形化的业务流程模型的流程管理方案。通过独立的工作流微服务,解除了工作流与业务系统的耦合,同时也让业务系统释放大量针对工作流的精力而关注业务本身。新的应用或服务在需要使用工作流服务时,可以跳过对Activiti 框架的整合,直接重用工作流微服务的相应接口,实现各自的业务操作,就可以完成工作流的工作。
5 结论
校园门户是校园信息化建设的基础,通过对微服务技术架构的研究与探索,为校园门户构建适应校园应用特点及需求的具有低耦合、可扩展、可复用、轻量化的校园网门户系统。在具体实施过程中,应着重加强对现有校园信息资源的数据模型研究,确保信息资源切实有效的利用,并在后续的应用进程中得以扩展。