文化馆培训活动服务平台的应用设计
——以广州市文化馆为应用案例
2016-02-08胡鹏华
胡鹏华
(广州市文化馆 广东 广州 510310)
文化馆培训活动服务平台的应用设计
——以广州市文化馆为应用案例
胡鹏华
(广州市文化馆 广东 广州 510310)
通过信息化技术搭建培训活动服务平台,提升文化馆公共文化服务水平。随着移动互联应用的普及和群众对文化服务需求的剧增,需要为群众提供一种便捷的信息化服务应用平台,通过 Web 应用技术搭建信息化平台把文化馆培训管理、活动管理等业务整合进入统一的平台,群众用户可以在PC端或手机微信端上通过一键操作的形式便捷地使用文化馆的提供的培训、活动服务。本文以广州市文化馆为例,谈设计文化馆信息化平台公共服务功能在大幅提升文化馆群众服务的质量水平方面的经验。
信息化 活动平台 微信平台 移动服务
引言
群众文化培训、文化活动作为文化馆服务工作的重要组成部分,既是履行休闲、娱乐、教育职能、文化传承的重要途径,也是增强群众使用文化馆的意识、传播文化知识、与群众建立和谐融洽关系、提高文化馆利用效率和知名度的有效载体,目前越来越受到公共文化管理部门的重视。如果利用互联网信息化服务平台,为群众提供便捷的文化服务,将会大大提升文化馆在信息化时代的服务水平。
一、应用背景
随着科学技术的高速发展,信息化应用平台在大众的普及,使得原来完成一项费时费力的事务已经变成触手可及。例如,浏览网上商城的商品信息,直接点击一键下单,轻松地完成网上购物,信息化技术提供非常便捷的服务,从而使用户获得更好的使用体验。然而,目前很多地区的文化馆对于群众文化活动、培训的管理,还处于传统手工的管理方式。操作流程大概这样:文化馆在门户网站发布了活动公告、培训公告(或在文化馆贴出了活动、培训海报),在指定的时间、地点接受群众的报名,群众可通过电话来报名登记,也可以到现场报名登记,这个报名过程填写很多资料信息(下次报名同样要重复同这个环节),这个报名对于群众或工作人员都是增加了很大的工作量和时间,签到也类似相同情况。后续考勤、统计等都是通过工作人员手工来完成,这样不但工作繁琐,效率低、分析不全面,又容易出差错。在信息化技术高度发达的今天,必然有成熟的解决方案来解决上述的问题。
二、实现方法
(一)系统架构设计
整体框架采用SSM的MVC的架构,前端表现层和后台数据交互统一采用JSON或XML,前台框架只负责页面展现,不包含业务逻辑,有利于专业分工和系统的后期维护。后端控制层支持SNA的系统架构,通过框架内置的SESSION管理,隔离对会话状态的依赖。
业务逻辑层基于Spring,通过注解和IOC的编程模式进行Bean的解析、管理。通过AOP的面向切面的编程模型实现应用、模块开发的各层、各功能的有效解构,降低相互依赖数据持久层负责数据的持久化工作,屏蔽业务逻辑层对后台数据的处理,数据持久层框架全面兼容Mybatis,通过扩展,支持水平、垂直数据处理,支持大用户、大数据量的访问要求。服务调用层基于开源NIO高性能框架,支撑Mina、Netty等。支持Hessian、Rest、Http等多种协议。
架构关键技术:
1、Ajax Web框架,采用JS、Ajax、JSON、CSS前后台分离,支持JSP、HTML多种表现技术。
2、整理采用SSM的MVC架构,通过数据适配插件屏蔽表现层和业务层差异。Session管理,支持无状态的SNA架构;
3、通过IOC注解的方式实现Bean的解析和管理,采用AOP面向切面的编程模式来解析。
4、自主数据持久框架,完全兼容Mybatis,通过水平、垂直分库等支持大数据量处理,服务调用Netty、NIO高性能框架,支持常用的XML,HTTP协议。
(二)系统功能设计
1 、系统功能图
2、应用功能模块设计
本系统在功能设计上主要体现在两大模块:一、培训管理模块,二、活动管理模块,围绕着这两大模块展开的一系列应用设计。
(1)培训管理流程描述
培训管理模块包含了“培训项目管理”、“课程管理”、“课程排期管理”、“课程报名管理”、“课程抽签管理”、“培训签到管理”等模块功能。培训管理流程从设置培训项目、发布培训课程开始,管理流程步骤如下:
①首先设置“培训项目参数”,跟培训项目报名相关的主要参数“项目名称”、“报名时间段范围”、“录取公布时间段范围”、“招生简章说明”,“报名志愿数量”等。
②培训课程的发布,是在培训项目的目录下分布,设置相关的主要参数“课程名称”、“课程简介”、“培训时间段范围”、“总期数”、“总课时”、“招生人数”和“年龄段”等。
③课程排期管理,根据课程总期数参数批生成排期记录,允许修改,删除中间排期记录时,系统自动顺延。
④课程报名管理,课程发布后,在培训项目设置的报名时间范围内接受群众用户报名登记(网上或微信)。工作人员可以查询、删除、修改报名状态记录,插班、调班处理。
⑤当报名人数超出招生人数,采取抽签来决定录取的方式。
⑥培训时间到了,开始培训签到处理(WEB后台签到、微信签到)。
⑦统计分析报表。
(2)活动管理流程描述
活动管理模块包含了“活动信息管理”、“活动报名管理”、“活动签到管理”等模块功能。活动管理流程从发布活动信息开始,管理流程步骤如下:
①活动信息发布,设置相关的主要参数“活动名称”、“活动描述”、“报名时间段范围”、“签到时间段范围”、“活动时间段范围”、“名额”和“年龄段”等。
②活动报名管理,活动发布后,在设置的报名时间范围内接受群众用户报名登记(网上或微信)。工作人员可以查询、删除、审核报名记录。
③活动时间到了,开始活动签到处理(WEB后台签到、微信签到)。
④统计分析报表。
(3)微信活动报名流程描述
微信平台应用服务程序调用活动平台提供的活动信息输出的webservice接口,遍历读取接口返回的数据模型对象,组装成数据集合列表,并显示微信端界面上。活动列表主要信息字段:活动名称、活动时间段、图片、活动地点,点击图片进入“活动详情”界面,这里将显示更详细的信息,包括活动报名剩余名额、活动介绍、报名时间段、签到时间段、活动信息浏览人次(如下图所示)。如果用户要报名该活动,直接点击“报名”按钮,微信端将调用平台提供的活动报名webservice接口,返回报名登记处理结果,完成报名操作。对于未绑定的用户帐号的,点击报名时将会进入注册界面,可填写简单的注册信息,提交后可登录微信进行报名操作。
3、微信培训签到接口设计
培训活动管理系统提供签到调用的webservice接口,再到微信端扩展二次开发对接webservice签到接口,可以让用户打开微信端的培训签到菜单功能,扫二维码完成签到处理。
(1)协议描述
接口采用基于SOAP协议的WEB Services实现。通信双方以客户-服务器方式建立连接,只提供一次交互,不保持连接。培训活动管理系统作为WEB Service的server端,提供培训信息输出的接口,微信端作为接口的客户端主动发起请求。
(2)协议流程
一个正常的培训签到业务如下所示:
①客户端发起Web Service 签到请求,包括帐号、密码、培训课程ID。
②培训活动系统接收到请求,后台逻辑处理后返回处理结果给WebService客户端。
(3)主要数据模型
①输入数据
SimpleInputInfo 简单输入数据模型
名称说明数据类型长度r d i d帐号S t r i n g 3 0 r d p a s s w d密码S t r i n g 3 0 c o u r s e _ i d课程记录I D I N T 1 0
②输出数据
ActivityListResult 返回信息列表对象模型
名称说明数据类型长度s t a t e状态值I N T 1 m e s s a g e返回消息内容S t r i n g 1 0 0
(4)消息响应系统
微信核心处理服务用于接收和验证从微信平台发送过来的消息, 该模块由Tomcat 和Servlet 搭建而成。其中消息验证模块, 是利用微信平台发送过来的signature、timestamp、nonce 三个参数以及与平台实现约定好的令牌来进行验证。参数详细描述:加密签名 signature 是采用SHA-1 对由token、timestamp、nonce 三个参数按照字典排序拼接成的一个字符串进行加密而成的。系统利用token、timestamp、nonce 三个参数进行加密之后与signature 进行匹配,若相同则表示消息真实可靠。除了验证参数之外, 还有消息实体内容用以后续的系统处理, 实体内容采用XML 格式, 具体结构如下(以事件消息为例):
〈xml〉
〈ToUserName〉〈![CDATA[toUser]]〉〈/ToUserName〉
〈FromUserName〉〈![CDATA[FromUser]]〉〈/FromUserName〉
〈CreateTime〉123456789〈/CreateTime〉
〈MsgType〉〈![CDATA[event]]〉〈/MsgType〉
〈Event〉〈![CDATA[EVENT]]〉〈/Event〉
〈EventKey〉〈![CDATA[EVENTKEY]]〉〈/EventKey〉
〈/xml〉
①ToUserName 为微信机构号, 服务号在微信平台号的唯一标识符。
②FromUserName 为发送方的微信号(Openid), 用户的唯一标识符。
③CreateTime 为消息创建时间。
④MsgType 为消息类型。在微信平台共定义了文本消息(Text)、图片消息(Image)、语音消息(Voice)、视频消息(Video)、地理位置消息(Location)、链接消息(Link)以及事件消息(Event)7 种, 由MsgType 来描述。针对不同的消息类型, 具体的结构有细小差别。
⑤Event 为事件类型, 仅当为事件消息时有效, 包含:订阅(Sunbscribe)事件, 当用户关注公众号时生成; 取消订阅(Unsubscribe)事件, 当用户取消关注公众号时生成; 自定义菜单事件(Click), 当用户点击公众号界面中的菜单时生成。
⑥EventKey 为事件值Key, 与自定义菜单接口中的Key值对应, 用以确定用户点击的菜单按钮。
(5)消息推送系统
由于响应系统是被动接收用户发送来的请求, 无法满足一些实时通知的功能, 如公告通知、系统实时提醒等, 所以运用微信平台提供的客服接口给特定的用户发送消息。系统在接收到推送事件之后, 利用Http-Client 登录微信平台并获得访问令牌(Access Token), 随后将需要推送的内容打包成JSON 格式发送给微信平台, 并由平台推送给用户。推送的消息格式有发送文本消息、发送图片消息、发送语音消息、发送视频消息、发送音乐消息、发送图文消息。
三、应用效果
广州市文化馆是2015年6月正式上线培训活动平台,同时开通微信发布培训、活动报名,系统上线一年的时间内正式举办了128场培训班,注册用户:4850人,报名:5680人次。广州市文化馆为群众用户提供了一个便捷的培训、活动报名途径,让广大群众能零距离地享受和体验到优质的文化服务。
结语
通过广州市文化馆培训活动平台与微信平台的对接整合对外发布,公共文化服务更加零距离、实时地贴近群众。在信息化进入移动互联的时代,让用户获得更好的便捷文化服务体验,这源自于文化馆对公共服务质量上大幅的提升。反过来,群众积极地参与培训、活动,增强线上线下的活跃度,提高文化馆的人气氛围,带动文化馆服务质量和知名度的提升,文化馆和群众创造双赢的局面,也体现文化馆创造的良好社会效益。
〔1〕郭利敏,张磊,赵亮.图书馆微信服务应用开发.现代图书情报技术.2014,30(5):P96-101;
〔2〕李绍权.基于ESB的异构系统集成实现[J].计算机应用.2008,28(2):P538-540;
〔3〕张蓓,窦天芳,张成昱,等.开发模式下图书馆微信公众平台服务的设计与实现[J].现代图书情报技术,2014(1):P87-91;
〔4〕黄浩波,何卫华,叶青.微信及其在图书馆信息服务中的应用[J]. 图书馆学刊,2013(1): P62-64。
book=25,ebook=30
胡鹏华(1976--),男,大学本科,初级职称,从事计算机网络运维工作、群文期刊《艺术广场》出版发行工作,现任职广州市文化馆。