基于校园信息系统WEB应用二次开发的思考与实践

2019-05-22 10:27张洁
电脑知识与技术 2019年6期
关键词:二次开发

张洁

摘要:目前学校业务发展迅速,之前的信息系统的功能已经不能满足新的业务需要了,必须进行二次开发。但是由于通过原信息系统开发方进行二次开发成本较高,并且会影响现有系统的正常使用,所以很有必要利用现有信息系统的数据资源进行二次开发的探索实践。

关键词:校园信息系统;WEB应用;二次开发

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2019)06-0066-02

1 校园信息系统现状调查

到目前为止,每个学校都有校园信息化系统。大多数的学校都是建立了自己学校的网站系统和学生管理、课程管理等其他信息化管理系统。这些系统,对于学生而言,能实现简单的资料查阅、课程查询、成绩查询等日常学习中所需的功能。对于老师而言,这些系统能实现基本的课程安排、成绩录入、学生信息录入等管理功能。但是,现在的信息系统并不完善,存在很多的问题。

1.1 系统建设时没有进行统筹合理的规划

校园信息化系统的建设普遍存在缺乏统筹规划的问题。学校各个部门或者院系在建设系统的时候,总是只考虑自身当时需要实现的功能,忽略了和其他信息系统之间的数据传输和数据共享。没有统筹规划,往往学校的部分功能存在重复建设的问题。并且容易形成信息孤岛,使数据无法流通。对学校的日常工作没有促进反而造成了一些不方便,数据传输方式还停留在复制粘贴、文件保存和发送等原始的传输方式上。

1.2 系统功能不能与时俱进

一个信息系统建设时,仅仅考虑到当时急需解决的功能需求,没有考虑到后期的功能扩展,没有预留接口。升级改造困难。

1.3 数据标准不统一

数据体系建设不健全,没有统一的中心数据库,数据不完整、不标准,数据质量不高,数据共享使用水平低;学校因管理体制和观念等限制,大部分数据都静静地躺在各自的库中,办事过程中申报材料经常需要反复多次提交、重复审核、重复证明,从逻辑上讲没必要、但程序上又必须有,这不同程度增加了办事难度,也影响了信息化服务体验。

学校各个部门或者院系根据自己的需要建设的信息系统都自带独立的数据库,各自独立保存自己系统的数据。实际上,学校的很多数据会在多个系统里使用。比如,学生的基本信息会在招生系统、学工系统、学籍系统等多个系统中使用。每个系统都自己管理一份学生基本信息数据。由于系统建设的厂商各有不同,所以每个系统的数据标准和格式都不一致。一旦有一个系统里的学生基本信息数据发生变更,就会造成该数据的不一致。

2 针对现有信息系统功能完善与改进的途径

由于学校的业务发展需要,原有信息系统功能已经不能满足业务要求,迫切需要新的信息化手段支撑学校各个环节的工作开展。针对现有信息系统的不同状态,对现有信息系统功能完善和改进的途径是完全不同的。对于那些老旧的,功能单一,结构松散,安全风险较高,需要改造的功能模块较多的信息系统通常通过打补丁的方法已经无法解决了,就需要主要使用部门筹措资金,购买新的信息系统,进行更新换代。对于那些基础功能还可以使用,又需要增加新的功能模块,学校可以联系原软件厂商获取系统完整的源代码,并根据学校的特定的业务需求进行自行升级改造。对于那些软件厂商不提供系统源代码需要进行二次开发的信息系统, 学校只能利用现有系统的数据资源进行自行开发。

3 WEB應用二次开发的技术手段

目前,信息系统架构分为B/S和C/S两种架构。由于网络的普及和出于数据交换的便捷性考虑,现在的信息系统通常采用的是B/S架构。最常用的WEB应用开发语言有ASP.net,PHP,JAVA。ASP.net是基于windows平台的。PHP是一种跨平台的服务器端的嵌入式脚本语言。JAVA是一种面向对象的编程语言,它具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

4 针对OA系统二次开发的实践

4.1 什么是OA办公系统二次开发?

