校园遗留系统的可扩展性研究

2016-10-14 13:56罗小平周红艳钟伟武帅
中国教育信息化·高教职教 2016年8期
关键词:扩展性可扩展性遗留

罗小平 周红艳 钟伟 武帅

摘 要:校园遗留系统的可扩展性研究是校园信息化建设的发展新趋势。通过研究单点登录SSO、面向服务架构SOA及不用后端noBackend的技术特点和作用,本文在总结三者在系统可扩展性方面的优势的基础上提出了三者融合的2Sn可扩展模型。该模型在通过SSO实现多个遗留系统的统一认证,达到基本面上的系统融合,通过系统内部的再造和多系统的抽象为SOA架构,在业务逻辑面上实现系统的横向扩展。noBackend的前端应用主导型架构实现了系统的纵向扩展。2Sn模型将多个小的子系统逐步融合为一个大而灵活的可扩展系统,为后期功能模块的扩展支持提供了方便,为高校信息系统融合及扩展支持提供有力的探索。

关键词:校园遗留系统;可扩展性;2Sn

中图分类号:TP311 文献标志码:A 文章编号:1673-8454(2016)15-0092-05

一、引言

随着校园数字化建设深化,校园遗留系统的整合问题日益突出。这些系统在高校发展史上具有不可磨灭的贡献,今后也将进一步发挥自己余热。但如何将这些系统整合起来成为校园数字化建设体系的一部分一直是各高校科研探讨的一个热点。那么,何谓遗留系统呢,美国国防部从系统所体现的组织职能出发,将遗留系统定义为包含的各种组织职能都是存在的、可用的,但这些职能在技术层面上又是落后的一类系统[1]。遗留系统的一些基本特性:(1)遗留系统是可用的信息系统;(2) 无论从技术还是从用户需求出发,遗留系统是落后的系统,必须通过自身的演进以适应组织和业务的变化;(3)遗留系统的演进是有难度的[2]。大学校园数字化发展趋势越来越趋向应用系统融合化,据高等教育信息化发展报告编委会发布的2014年《高等院校教育信息化建设现状分析与趋势展望》对全国各地共243所高等院校的932份问卷调查显示:三分之一的高校已经在建立跨应用系统的共享方案;一卡通已经普及,教学信息化走向成熟,科研信息化还有很大空间[3]。而且校园数字化建设经历了这么多年的业务沉淀,其管理的业务逻辑基本上已成型,业务逻辑很少或基本上不用改变。任何持续发展的系统,最终都需要考虑如何进行扩展,缺乏可扩展性将制约其发展[4]。虽然反复的系统维护可以在一段时间充分支持业务需求,但是随着系统的老化,维护就落后于业务需求了。最终,不得不对系统进行现代化改造,这项任务比维护活动需要花更多的时间和工作。最后当老系统不能再演化的时候,就必须彻底替换它。

目前国内高校遗留系统的再造研究十分广泛,运用不断发展的软件开发技术实现遗留系统扩展性的自动化、智能化,促使新旧系统历史沿袭合理化、方法科学化、过程规范化、数据精确化、效果最优化、效率最大化。同时校园遗留系统也趋于向产品化、集中化方向发展,以某种特定的技术特征或优势架构以黑盒的方式实现遗留系统的扩展,面向教育系统的高科技企业为一些高校推出了具有自身特色的校园遗留系统集成方案,与学校共同开发具有特殊知识产权的教育化产品。有实力的高校通过自身课题的研究开发了符合自身特点的独立知识产权的校园遗留系统集成体系,丰富了教育智能化产品需要。

二、现有体系结构的研究

Barry D K 等提出了面向服务的架构 (Service-Oriented Architecture,SOA)来处理系统的可扩展性问题,这是一种构造分布式系统的架构方法和设计原则,是将异构平台上应用程序的不同功能实体通过它们之间定义良好的接口和规范按照松耦合的方式整合在一起的一个组件模型[5]。该方案从架构方面可以有效地应付今后系统的可扩展性问题。SOA能够帮助业务迅速和高效地响应变化的市场条件。服务导向的架构在宏观(服务)上,而不是在微观上(对象)因此提高了重复使用性。同时,服务导向的架构可以简化与传统系统的互连和使用。它捕捉到了之前体系架构的许多最佳实践或实际应用。SOA实现系统控制区域的动态划分和合并,以及各区域间数据的共享与交互[6],对于单业务系统的改造能较好地将业务逻辑固化在业务系统本身。

