中南民族大学:体贴入“微”构建信息化微服务
智慧校园背景下的信息化微服务,就目前而言,它应该架构在已建成的数字化校园各基础平台之上,包括信息门户平台、数据共享与交换平台、统一通信平台、大数据分析平台、统一身份认证平台、互动教学或教学资源库平台,以及众多的职能业务系统,以催化剂的方式将各个平台和业务融合形成微服务的核心,即微服务不能脱离现存平台,但又高于每个平台和系统的既定运行逻辑和应用群体,它将跨职能跨部门的业务或数据串联成更贴近师生、更便捷管理的服务内容,用户只需发出需求指令,指令涉及的分析计算、数据抽取、业务流程等都通过原有平台获取和加工。简言之,原有的业务系统与平台仍然各司其职,做各自擅长的业务领域和业务流程,微服务以具体的,甚至很微小的服务需求为本,将不同平台与系统搭建沟通桥梁。微服务的内容多为一个平台或系统自身无法解决的服务需求,包括不足以新建一个软件项目或不值得新建一个软件项目来解决的具体问题。
构建信息化微服务的目的是梳理原有信息化建设过程中落后的、痒而不痛的服务环节,基于信息化全局优势,构建一套具备快速开发,由校本人员简单培训就能定义功能与服务的信息化能力,精简事务流程,提高业务系统基本数据共享与利用能力,以小事不小的理念和微服务体现信息化建设的价值,拉近师生用户对信息化建设的认同感和满意度,这也是对信息化重建设轻应用的理念转变和管理模式创新。
如何构建微服务
微服务不是一项服务,可以有许许多多不相关联的服务项组成;微服务也不是某一项或几项固定的职能,因此它也不是任何一种管理信息系统;微服务不是综合服务,类似门户的平台对微服务而言太过庞大。本文认为,微服务应有两种释义,一种是服务的事项本身是微小的,但能够基于信息化手段提供更贴近用户的服务体验;第二种是将大型或繁琐的服务事项微小化,以精简的流程手续服务师生。
微服务架构设计
智慧校园背景下的微服务,我们把它定义为基于成熟的社交平台构建与用户互动界面,重新融合已建成的管理系统和信息平台,催化出跨界的服务功能,核心理念是将大型且复杂的应用分解为小且内聚的服务,将没有归属的小需求实现为微服务。如图1所示为微服务架构设计示意图。
从垂直方向来看,微服务构建与系统平台构建是两个不同的方向,大系统与大平台侧重的是大而全,定位在通过一个系统平台尽可能收纳更多的功能与服务,开发的周期较长,开发过程涉及不同业务系统之间数据流的复杂联系,有赖于系统承建厂商的支持,功能迭代与扩展面临较高复杂度。微服务注重的是轻量服务,定位在以自有力量快速地解决信息应用上的痛点和难点问题,开发必须快速响应,因此以应用催化层关联其各个业务系统、数据库以及各个已建成平台,将各个业务系统和平台所擅长的事情仍交给各系统和平台去处理,应用催化层起到融合的作用,将流程性功能送回原系统平台去处理,将结果性数据直接拿来使用,这样就能最大程度保证应用催化层的轻量。数据交互接口比较XML和JSON两种格式,以JSON格式传递给消息收发前置更适合机器处理,消息收发前置也是一个轻量的功能结构,对内请求和获取消息结果,对外与社交平台进行消息转码和收发,在拓扑上也隔离内部系统与外部社交平台。
从水平方向来看,微服务架构设计是可扩展的弹性架构,一个应用催化结构可基于一个微服务功能关联多个应用系统或数据库,也可按URL或SQL等不同事务划分给不同的应用催化结构处理。消息前置结构能以多种方式实现负载均衡与冗余,对应应用催化层即可一对多,也可多对一,对应社交平台也能做到逐一对应或集中对应。
应用催化层和消息前置的功能编程,均可由开发人员选择自己熟悉的编程语言,使微服务可以吸纳更多的技术人员参与其中,不同的开发语言实现不同的微服务功能,相应创建多个应用催化结构,每个微服务也就实现了相对隔离,即使某一个应用催化结构存在Bug也不会影响到其他微服务的运行。此外,由于应用催化层是一个轻量结构,相应代码的行数则有限,这也使得代码的阅读与检查变得可行。
交互界面上,微信、钉钉等都是用户熟悉的移动社交平台,作为微服务的入口更贴近用户的使用习惯,在操作方式和功能发现上门槛更低,还可省去美工设计而更专注于服务功能实现,这使得微服务在未来具有更宽广的应用场景适应性。此外,作为公共社交平台,不用担心微服务使用热度增加后的资源扩充,节省的人力和财力都可投入到更直接的微服务应用中。
安全方面,应用催化层与其他系统平台保护在数据中心内,它与消息收发前置交互数据仅为JSON格式,不需与数据中心外部有其他任何通信,阻断了被破坏或被利用的可能,而消息收发前置与社交平台只是收发消息,并且限定社交平台的接口IP,真正与用户交互发生在社交平台终端,用户发出的功能指令由社交平台处理,再转向消息收发前置,也就是说,用户与微服务的交互并不直接面向消息收发前置,由用户端发出的威胁均有移动社交平台抵受,也就进一步缩小的安全风险。
微服务构建流程
基于微服务架构设计,微服务的构建在开发时间、人员数量、版本迭代周期等方面都要优于普通软件开发项目,如图2所示为微服务构建流程示意图。
不同于一般大系统或大平台的建设,微服务的需求出现在已有系统和平台之外的应用难点和管理痛点,这些新兴的问题有的随着信息化快速发展而来,如师生服务如何快速在移动端形成服务能力;有的伴随信息化建设的条块分割而来,一项流程性功能既不属于现有的每一个业务系统,也没有专门的系统与之对应;有的仅仅是一个公共信息查询就可解决的问题,不值得再去花费人力与财力建设专门的页面和后台管理。微服务就活跃在这些事情虽小,信息技术要素样样俱全的服务上。
微服务探索
通过十二五期间信息化建设和积累,永利官网逐渐完善了管理信息系统和系统平台的建设,数据中心公共数据库也积累了一定的基础数据,这些都为微应用构建创造了良好基础,在大数据应用与智慧校园声浪此起彼伏之中,我们也确立了以微服务为主线的智慧校园建设路径,设想经过十三五新一轮信息化建设之后,由一组组小的微服务凝聚在一起的服务型智慧校园将从蓝图变为现实。
1.学生在校情况预警分析
学生管理是多元和复杂的,学生在校期间的各种突出情况屡有发生,最头疼的问题,莫过于如何及早发现,以便及时干预,改变目前被动知晓的窘境。
暂不论各种极端情况,通常一个学生在校学习期间,出入寝室、校园、图书馆、食堂都有基于IT基础设施的记录,当个体的规律发生变化,或区别于其他轨迹相近的人时,大数据分析就能读出其中的异常将其找出。然而,大数据平台擅长的是如何找出我们想要的异常,谁可以获取这个信息,以及如何获取都不是它所擅长的,于是,由微服务作为与管理的交互界面,将数据结果取回,匹配学工系统的基本信息通过微信企业号定向投递给辅导员个人,做到过程上的直达无泄漏,辅导员收到信息后即可不动声色的开展排查与关爱工作。学生在校情况预警这项功能原本并不属于已有业务系统的既有功能,在大数据分析平台中也仅仅是一项分析模型,微服务在其中搭建系统之间的桥梁,用户无须知道后端复杂的数据联系与系统交互,就是接收信息这么一件微小的服务解决了管理上的痛点。
一个不可回避的问题是个人隐私。在技术层面,大量数据交给系统去处理,相关人员并不参与到数据筛选,分析的结果是数据与数据之间关联性的结果,分析的过程并不针对每个个体其它事情进行关联,以避免侵犯个体隐私,同时,大数据分析的只是一种潜在的可能性,仅有辅导员可获取该信息,利用这个结果以更有效地帮助学生度过可能发生的转折,并不将其作为认定性的依据来使用,从而避免直接或间接的信息滥用。信息技术部门严格遵守数据安全存储的标准,将保密制度、人员管理与技术应用结合起来,以严格的规章建立牢固的信任机制,促进未来更好的利用大数据。
2.迎新自助查询
随着近几年数字化迎新的流行,网上选宿舍、网上缴费、网上预报到在带给人新鲜感的同时,也简化了新生报到的手续和流程,但是,现场迎新仍存在一些迎新系统无法解决的信息不对称难题:迎新系统没有移动版,在手机上查询效果不佳;固定的查询机解决不了突发的查询等待;不断流动的志愿者随时需要获取变化的信息;新生在每办完一项手续后也希望获取动态的报到流程,还有一些实时的在线咨询等。以微信企业号为界面的微服务恰好能弥补这些短板,微服务迎新功能如图3所示。
新生在收到录取通知书后,即可依次登录门户,激活学校的云邮箱,以学校邮箱关注微信企业号或加入钉钉企业号,如果新生所在地区条件有限无法使用移动网络,也可选择短信按照规定的格式发送查询请求,微服务判断该手机号开通了企业号服务,则从企业号回复,若未开通企业号,则以手机短信回复查询结果。企业号的APP本身就是大家熟悉的移动端APP,几乎每一部能上网的手机都安装有微信,新生在操作上没有任何障碍,一旦选择微信服务,即可动态地查询自己的住宿信息、辅导员信息、报到流程等,可以通过微信直接找到志愿者进行沟通和咨询。志愿者除了在微信上直接回复新生咨询,还可通过钉钉免费电话功能直接以回电的方式与新生进行沟通与联系,钉钉的消息状态标签也能让志愿者准确把握回复的信息是否已读。以微信为界面的微服务有机地将迎新的“最后一百米”衔接起来,解决了有系统可查却不方便查询,有现场服务却无法精准服务的难题,实现了工作人员与新生的信息实时对称,减轻了工作人员反复为新生查询宿舍等资料的繁琐,改进了入校报到的信息化体验。
在2015年迎新过程中,管理人员在迎新现场需要随时获取已报到人数的实时信息,然而现场并不方便去使用PC机进行查询迎新系统,这一需求在交给微服务开发团队后,仅2小时就完成在微服务上的功能实现,这一快速迭代能力不仅让管理部门刮目相看,也是微服务体贴入“微”理念的一次完美展现。
3.车辆查询
平安校园的日常管理中,机动车辆主要由机动车门禁管理系统实现进出校园的管理,实际管理中,安防队员经常有需要查询车牌找到车主的需求,通过电台呼叫固然可以获取信息,但并不方便,而且安防队员大多为外聘的合同工,人员流动频繁,除了对手机操作相对熟悉,对登录系统查询等操作还不如对讲机呼叫便捷,因此,若能实现手机端的查询是最佳的途径。然而,该系统运行在专用的校园安防网络中,与校园网是隔离的,同时对于手机端查询的功能而言,机动车门禁系统并不支持移动查询的功能,即使同意开发也需要不少的预算经费,更不用说后期版本维护与迭代可能面临的问题。
在技术层面,该需求只须读基本数据,能够在移动端有一个入口输入车牌,文本显示车主信息的界面即可,立项建设面临小题大做,放之不管又影响管理时效,微服务能够为此“止痒消痛”,如图4所示为车辆查询与管理微服务示意图。
在安防的私有网络中搭建前置机,以JSON格式文件化提取车辆和车主数据信息,前置机与应用催化层仅仅是JSON格式的数据交流,保持了安防网络的隔离与安全,也避免与车辆门禁系统发生接触。安防队员使用微服务就是使用微信或钉钉,无须培训即可使用,也可通过钉钉免费电话联系车主,将对讲呼叫变为了一键查询,极大地提高了工作效率。对车主而言,微服务提供车辆锁定的贴心服务,即车主可以自己设定某个名下车牌为锁定状态,微服务通过前置机将该标签状态送回车辆门禁系统,若有盗车行为出现,门禁系统匹配到该标签不予抬杆放行,则进一步强化了车辆门禁的安全保卫功能。
微服务构建的关键基础
微服务的构建不是一蹴而就的,人员、技术与互联是其构建的三大关键基础。
人员素质与构成
构建微服务的主要技术人员最佳为信息化部门自有的开发团队,首先是微服务提供的服务是多元化的,功能和数据可能横跨多个业务系统与平台,小而微的功能并不好进行定价;其次,招标采购的方式在合同等手续上较为繁琐,对后期维护和功能迭代也难以持续;再次,微服务依赖的各个业务系统和平台本来就是由不同厂家建设,除了信息化部门自身,没有谁更了解自己全部的信息化基础。因此,自有力量是必然选择,对人员素质要求有以下几个方面:熟悉本校信息化建设情况,能较好把握各个业务系统技术细节,平台的功能和数据字典,对每一个微服务开发项目能准确清晰地梳理数据关系与流程关系,能够宏观上把握微服务技术框架以及在代码实现上做减法;团队成员可以分散掌握各种不同编程语言,但尽可能集中在2~3种以内,使成员间相互能读懂其他人的代码,这既是相互学习过程,也是相互的代码审核;团队成员还应懂得各个管理部门的业务和共享数据的流转方向,使微服务具有更高的效率且不影响原有业务在原有平台上执行;团队成员中还需至少一人负责应用答疑和开发培训,收集用户的使用反馈,吸纳更多的成员参与到微服务开发中。
数据标准化与开发规范化
能否实现数据标准化和开发规范化是微服务可持续发展的关键。数据标准化直接关系到微服务与其他系统、平台间的共享与交换,是微服务开发工程微小化的根本基础,在其他每个系统与平台建设时要特别重视采用相关的国家标准,打通数据流转的通道,即使每个微服务的代码量都很小,依然要按照软件工程的标准进行代码管理与维护,对每个微服务建立文档,详细描述其自身的功能定义、数据库定义、与其他系统或平台的接口、与其他数据的取用关系等,才能确保微服务的质量和可迭代性。
互联与通信
选取微信、钉钉和短信三种入口,通信即是服务成为与用户最贴近的身边服务。短信是一种传统信息交互方式,一方面,它在欠发达地区,仍可作为缺失移动互联网的补充,另一方面,短信发送监管得越来越严格,跨运营商短信送达的失败率也有升高趋势,移动互联的通信方式必然与短信形成互补的关系,通过三种入口实现消息传递与收发,使服务像沟通一样变得越来越容易获得。
微信和钉钉作为移动互联的平台,已然是成熟度很高的移动APP应用,用户即使没有安装学校的移动APP也一定会安装微信,以微信和钉钉作为微服务的载体,使应用很容易被广大师生所接受,应用开发出来没有人安装去使用的推广难题在此化解;其次,微信和钉钉自身具备的即时通信和其他辅助功能也成为校园微服务的组成部分,无须耗资自建和维护就拥有了具备大规模服务能力的平台,这甚至可能成为未来校园信息化建设的一种新趋势。
未来完善路径
未来的微服务将秉承“信息化构建服务价值,微服务拉近师生应用体验”的智慧校园发展思路,在不断完善服务管理能力的基础上,转向服务教育教学。主要有以下三个方面。
一是遵循统一标准与规范,系统开放互联。集成校园GIS系统,完善已有微服务在位置可视化方面的应用体验;集成流程管理平台,将OA和各个垂直业务系统所不擅长的跨部门审签类流程完善到微服务中,打通流程事务上的屏障;完善与钉钉的对接,使每个师生都乐于及时将自己的手机号码更新到系统中,使每一层组织架构的人员沟通更方便,使通知的点对点到人与查阅状态更便捷。
二是支撑与适应现代教育技术的变革,服务教育学习。精品视频资源毕竟是少数课程,可录播教室所录像的课程也是宝贵的教学资源,构建教学媒体微服务,结合课表和教学日历以资料库形式向学生提供视频点播资源,学生在微信上就可随时对当天所上课程进行回顾、复习或评价,对感兴趣的其他课程进行点播,即迎合了学生的网络学习习惯,又省去了建设专业资源平台的经费成本和运维人力。视频资料不仅得到了利用,还可基于学生点播的情况进行分析,对点播较多、评价较好的视频资源做永久或长期的保存,使教学资源建设变得有的放矢。在此资料库的基础上,与图书馆的知识服务职能相结合构建知识库与自动应答,将学科知识与信息资料获取进一步简化并融合到微信这一通用平台上,服务虽小,但却能在移动中无处不在地感受到智慧校园的存在。
三是微服务的出现不再是在确定的边界内守护传统,而需要将校园的每个师生看作是智慧校园的一部分,每个师生都可以成为智慧的创造者,教师与学生的参与是微服务自我提升的重要路径。一方面,师生的加入可以缓解开发团队人员有限难题,师生经过简单的编程就能以信息化方式快速服务于广大师生,学生也在这个过程得到了编程训练;另一方面,团队与师生的创意相互碰撞容易激发更多微服务想法,使微服务具有可持续发展的空间。团队在这个过程中,是微服务的引领者,同时也继续为微服务提供技术支撑,为开发者提供数据接口标准,进行代码审核,培训与指导更多人参与其中。
微服务的构建是一项持续的信息化服务,每一项微服务都是校园里智慧的枝叶,众多的微服务汇聚在一起浇灌出智慧校园的参天大树。未来,以信息化微服务所支撑的智慧,不仅在是校园管理上,还会在学习与科研上结出丰硕的果实。(作者单位为中南民族大学)