OA办公系统二次开发是根据用户的个性化需求上进行定制化开发的,一般由OA系统开发厂商在已运行产品的基础上进行二次开发,这样要求OA产品有较强的扩展性和兼容性,OA系统二次开发团队需深度了解OA产品,有一定的技术力量和项目经验,从这方面讲代理商或者OA系统的用户自己进行二次开发存在一定的困难。

如果不是自身的产品,在没有OA源码、不了解现有设计、技术架构的差异等情况下是很难进行开发的,一般只能将原有OA系统废弃,分析原有系统的数据结构,并尽可能地将数据移植到新的OA系统中,如果数据积累的时间长、量比较大这个成本是非常大的。

二次开发最大的优势是能够很好地解决用户个性化的需求,让OA系统更加贴近用户的实际需要。

传统的OA产品一般会控制其源代码的开放,这样一来,如果学校要对已有的OA系统进行二次开发,只能继续由现有OA办公系统的开发者提供服务。更为严重的是如果在现有OA基础上做二次开发,则厂商产品升级(升级的目的一般包括添加模块、增加新功能、功能升级、错误的修复、增强安全性、改善性能等)后一般是不包含用户二次开发的功能,选择升级则需要重新将二次开发的功能整合到厂商升级的版本中。一般的厂商选择二次开发服务的技术人员水平不是很高,设计能力有限,很多都是直接在OA系统的源码中进行修改,这种做法带来了两方面的不良后果,一是在产品中引入新的错误需要经过一段时间的运行后稳定下来,二是如果使用厂商新升级的版本则需重新整合、代价高。

4.2 针对OA系统二次开发的实践

1)针对OA系统二次开发的原则

在现有OA系统软件开发方不提供源代码和免费的后续服务的情况下,要在不影响现有OA系统运行,不更改现有技术架构的情况下,实现学校的个性化需求。

2)针对OA系统二次开发目标

目前学校的OA系统能处理各种公文的流转,批复等功能,可是随着时间的推移,每天都会有大量的文件等着学校领导批复。由于学校的各种事务繁忙,时间一长,就会出现文件积压。而现有OA系统没有提供提醒功能。导致工作推进速度缓慢,效率大大降低。因此,学校提出开发文件批复提醒和统计功能。

3)针对OA系统二次开发架构

在当前信息化技术高速发展的时期,学校的业务需求也在不断变化,因此二次开发的架构要立足学校信息系统的长远发展。通过对比现阶段各种技术手段的优缺点,最终采用了跨平台的J2EE架构,MVC设计模式、JAVA语言来实现针对OA系统的二次开发。

4)系统设计

通过对需求的分析,系统的基本功能应该包括:

① 针对文件涉及的每个用户,根据文件批复状态分项列出各种状态下的文件数量。

②文件处理涉及的每个用户自行登录后看到和自己相关的待处理文件列表和详细信息。

5)系统实现

现有OA系统中文件处理流程涉及的数据表有:文件传阅主表、文件传阅细表。通过对以上两个表的表结构进行分析,确定了表之间关联的外键。文件的处理状态分为正在处理、撤回、完结三种状态。阅文状态分为未开封、未确认、已确认。通过这样的分析,可以实现各种学校个性化定制需求。例如要实现针对个人的已开封超过三天未确认的文件数量的统计。代码如下:

select count(*) from 文件传阅_细表 A where A.确认姓名='name' and A.状态='已开封' and A.确认状态='未确认' and A.发送时间 between 'begintime' and 'endtime' and A.主表 in (select B.ID from 文件传阅_主表 B where B.状态!='撤回' ) and datediff(day,读取时间,GETDATE())>3";

参考文献:

[1] 什么是OA系统软件二次开发?[EB/OL].http://www.fanpusoft.com/bangong/qy/108965.html.

【通联编辑:朱宝贵】

猜你喜欢
二次开发
浅谈基于Revit平台的二次开发
西门子Operate高级编程的旋转坐标系二次开发
浅谈Mastercam后处理器的二次开发
三维详图设计软件Tekla Structures二次开发实例
基于C#的AutoCAD建筑构件库二次开发
西门子Easy Screen对倒棱机床界面二次开发
CAD二次开发在铁路车站信号设计中的应用
基于全站仪二次开发的覆冰厚度测量与实现
Micaps3.2 版本二次开发入门浅析
基于VB的ANSYS二次开发在变压器抗短路性能分析中的应用