摘 要: 针对目前国内许多高校各部门的应用系统相对独立,并且部门之间的数据交换往往需要人工处理的特点,设计了一个基于SOA架构的校园OA系统,该系统采用Web Service接口对高校各部门应用系统进行无缝连接,实现各部门日常办公的相互协作、公文自动流转、信息关联查询以及统一管理的功能。在实际应用中,取得了较好的效果,对国内各高校的数字化校园建设具有一定的借鉴意义。
关键词: OA系统;面向服务架构;Web Service接口;数据交换;数字化校园
在国内各高校信息化建设过程中,各个职能部门根据各自的需求选择了各自的软硬件环境,使得各职能部门的数据不能通过应用系统进行数据交换,而只能通过文件打印传阅或电子邮件群发的方式进行数据交换,前者容易造成文件传达有一定延迟,后者则易错发、漏发和不能即时通知接收者,两种方式都难以统一管理。
随着高校数字化建设的推进,现在高校各职能部门比以往任何时候都更需要实现办公自动化。实现办公自动化后,高校工作的一部分业务可以借助先进的办公软件进行处理,实现文字处理、信息传递、存储与检索的现代化管理,使相关工作人员从繁忙、低效的手工操作中解放出来。本文以某高校的数字化校园OA[1]项目为例,提出基于SOA架构[2]的校园OA系统,该系统是一款为了解决高校各职能部门应用系统之间的整合和实现统一管理的办公自动化软件,可以最大程度地减少系统间的耦合,从而提高系统组件的可重用性,实现应用的无缝缝合。
1 SOA概述
1996年Gartner提出SOA,目的是让企业业务更加敏捷,软件系统变得更有弹性,使企业能快速响应需求的变化。SOA技术是一种有效解决系统由异构性所产生的问题的新体系架构,其思想是提供统一接口,通过服务的发布、发现以及调用等机制为其他应用程序提供服务。通过SOA构建的服务,可以使不同平台、不同语言开发的应用进行相互调用,可以最大程度地减少各应用系统间的耦合,在不改变原有应用系统结构的情况下实现应用的无缝缝合,达到数据交换的目的。而Web Service[3]是SOA的一种具体实现,是一种跨平台、跨语言的服务,它执行特定的任务,遵守具体的技术规范[4],如XML[5]、SOAP[6]、WSDL[7]、UDDI[8]等标准。Web Service以一种松散服务的捆绑集合形式,通过开发、发布和动态绑定实现异构系统之间的通信。WSDL定义的接口描述了Web Service,而WSDL的语义用XML进行定义。UDDI是一种与语言无关的协议,用于与注册中心进行交互以及查找服务。图1是基于Web服务的SOA结构模型。
2 校园OA系统概况
本系统针对某高校开发,是学校的一个办公自动化系统,所以针对性比较强,实用性及安全性需要考虑得比较深入。主要实现学校各部门、各人员间的信息交流、资源共享; 实现内部办公(公文、审批流转、请示、报告、督查督办等)网络化、电子化、规范化、集成化,全面提升学校各级管理部门的工作质量和工作效率;实现内部各机构业务管理的信息化管理,提高各项业务管理水平;实现机构信息集成,为领导管理和决策提供在线式的支持。
3 需求分析
3.1 功能描述
经过分析,校园OA系统的功能模块划分为教学管理、专业建设管理、个人事务管理、信息发布、系部文档管理、实验室与实习基地管理、学生信息管理和系统管理。其主要功能如下:
(1)教学管理:包括教职工基本信息管理、教师业务档案管理(教学文件管理和参加培训进修信息管理)、外请教师信息管理、科研与教研管理(课题、论文、教材编著教学成果)、人事奖惩信息管理(各种获奖情况的管理)、课程信息管理(包括学年度学期、课程名称、理论学时、实操学时、分批上机情况、上课、上机地点、授课教材、上课方式(多媒体教室和机房))、教研室(专业)管理(教研室(专业)的设置、教研室(专业)人员管理、教学计划管理、教研室(专业)活动管理、教研室(专业)计划与总结管理)、课酬管理。
(2)专业建设管理:包括专业设置管理、专业带头人信息管理、专业建设文档管理。
(3)个人事务管理:包括密码修改、通讯录管理(学院、各部门主要领导及本系教职工的电话号码)、短消息系统、调课请假出差管理。
(4)信息发布:包括公告栏、新闻发布、友情链接、电子日历。
(5)系部文档管理:包括系大事记管理、系文件管理、工作计划管理、工作总结管理。
(6)实验室与实习基地管理:包括实验室设备管理(包括地点、名称、设备型号、设备厂家、数量、使用专业、设备维修点信息、设备维修登记)、实验课程安排、实习就业基地管理。
(7)学生信息管理:包括辅导员信息管理、学生干部信息管理、学生奖惩和助贷信息管理(三好学生、优秀干部、优秀团员、获奖情况、奖学金(助学金、励志奖、国家奖学金))、实习就业信息管理(包括单位、联系人、联系电话)、技能证书管理、党员信息管理(预备党员、正式党员)、英语证书管理、个人特长信息管理、学生活动信息管理、实习就业信息发布。
(8)系统管理:包括用户设置与数据备份。
3.2 用例分析
根据以上的功能描述,可以得到校园OA系统的角色包括:系统用户、高级用户、管理员用户、实验室管理员、学生、教职工用户、系主任、教研室主任、教学副主任、学生副主任、专任教师、外聘教师、临时教师、秘书、班主任。不同的角色拥有不同的权限。
专任教师可以通过校园OA系统查询课程基本信息和教师基本信息,并可建立教师业务档案、申请调、停课和查询指导学生参赛情况,专任教师用例图如图2所示。
3.3 校园OA系统的SOA架构设计
校园OA系统使用SOA架构实现所有功能。为了使系统能够更好地适应各功能模块的集成,实现各模块之间的松散耦合,并提高系统数据的安全性,使用分层设计模型的思想设计系统,如图4所示。
3.4 校园OA系统数据交换架构
目前的数据交换平台大多采用XML作为数据转换桥梁,通过XML Bean[9]对数据进行增、删、改、查等操作,最后将XML的数据进行转换保存在外部数据库中。这种方法对数据使用者来说,存在不灵活、不易用的问题,因此,本文的数据交换中心采用Word文档作为原始数据池[10],将Word文档的数据存进外部数据库,并实现Web Service接口。具体流程为:首先,学校的教务管理系统、学生信息管理系统以及人事管理系统等应用系统的相关数据通过数据采集接口进行自动获取,然后Web Service再对获取的数据进行处理。数据交换平台的工作主要是将各个应用系统采集的数据保存为Word文档,用Word文档作为原始数据池,然后将原始数据池中的数据写进外部数据库,各应用系统可以直接访问外部数据库获取数据,或者将原始数据池中的Word文档读取到核心处理模块,然后再对外部数据库中的数据进行增、删、改、查等操作,最后将结果通过注册的Web Service对外部应用提供访问。数据交换平台的架构如图5所示。
(2)Web Service的定义与开发
利用Web服务组件实现校园OA系统各模块的管理,其过程可以分为以下4个步骤:
①定义各应用系统提供的Web Service接口
根据各应用系统需要对外暴露的信息的不同,将函数名以及调用的参数用表格列出。
②属性描述
将上一步骤Web Service接口的内部属性用Word描述成模板数据。
③实现Web Service接口文件
实现Web Service接口内部功能代码。当外部应用调用Web Service接口时,接口会自动执行内部功能代码并返回数据集结果。
④部署Web Service
Web Service部署描述WSDD(Web Service Deploy Description)[11]文件定义了将Web Service部署到服务器上时需要用到的参数。
校园OA系统使用ASP.NET2.0内建的Web Service[12]创建功能来创建接口;各层之间的接口采用C#语言创建接口类来实现。
(3)数据交换的实现
数据交换的实现就是对数据交换平台中的原始数据池Word文档进行解析[13],然后将Word文档的数据提取后保存到数据库中。在对Word文档解析的过程中使用到代码自动生成器,代码自动生成器的实现流程[14]如图6所示。
本文通过研究SOA技术在校园应用系统集成中的特点,设计并实现了基于SOA架构的校园OA系统,该系统通过发布Web Service实现系统的集成与数据转换,解决了传统高校办公无法实现的实时、高效与统一管理的难题。该系统达到了预期的效果并成功应用到了某高校校园信息化建设当中。
参考文献
[1] 张伟罡.基于ASP.NET技术的学校网络办公系统的设计与实现[J].计算机应用与软件,2012,29(11):243-247.
[2] 李梅,奚建清.基于SOA架构的网络教学平台集成研究与设计[J].实验室研究与探索,2010,29(11):173-176.
[3] 李冬睿,李文贵,许统德.基于Web Service的电子政务数据交换系统的实现[J].计算机与现代化,2009(10):104-107.
[4] 顾宁,刘家茂,柴晓路.Web Services原理与研发实践[M]. 北京:机械工业出版社,2005.
[5] 孙鑫.XML、XML Schema、XSLT 2.0和XQuery开发详解[M]. 北京:电子工业出版社,2009.
[6] 英格兰德.Java与SOAP[M].黄刚,译.北京:中国电力出版社,2002.
[7] 刘伟.基于WSDL的Web服务可替换性验证研究[D].上海:复旦大学,2012.
[8] 刘志辉.基于Web服务与XML技术的异构数据集成的研究[D].大连:大连海事大学,2012.
[9] 谷玉奎,曹宝香,袁玉珠.基于SOA的通用权限管理服务[J].计算机技术与发展,2008,18(6):70-72.
[10] 叶枝平.基于XML的数据交换平台及其关键问题的分析与设计[D].广州:广东工业大学,2008.
[11] 金路.基于SOA的联网装置应用集成技术研究与实现[D].南京:南京邮电大学,2013.
[12] 李剑,陈海建.基于Web Services和插件架构的新闻中心平台的设计[J].微型机与应用,2012,31(23):14-17.
[13] 陈洪猛.全文检索技术的研究与实现[D].北京:北京工业大学,2008.
[14] 李梅,郎青山.一种数据库代码自动生成器的设计[J].太原理工大学学报,2009,40(6):596-599.