单点登录(Single Sign - On, SSO),即用户在访问多个系统和多种受限资源时, 只需进行一次登录和身份验证, 不用重复登录, 用户安全信息转换为电子身份后自动地传递到多个系统, 从而提高工作效率和安全性[7]。统一的身份认证系统主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行校验,判断其有效性。整个系统可以存在两个以上的认证服务器,这些服务器甚至可以是不同的产品。认证服务器之间要通过标准的通讯协议,互相交换认证信息,就能完成更高级别的单点登录。可以从系统的整合性上面解决遗留系统的统一认证问题,避免了多个异构系统直接的重复认证。

Gregor Martynus等提出了前后端分离,不用后端设计思想(noBackend),站在前端的视角谈应用开发,服务端组件只退化到实现浏览器尚不支持的特性,这种方式与传统开发方式截然相反[8]。这种方式延续遗留系统的业务逻辑的不变性,将用户体验的开发的方便性植入系统的可扩展性设计中。这些理论的运用无疑给校园遗留系统的扩展性设计提供技术上的理论支撑,其单一一个都不能成就遗留系统的扩展性,因此从软件系统架构和软件设计的实践中,SSO+SOA+noBackend融合的2Sn模型成为校园遗留系统可扩展性设计的基础模型。

三、校园遗留系统的可扩展性模型

遗留系统的可扩展模型(2Sn)研究的对象为教育教学服务的产品组件在校园组织环境内运行的系统。这些系统一般由技术陈旧、效能较低的子系统实现,维护与扩展困难。同时由于在开发时未考虑互操作及集成需求,或者考虑的时间和空间的维度未达到计算机发展的速度,导致其间不能很好地协同运作与资源共享,后期扩展应用困难或不能扩展。但遗留系统往往承载了校园组织环境的关键应用,不能简单丢弃。遗留系统间存在业务不能合作,信息不能共享,扩展困难等异构问题,成为了校园的信息孤岛,影响校园的信息化发展。

2Sn模型初期需要利用正向工程、逆向工程和重构等思想结合起来对遗留系统进行综合利用,发挥其应用价值。主要包括以下方式:(1)遗留系统微再造,就是通过对遗留系统进行必要且有限的改造使它们的可维护性得到提高。主要包括对系统升级设计文档,组织并改造系统,用一种更先进的分层思想转换系统、修改和更新系统的结构和系统的数据。HarryM.sneed提出了以系统分析开始的五步再工程计划过程[9]。Vijay K.Madisetti等人对遗留系统实时系统进行再工程[10]。Ettro Merlo等人撰文得出遗留系统接口进化成新的接口技术,延长系统寿命并提高系统的整体质量[11]。Ian Warren等人的Renaissance研究项目目的在于提出一个软件进化和再工程的动态方法,该项目定义了一系列活动和任务来支持全部再工程项目和识别活动之间的控制流[12]。(2)利用接口技术对遗留系统封装。接口是一个自包容、基于标准的软件构件。对遗留系统中业务流程中的一些基本的业务功能单元按照一定的相似性进行分类并抽象并重新定义,这样可以快速实现校园遗留系统封装重构。(3)利用SOA对遗留系统整合研究也有一定的历史。SOA为传统的校园应用系统改造带来了一场革命,它是一种面向功能层的系统集成方式。该方式不仅能保证原有系统的数据安全性和逻辑安全性,而且还能实现各系统之间的松耦合,方便系统流程的重组和优化:一方面SOA服务化的思想将各个“信息孤岛”中的业务功能封装成模块,并以服务的形式呈现于二次开发人员面前,用户不必关心这些服务分别属于哪个系统。另一方面,应用开发人员或者系统集成者可以通过组合一个或多个服务来构建新的应用,而无须修改原服务的底层实现。

2Sn模型研究的总体目标是实现对现有系统的深度复用,实现软件平台的可扩展性,即可扩展性表明在系统中很容易加入一个新的功能, 而不影响到系统的其他部分[13]。包括系统结构的扩展性、数据存储的扩展性、设计层次的扩展性、功能的扩展性等方面。这些目标涉及的原则包括:

可用性原则:更容易的工作而不是更难工作的解决方案。

