以其一致性、反馈性、效率性以及可控性得到了广泛应用。
1.2 系统数据库建设
1.2.1 MySQL 数据库选择
MySQL 是一个高速度、高性能、多线程、开放源代码,建立在客户/服务器结构上的关系型数据库管理系统。就开发人员而言一开始就倍加关注其性能。同时MySQL 数据库可以高度融合标准结构化查询语言SQL 数据库语言。性能方面,MySQL 性能卓越,服务稳定,很少出现宕机。源代码开放,自主性,使用成本低。历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。软件体积小,安装使用简单,并且易于维护。品牌口碑效应,使得企业无需考虑就直接使用,LAMPLEMP 流行架构。支持多种操作系统,提供多个 API接口,支持多个开发语言,特别对流行的 PHP 语言有很好的支持[5-6]。
科研管理系统选择 MySQL 数据库。以其安装便捷、使用方便、安全性能高、稳定性强以及可移植性好等性能被广泛使用。结合局内当前实际,与科研管理相关联的系统大部分使用了 MySQL 数据库,为了能够让本 系 统 与 其 他 系统对接兼容,本 系 统 采 用 了MySQL 数据库。
1.2.2 表结构构建
系统关联是减少数据冗余、提高数据操作效率的重要方式,本系统中数据表之间有许多关联表。本系统构建的数据库表包括权限管理表、项目管理表、人员信息表、机构管理表、科研成果管理表、日志管理表、经费管理表、文档资料管理表等。视图关系如图 2 所示。
1.3 Mybaitis 框架提供 API 服务
系统对数据的调用和访问都有一定的要求,一是数据的精准度,二是调用数据的效率,三是能够满足多并发的数据获取的条件。这样的后台数据处理要求急需一个具备简易存储过程、高级映射、通用 SQL 及高并发的持久性框架来满足。经过研究,系统最终选择了 MyBatis 框架,除了能够满足上述的功能以外,通过XML 和注解配置数据库原生信息,将接口和 Java 对象映射成数据库中的记录,满足基本数据调用需求。该模式可以让开发者把更多的精力放在业务 SQL 的编辑上,节省了一定的开发成本。MyBatis 功能框架主要分为三层[7]:
( 1) API 接口层: 负责为外部应用提供 API 接口服务,通过这些 API 即可对数据库进行操作。向接口层发送带参数的 request 请求,数据处理层将接收参数并完成数据处理。
( 2) 数据处理层: 负责将接收到的 SQL 及参数进行解析、执行、映射处理及反馈结果。返回的结果可以自行设定是 JSON /XML 等。主要目的是根据调用的请求完成一次数据库操作。
( 3) 基础支撑层: 负责基础的功能支撑,包括数据库链接配置、映射管理、事务管理、配置加载和缓存处理。
为上层的数据处理层提供最基础的支撑。考虑到系统未来使用的可扩展性、高效性、兼容性、通用性,选择 MyBatis 作为系统开发的 ORM 框架。框架结构如图 3 所示。
1.4 B/S 模式
根据对系统整体架构的分析,数据的处理和展示采用了 B /S 开发模式。
气 象 科 技 信 息 系 统 展 示 采 用 了 B /S 模 式( Browser/Server) ,该模式用户页面通过浏览器实现,基于应用层 http 协议提供的 Web 服务。平台对数据的访问可以通过 Post /Get 方式向服务器发送请求,服务器则是通过 API 接口的方式响应请求,提供服务,反馈数据。这种模式可拓展性极强,通过增加网页即可添加 服 务 器 功 能。同 样 是 Browser、Web Server、dbServer 三层架构,业务逻辑同样被放置在了服务器端,但这种 http 协议下的 request 请求能够实现数据的全方位共享,不仅适用于辅助决策平台,还可以为其他业务平台提供接口共享支撑[8]。模式结构如图 4 所示。
1.5 开发语言及相关环境
J2EE( Java 2 Platform,EntERPrise Edition) 是一种利用 Java 2 平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构,是一个基于组件的体系结构,定义了一套标准来简化多层分布式企业应用程序的开发,它定义了一套标准化的组件,并为这些组件提供了完整的服务。
J2EE 体系架构将表示逻辑、业务逻辑与数据逻辑相分离,使系统的并行操作、网络计算能力大幅提高,系统的整体性能得以优化,并采用先进的软件分层设计思想,支持基于框架的开发,降低开发难度和成本,同时降低组件的耦合度,极大地增强软件的可维护性、可扩展性,满足大型管理信息系统的要求。
开发语言方面,中心服务端采用基于 J2EE 规范的 java 技 术,支 持 JDK1. 6 以 上 版 本,采 用 流 行 的Spring+Struts+MyBatis 架构及分层体系结构,前端采用 Html \JavaScript \XML \CSS \JSON 等页面技术和规范,构建安全、稳定、高效、简单实用的中心服务端应用。客户端支持两个版本,分别为 Android 和 iOS,iOS基于 Xcode 8 及 iOS 10 的 环 境 开 发,Android 基 于JDK1.6 及 Android4.0 的环境开发[9]。
网络通信及数据传输方面采用 3G、4G 或其他无线技术,数 据 传 输 采 用 加 密 方 式,保 障 信 息 的 安 全通信。
与其他系统的对接采用安全规范的接口技术,数据格式采用 JSON 和 XML,基于安全规范的制定统一控制接口,重要数据实现加密,支持异构系统、目录、FTP 站点等手动或自动获取数据。
2 系统设计与实现
2.1 系统业务流程分析
系统建设的目的是为了对局内课题项目的申报、审核、验收、文档进行统一的管理,经过对业务需求分析调研,将对