文/肖威 王晓东
统一数据库平台解决了标准不统一、数据不共享、业务流程不规范等问题,消除了校内信息孤岛,实现教学、科研、管理和服务等各种资源的共享,促进各级管理与决策的数字化。
近些年来,数字校园的概念已经为各类教育机构所认可,并且越来越多的高校已经或者正在着手进行数字校园系统建设。中国音乐学院于2009年开始进行数字校园系统的规划建设,经过近一年时间的项目实施,目前已经基本建成了初具规模的数字校园系统,包括统一数据库、统一门户、统一身份认证等平台。同时,在建设中,由我校网络信息中心牵头,组织各个职能部门共同研究讨论,最终制定了与我单位实际情况紧密结合的《中国音乐学院信息标准》。该标准由院办作为院级文件正式发布,作为我院今后信息化工作的标准性文件。在各个平台中,统一数据库系统是整个数字校园最核心部分,该平台依据《中国音乐学院信息标准》进行建设实施,为学院现有各个应用系统提供了公共数据存储与交换功能,将我院信息化建设工作推向了一个更高层面。
在统一数据库系统建设之前,需要有明确而先进的设计思想。统一数据库平台的设计思路主要围绕“统一”展开,平台建成后将形成一个统一的、充分共享的、全局的数据中心,统一数据库的建设目的就是为了保证全校数据的一致性与准确性。
保证遵循学校信息规范及信息编码标准
数字校园系统的建设,必须有一个核心的数据标准,以此对输入和输出的数据进行规范,从而方便统一数据库平台和各个应用系统的信息共享,保证基于统一数据库平台数据的一致性。
保证异构业务系统之间的数据共享
通过统一数据库平台,实现校园各类信息的实时共享,并且消除各系统之间的相互依赖。通过统一数据库平台,使系统间共享数据的使用不再是各业务子系统间的调用,而是直接共享,避免各业务系统之间数据的相互依赖。
保证任何业务系统之间没有冗余业务数据,保持数据一致性
在项目整体设计中采用“一致”的理念,对有业务关系和数据关联的应用系统,统一设计业务模块数据库,不对业务系统做人为的切割,尽量保证业务系统之间没有冗余业务数据,从而简化数据一致性的实现。对于因性能优化、稳定性设计等原因必须冗余的数据提供数据同步机制。
遵循“谁产生、谁维护”的数据管理原则
利用技术手段,确保由授权体系控制数据维护的权限,使无权限的人员不能对数据进行生产和维护。同时,在管理上,通过制定应用系统规范来要求数据生产者/维护者及时更新自己所负责的数据,保证系统中数据的准确性和可追踪性。系统提供安全审计功能,保证对业务操作进行严格审计监督。尤其对于一些重要的业务部分,比如人事处,其业务数据的安全性、保密性要求较高,因此,必须有业务部门进行严格筛选,提供其他业务部门可共享的数据,而对不可共享的数据进行严格管控。
保证业务系统之间不发生相互影响
合理地抽象定义业务系统的数据模型,不通过直接的数据库访问来实现不同业务之间的数据共享,而是调用应用组件定义的服务接口。当某些提供服务的业务系统发生变化时,不会影响到使用服务的其他业务系统的正确运行。
确保基础数据的完整性,提供完整数据信息
在数据库设计当中,保证数据的完整性,在应用设计中,保证业务功能的完整性。这样,整个应用即可提供完整的反映整个学校全面情况的数据信息。通过统一数据库平台整合其他系统的信息资源,提供更完整、更全面的信息。
平台的总体架构采用分层结构设计理念,具体包括:信息服务层、数据访问服务层、公共数据库层三个层次。平台总体架构如图1所示。
在整个架构中,各层次之间在逻辑上相对独立。其中,各层次所解决的具体问题如下:
1. 信息服务层:该层面向最终使用者,为校内用户提供个性化服务,包括应用系统(学生服务、教务服务、人事服务、科研服务等)、对外数据服务、共享数据的统计查询及报表服务和没有对应业务系统的共享数据管理等服务。
2. 数据访问服务层:信息服务层的各种服务不能直接操作数据库,必须通过调用统一的数据访问模块实现对数据库中数据的操作。
3. 公共数据库层:该层的数据是学校一切活动所涉及的、用于共享的公共数据集,来源于学校的各个业务部门,并基于“谁产生,谁维护”的原则,由对应的业务部门管理。从数据来源看,公共数据库由以下几方面组成:原有应用系统对应的公共数据库、与统一数据库平台兼容的应用系统对应的公共数据库、历史数据库、没有对应系统的公共数据库、公共代码库等。
统一数据库平台架构的特点可以归纳为:区别对待现存旧系统和新系统。旧系统需要通过数据整合器将原有的数据进行标准化后入库。新系统的数据自然共享,无需再次整合;数据访问服务层保证了所有对共享数据库的访问能够受到严格的权限控制。它对共享数据的共享信息实现可视的控制。此外,在信息服务层中提供了公共数据库中无对应系统的数据和公共代码的管理功能。用户可以通过统一数据库平台自带的数据管理模块管理权限允许范围内的数据。
平台软件系统在设计中采用了先进的开发技术,包括:整体基于J2EE技术、Web Services接口、面向对象的组件技术、面向MVC的实现路线等。
采用J2EE技术
在平台设计中,规划横跨各职能管理部门、业务部门的统一的管理、服务的支撑平台,实现大集中模式的信息共享、管理集约化、多机构的联动服务以及未来知识整合和资源服务的拓展支撑。由于这样的系统横跨各个部门,横跨各种复杂的应用环境、平台和数据库,并对复杂的逻辑运算、分布式部署、分阶段分部门实施有很高的要求,势必需要采用先进的分布式计算技术来构建统一的运行平台支撑框架。这样,才能既可以保证本次建设和后续各类系统的完全融合,又可以保证在不断拓展新功能时技术支出成本最低。J2EE是构建基础平台和整合应用建设的首选。
数据交换采用Web Services接口
数字校园系统建设之前,已经建成了多个应用系统,例如,教务系统、财务系统、一卡通系统等。这些系统基本都是基于当时的需求由不同厂商建设的,系统设计及技术架构不统一、数据难于共享、管理维护分散在各系统中。因此,需要基于统一数据库平台将这部分系统集成起来。在本项目中采用面向管理、服务的方式来建设,在数据交换服务、应用服务、资源汇集、重组、注册和发布服务中,通过Web Services技术与原有各个系统进行集成。采用对象/组件技术、使用标准的Internet协议、将功能展示在互联网和校园网内部。
组成Web Services的关键技术有:XML、SOAP、WSDL、UDDI。其中,简单对象访问协议(SOAP)提供了标准的RPC方法来调用Web Services。Web Services描述语言(WSDL)用于描述Web Services(该Web服务的元数据信息:服务的名字、提供者、服务的具体访问地址等)及其函数、参数和返回值。统一描述、发现与集成(UDDI)规范定义了这样的注册中心:Web Services的提供者可以在其中发布相应的WSDL文档,Web Services的消费者可以在其中找到自己需要的服务,并通过WSDL文档获得如何调用相应Web Services的方法。SOAP、WSDL、UDDI都是基于XML的协议。正是因为使用XML,使应用集成在数据层上达成了一致,解决了不同平台或系统、不同数据结构或模式之间的差异,使得原本复杂的数据层的集成变得简单。
面向对象的组件技术
平台采用了面向对象组件化设计,并基于跨平台业界标准,包括Java、XML等,完全独立于硬件和操作系统的开发环境。在设计和开发上提供了多种组件服务:公用组件和应用组件。基础服务提供独立于业务的公用组件,如工作流引擎、服务引擎、消息引擎、菜单管理引擎、电子表单、格式转换、个性化订制等。基于对业务功能的抽象,建立可重复使用的应用程序“业务对象”(应用组件),利用这些组件构建分布式应用系统。一方面,面向对象的组件技术在异构分布环境下为不同机器上的应用提供了互操作性,并无缝地集成了多种对象系统;另一方面,组件的可重用性和可插拔性可以大大加快软件开发的速度,降低了软件开发和再开发的成本,提供了系统良好的可伸缩性,使系统轻易地组合与拆分其功能模块。因此,基于面向对象的组件技术将系统的服务功能和业务模式独立开来,选用更灵活的组件方式来提升系统的功能支持,全面提升本系统和面向未来应用整合的综合支撑。
面向MVC的实现路线
本项目基础和各应用的架构和设计完全遵循MVC模式,在实际开发中大量采用Java技术。如:Servlet、JSP、JavaBean、JDBC、JavaMail、XML、Strucs、 Spring等成熟稳定的前沿技术。MVC即Model-View-Controller,即把每一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离。这样应用被分成三层——模型层、视图层、控制层。
视图(View)代表用户交互界面。对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。随着应用复杂性和规模性的加剧,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(Model)处理。
模型(Model)就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其他层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。MVC设计模式把应用的模型按一定的规则抽取出来,组织管理这些模型,以便于模型的重构和提高重用性。业务模型还有一个很重要的模型是数据模型。数据模型主要指实体对象的数据保存(持续化)。从数据库获取数据表单信息,并将这个模型单独列出,所有有关数据库的操作只限制在该模型中。
控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。
图1 平台总体架构
平台主要功能模块包括:共享数据查询与维护、代码管理、灵活报表系统、数据同步、通用组合查询、设置数据查询和维护权限、设置数据维护表信息等。
共享数据查询与维护模块
共享数据查询与维护模块下的内容可根据学校的业务管理领域进行配置。此模块的主要功能是在进行数据管理时,对各业务列表中的数据进行增、删、改、查等操作。
代码管理模块
在代码管理模块中,用户可以维护数据代码库,定义不同的代码分类标准,并根据需要对数据代码进行维护。选择公共数据库平台代码管理子菜单的功能,在功能区显示公用代码表维护页面,可进行新增、编辑和删除代码节点操作,并设置节点所用标准。
灵活报表系统
灵活报表系统是公共数据库平台的重要组成部分,是J2EE环境下开发Web报表应用工具,旨在提供一种可视化的报表快速制作工具,使用户无需编程,只要通过直观、简单的操作步骤便可以轻松实现报表的开发和管理。灵活报表系统引入了动态报表的设计思想,通过将各种静态报表抽象为类似于报表模型的“报表模板”,使用户仅需要在模板中对报表的基本格式、数据抽取规则或条件等进行配置,即可由系统自动完成对大量数据的整理和挖掘,实现对数据的抽取、分析和统计,并以报表的形式展现出来,从而达到辅助决策的目的。另外,通过采用“灵活报表系统,已发布的表/视图,数据库”的三层模式,灵活报表系统可使不同的用户具备不同的数据库资源(表/视图)查看权限,从而实现了灵活的权限控制。其模块划分为:建立报表视图、管理表和视图、报表管理、模板管理、报表授权、校情展示报表授权、模板目录授权、表视图授权等8个部分。
数据同步功能
数据同步功能主要是用来同步与统一数据平台做了集成工作的其他业务系统中相关数据。点击“数据同步”,在显示出来的数据同步分类中,点击所需同步的数据类别,将显示出可执行的数据同步任务列表。
通用组合查询
通用组合查询主要是方便用户更灵活地进行查询。在此模块中可自定义查询列和查询条件,还可对用户进行查询授权,不同权限的用户可查询的模块不同。通用组合查询可划分为:查询组管理、查询栏目管理、分模块组合查询、查询组授权管理、查询组所属部门管理、查询栏目授权、查询授权。
设置数据查询和维护权限
此模块让用户可以设置每个角色的数据维护权限,即角色对表及表中字段的查看、修改、删除等权限。包括设置列权限、设置查询范围、设置修改范围。
设置数据维护表信息
此模块提供维护每个表基本信息的功能;即列名的修改、各列顺序的排列以及设置列的可选值等。
公共数据库平台有力地促进全校范围内的资源共享和交换,拓展广大师生员工获取信息的渠道,提高广大师生获取信息、分析信息、处理信息的能力。
数字校园的建设与各个业务系统的建设相辅相成、互相促进,在系统建设过程中,各个业务系统与大平台实现集成与对接,将原有的各个信息孤岛连接成丰富、全面的信息系统。在项目的建设中,始终贯穿着资源数字化的理念。资源数字化的程度反映了各个系统的应用水平,也代表了学校信息化的建设程度。其中,对已有的非数字化资源实现了数字化,对新的资源经过数字化后加入到了公共数据库平台中。
公共数据库平台解决了标准不统一、数据不共享、业务流程不规范等问题,消除校内信息孤岛,实现教学、科研、管理和服务的各种资源的共享,保证信息化建设的可持续性发展,促进教学、科研、管理过程及模式的全面信息化。数字校园平台项目将信息技术融于教学、科研、管理的各个环节,使信息工具成为教师教学、学生学习、部门管理的重要手段,有力地促进全校范围内的资源共享和交换,拓展广大师生员工获取信息的渠道,提高广大师生获取信息、分析信息、处理信息的能力。辅助各级管理与决策数字化。使各级领导辅助决策实现数字化,为各级领导提供决策所需的数据、信息和统计分析,帮助领导明确决策目标,为正确决策提供有力的数据及报表辅助支持。