灵活性原则:能够满足我们独特业务需求的解决方案。

易管理原则:依靠现有的IT资源就能容易管理的解决方案。如图1是2Sn模型的基本原理图。

2Sn模型通过公共SSO和SOA实现对遗留系统的标准化,在数据库层面上实现多个业务逻辑系统的共性与个性的统一,同时系统通过noBackend实现对系统的用户体验的改造,让用户体验的改进实现连续性和持续性。整个模型包括数据服务层、业务逻辑层、UI呈现层等3层体系维持系统的松耦合、低类聚的设计理念。

2Sn模型可以实现校园遗留系统可扩展性的研究和实现,是对现有陈旧的Web技术开发的创新性实践。该模型的运用大大提高了新旧系统的可扩展性、连续性。这种扩展性模型,抛弃了以往单一的数据利用的SOA模式实现校园遗留系统的整合方式,将单点登录与SOA结合起来并且配合noBackend技术,即利用了遗留系统,又将新旧系统集中起来共同使用,从前端到后端打通了两者之间的鸿沟。

校园遗留系统可扩展性是指为教育教学服务的陈旧产品组件在校园组织环境内运行的系统提供与现有新的组件系统无缝连接的技术实现,是对学院现有的管理资源以较低的重构成本进行的系统微调,实现学院多个技术平台或异构系统的规范化、无缝化和科学化,提升系统集成的开发效率,使学院新开发系统对老系统的兼容变得更加容易、更易于实现,成本的最小化、效率的最高化,不断地提高服务质量。为高校内学生的选课任务、教务管理系统和网络教学系统等提供了一个可靠的应用平台,为学校培养教学、科研和管理的高素质人才提供了先进的工具和手段[14]。实现系统熔接便捷化、组织的科学化、数据的实时化的目标。

四、实例研究

校园遗留系统的可扩展性2Sn模型的研究及使用可以配合学院的CRP系统与学院其他遗留系统进一步整合,通过对CRP短信平台的试验性打造,逐步将该理论和实践运用到整个校园信息化建设工作中来。通过本校的使用并在此基础上实现功能性完善形成具有成职院特色的遗留系统整合解决方案,形成CRP的一个良性分支,丰富了CRP的应用范围,从长远方向打造成CRP的一个完整的生态系统。

CRP作为校园遗留系统的一个基础设施,改造为通过单一机制的SSO统一校园单点登录认证,将新旧系统从基本面上融合在一起,同时建立基础的SOA服务框架,在业务逻辑基础上实现接口的共享。在此理论的支撑下通过实现在现有的CRP遗留系统的基础上利用noBackend思想实现一个基于HTML5为技术基础的短信管理系统,以理论付诸实践的方式展示了2Sn模型的价值所在,以CRP为基础实现短信通知功能的设置、实施为实验平台,展示课题在实际项目中的运用,从而为大规模投产实施提供理论和技术支撑。

1.SSO单点登录

通过调用成都职业技术学院SSO单点登录服务进行验证并形成验证凭据,然后传递给扩展系统进行核对,从而实现统一认证。短信扩展系统通过自定义成员提供器实现OAuth认证绑定。

2.SOA标准化服务

通过教师接口服务调用CRP基础设施的SOA公共服务,并提供标准的HTTPGET Rest服务,为JSON需求者提供独立的规范要求。同时通过服务器分页方法实现通用的分页服务。

namespace CrpNormal.Common.Services

{ [ServiceContract(Name="CrpNormalTeacherService",Namespace="http://crp.cdvtc.com")]

public interface ICrpNormalTeacherService

{

[OperationContract, WebGet(UriTemplate = "Teacher/GetTeacherInfo?id={id}")]

TeacherInfo GetTeacherInfo(int id);

[OperationContract, WebGet(UriTemplate = "/Teacher/GetDepartmentList")]

IEnumerable

猜你喜欢
扩展性可扩展性遗留
许林涛作品
基于单片机控制的小孩遗留小汽车内智能安全装置
提高初中阶段学生英语扩展性阅读能力策略分析
恩智浦推出全新i.MX 8X 处理器,为工业应用带来更高的安全性、可靠性和可扩展性
电力监控软件的可扩展性设计
天龙,遗留六百年的传奇
构建高可扩展性的物流装备管理系统
网络教学平台的扩展性研究