王孝亮: 提出研究思路, 设计研究方案, .Net程序开发实现, 论文起草及最终版本修订; 胡军: C++程序开发实现, 起草论文。
[Objective] Expand the self-service channels and improve user experience by creating a new mode for graduation deactivation. [Context] Traditional graduation deactivation system is less-efficient and isolated. The new one-stop self-service mode would be much prevailed than the traditional one in terms of facing the challenges that caused by further developed digital campus network and massively increased workloads. [Methods] Based on MVC and upgraded three-layer structure, this new system uses open source library ‘Duilib’ and combines the technologies of ODBC, API and Web Serivces, so as to integrate all graduation information into processing platform. [Results] 90% of graduation affairs, including balance settling and account cancellation, could be done through the self-service terminals by users themselves. [Conclusions] This graduation deactivation system makes the whole process more intelligent, standard and clear, and transparent to third-party development as well.
毕业离校清证是高校图书馆的重要工作之一。随着高校毕业生数量的增长, 图书馆毕业清证工作的压力越来越大, 服务质量难以保障。笔者以中国药科大学图书馆为例, 通过对传统毕业清证工作模式的总结分析, 开发了图书馆自助毕业清证协同处理系统(简称“ 毕业清证系统” ), 为图书馆毕业清证工作赋予了新的内涵。通过此系统, 毕业生可在自助机上实现一站式毕业清证销户, 图书馆员通过Web跨校区集中式管理离校事务。本系统极大减少了毕业生读者和图书馆的工作量, 具有高效、便捷的特点, 为高校图书馆开展自助服务提供了新切入点。
目前我国高校图书馆毕业清证工作主要有三种方式:
(1) 实行分点分段的方法, 在流通部和电子阅览室分别设点, 逐一核对读者图书归还和违规欠款的信息[1];
(2) 提前整理毕业生退证名单并备注欠书欠款情况, 对照整理名单对各个系毕业生办理清证手续[2];
(3) 构建批量退证系统, 将符合条件的读者全部清证, 如有新的符合退证条件的毕业生, 系统自动重复执行[3]。
以上三种方式在一定时期内发挥了巨大作用, 但其缺点也显而易见。方式(1)和方式(2)几乎采用全人工方式, 工作涉及面广、工作量大, 人员组织、工作环节较为繁杂; 方式(3)实现了对图书管理系统半自动化处理, 但其时效性有待考证。而且三种方式都主要针对图书管理系统进行清证工作, 其他业务系统仍需单独处理。从查阅文献和实际工作交流中获悉, 我国高校图书馆多采用传统工作模式, 处于“ 被动服务” 的境地, 没有体现出“ 人文关怀” 的理念[4]。可见, 上述传统方式对于图书馆全局业务系统信息无统一规划, 信息孤岛问题日益严重, 具有一定的局限性。
近年来, 已有部分高校将图书馆数据纳入到离校系统。特别是, 随着数字化校园的实施, 在一些综合实力强、信息化程度较高、资金充裕的高校, 已形成了以学生为主体, 将教务、财务、图书馆、宿管中心、一卡通中心等多部门的相关业务系统加以整合的离校系统[5]。但在已建立离校系统的高校中, 离校系统直接访问并操作图书管理系统的相关数据库[6], 图书管理系统的数据直接暴露给外部系统且图书馆其他系统的状态无法获知, 安全性和完整性较差。同时图书馆毕业离校工作仍然采用分点分段等传统方式, 毕业生读者仍需分别到图书馆各个部门(系统)进行毕业销户。因此, 建立一站式、自助式的图书馆毕业清证系统非常必要。
中国药科大学正在进行数字化校园二期建设, 图书馆一直沿用的传统分点分段毕业清证方式已不能适应当前数字化建设的要求。近年来, 中国药科大学图书馆已采用自助文印、自助借还、自助存包等系统提升服务能力, 学生读者已经完全适应并乐于使用自助设备实现相关需求。为了更好地延伸和完善自助功能, 简化毕业离校手续, 同时配合学校数字化校园的发展, 给离校系统预先提供接口, 结合本馆实际工作的需求, 构建图书馆自助毕业清证协同处理系统, 实现图书馆毕业清证工作一体化、自助化。
中国药科大学图书馆信息化建设经历了近20年, 实现了图书管理、电子阅览室管理、自助文印管理、毕业论文管理等业务的信息化, 涉及的系统如表1所示:
自助毕业清证协同处理系统的基本思路是将表1中相关系统的查询、扣款、用户注销功能集成到统一的平台, 毕业生可以自助进行毕业清证事务处理并将处理信息反馈至各业务系统。系统方案如图1所示:
由表1和图1可以看出, 图书馆毕业清证工作涉及多个部门和多个业务系统。各个业务系统由不同厂商开发, 开发语言、平台也各不相同, 并且大多数系统未提供标准API接口, 因此, 本方案需视具体异构情况而定。业务功能方面, 涉及汇文图书管理系统欠书、欠款情况, 电子阅览室系统和自助文印系统欠款情况, 学位论文提交情况, 校园一卡通系统扣款情况。
从系统的实用性、便捷性、健壮性角度出发, 采用B/S和PC Client混合结构。毕业生进行毕业清证采用PC Client结构(部署于触摸屏一体机); 馆员查询、统计等工作采用B/S结构, 便于多校区、多分馆使用。PC Client采用MVC架构, C++语言开发; B/S采用改进的三层架构, C#语言开发。通过B/S与PC Client的有效结合, 持卡读者和无卡(卡片丢失)读者都能顺利完成毕业清证。
自助毕业清证协同处理系统的参与人员主要有两类: 毕业生读者与图书馆员。对于持卡的毕业生读者, 首先在触摸屏一体机上刷卡进行身份验证, 判断是否为毕业生读者, 如果是则验证通过, 根据读者类型集中显示相关业务系统中的信息(欠书、欠款、论文是否提交等); 如果有欠书或论文未提交的情况, 则弹出提示信息“ 完成相关手续后方可清证注销” ; 如果无欠书且论文已提交, 则可直接进行一卡通扣款并将扣款、注销等信息同步至相关外部业务系统, 完成毕业注销工作。对于小部分无卡的毕业生读者, 当用户有欠款时无法从一卡通扣款, 为避免重新补办新卡, 以图书馆收取现金或毕业生借用其他读者一卡通的方式扣款, 通过图书馆员登录B/S模块进行毕业注销工作。对于图书馆员, 完成无卡注销、提前毕业读者注销、工作量统计等工作, 具体流程如图2所示:
(1) Duilib构建视图界面
基于MFC传统应用程序提供的控件形成的界面显得有点“ 朴素” , 程序界面相似度高, 并且不能做到界面与代码的完全分离, 禁锢了开发模式。为了提高界面的美观程度和程序开发效率, PC Client采用开源的Duilib界面库[7]。
Duilib的工作原理是: 使用XML配置界面控件布局和描述界面风格, 将准备好的图片文件和XML文件存放于指定路径的文件夹中, 程序加载XML, 通过调用Duilib提供的DLL, 动态生成轻量级控件并渲染界面, 显示最终效果。
XML配置文件以Windows作为固定的根节点, 表示窗体; VerticalLayout、TabLayout、RichEdit、Label等作为子节点, 形成容器和控件。各个节点可以添加位置、大小、文本信息、颜色、透明度等属性, 同时运用Duilib提供的辅助绘制窗口工具UIDesigner可以达到所见即所得的效果。
(2) 数据集成与同步
自助毕业清证系统需要将各个业务系统中的相关信息集中显示, 进行扣款注销时需要将数据同步至各个业务系统, 其结构如图3所示:
自助毕业清证系统的数据来源于6个异构数据源, 涉及4种类型的数据集成同步方式: 厂商提供的API、OCCI和ODTwithODAC、ODBC、Web Service。在此以汇文图书管理系统为例, 展示其数据集成与同步的过程。
①数据流
汇文图书馆管理系统在我国高校图书馆占有较高的市场份额, 其中汇文毕业注销功能模块包含读者、借阅、欠款等信息, 涉及多个表的查询和操作, 在集成和同步汇文毕业注销功能模块时, 数据的流动和处理过程如图4所示。
②表和存储过程
汇文数据库中的数据表约有100个, 表与表之间存在很多关联。理清扣款和注销账户所需表以及表之间的关系, 是系统开发中的重点和难点。结合系统的实际需求, 经过长时间的梳理和测试, 系统需要集成和同步的汇文数据库中涉及的表和存储过程如表2所示:
③功能实现
图4中多处涉及汇文库、一卡通库、本地库的数据集成和同步, 所有的数据库访问信息通过XML文件进行配置。由于汇文图书管理系统采用Oracle数据库, 因此在集成和同步时, B/S端采用Oracle官方提供的ODTwithODAC组件进行数据访问。
每个业务系统都构建了一个特定的基类, 例如图书类对应图书管理系统。考虑到系统的通用性、可扩展性、可维护性, 设计了基类CbaseBook (图书类)及其子类CbookHuiWen (汇文图书类), 如果更换其他厂商的图书管理系统只需另构建一个子类即可, 对程序的其他模块不产生任何影响。图书类如图5所示。
图5中汇文类通过重载基类的方法实现相关功能, 以汇文图书管理系统扣费为例, 展示其实现过程, PC Client端部分C++代码如下:
int CBookHuiWen::Update_Fee_Status()
{ ……
for(int i=0; i< this-> mFineBookList.GetCount(); i++)
{//更新每本书的罚款记录
pBook = (BookStr* )mFineBookList.GetAt
(mFineBookList.FindIndex(i));
strSQL.Format(_T("Begin LT_UPD_EXCEED_FINE_
LST(\'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\'); end; "),
pBook-> PropNo, this-> mCERT_ID, pBook-> LongLendDate,
_T(""), _T(""), _T(""), _T(""), _T(""), _T(""), _T(""), _T(""),
pBook-> Fine, BillNo, FineDate, _T("1"), CConfigFile::
Manager, _T
("超期罚款"), _T(""), _T(""));
……
//记录操作日志
strSQL.Format(_T("Begin xt_log_detl(\'%s\', \'%s\', \'%s\',
\'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\', \'%s\'); end; "),
_T("42012"), CConfigFile::Manager, CConfigFile::SysName,
CCon figFile::Place, pBook-> MarcNO, pBook-> PropNo, this->
mCERT_ID, CConfigFile::Place, BillNo,
pBook-> Fine+_T(" to ")+pBook-> Fine);
……
在上述过程中考虑到系统采用B/S与PC Client混合模式, 制定了“ 数据契约” : B/S、PC Client采用统一的实体对象类; 扣款金额保持数据与数据类型一致。最终数据集成和同步效果如图6和图7所示:
从图6和图7可以看出, 通过数据集成能将各个业务系统中的信息碎片清晰、完整、简洁地展现出来。利用4种方式将各个业务系统的异构数据集成到系统中进行集中展示, 如果满足离校条件, 通过单击相应按钮即可将相关信息同步至各个业务系统, 完成毕业注销。
(3) Web Service对外服务
以服务为基础, 通过服务交互实现系统动态、松耦合集成是当前主流和未来的趋势。为了便于与离校系统对接, 系统中预留了Web Service接口, 采用SOAP协议, 用于交换XML编码信息。离校系统通过调用Web Service获取字符串类型或JSON轻量级格式的返回值, 从而进行实时信息查询, 确认毕业生是否可以离校。Web Service调用运行界面, 如图8所示:
以本校2014届毕业生作为测试对象, 毕业生分布于两个校区, 学生类型包括: 专科生、本科生、学术硕士、专业硕士、博士。毕业生读者只需在触摸屏一体机刷卡, 进行相关操作即可完成图书馆相关的毕业注销工作。
系统于2014年6月投入使用, 共部署两台触摸屏一体机供毕业生读者使用, 使用统计情况如表3所示:
采用触摸屏一体机(PC Client)完成毕业清证的读者共计3 398人, 由工作人员通过Web完成毕业清证的无卡读者共计369人, 自助率达到90.20%。
与传统方式相比, 本系统具有如下优点:
(1) 高效率、低投入。减少图书馆人员投入, 有利于提高图书馆工作效率。
(2) 不受空间限制。毕业生可在各校区、各分馆自助设备上进行查询和注销账户, 无需花费大量时间和精力往返于多个校区; 图书馆员不受校区的限制, 且扣款等操作关联登录账号可同步到相应的业务系统, 保持了原有业务系统数据的完整性。
(3) 接受度高。目前很多高校已广泛使用了自助设备, 年轻读者已经习惯使用自助模式(设备)。
(4) 可扩展。由于使用三层架构、MVC等技术和设计理念, 系统具有可扩展的特点。例如有的图书馆还承担了全校教材征订与发放管理工作, 因此毕业生教材费用的结算工作也可集成到此系统。
系统已运用于2014年毕业生, 从使用效果看, 还存在以下不足:
(1) 由于缺乏厂商接口程序, 对于图书丢失罚款、归还图书仍需人工通过汇文图书管理系统进行处理。在汇文图书管理系统版本升级时, 通过厂商提供的接口来完善此功能。
(2) 通用借书证的数据部署在校外并且没有相关接口, 持有通用借书证的毕业生进行自助离校时, 仍需通过指定相关系统处理后方可通过本系统自助离校。希望通过与江苏省高校图书情报工作委员会联系, 以Web Service或数据库订阅发布的方法来完成通用借书证注销工作。
伴随数字化图书馆的发展, 自助服务是目前研究的热门课题之一。本文提出自助毕业清证协同处理系统, 对图书馆相关业务系统中的离校信息进行整合和同步。系统以毕业生读者为中心, 为毕业生读者提供了方便高效的离校服务, 得到了毕业生读者的认可。同时也可以为离校系统提供接口, 为读者顺利毕业离校提供保障。系统对探索构建完备的图书馆自助服务体系具有重要意义, 同时也具有进一步挖掘的潜在空间。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|