计算机系统应用  2020, Vol. 29 Issue (11): 92-96   PDF    
基于企业微信的信息化需求采集管理平台
解攀科1, 郭伟秀2, 许婷1, 廖莉莉1     
1. 华中师范大学 信息化办公室, 武汉 430079;
2. 华中师范大学第一附属中学, 武汉 430079
摘要:为提升高校信息化建设的水平, 需要深入而广泛地获取师生信息化需求. 企业微信作为一个成熟的信息化开发平台, 构建了良好的应用生态, 具备一致性及易用的用户体验. 通过对企业微信应用开发模式的研究, 并结合高校信息化需求管理的特点, 开发了便捷易用的需求采集管理应用. 文中对需求管理系统的架构设计、模块组成、实现过程和应用结果进行了阐述, 并尝试使用Spring Boot对企业微信快速开发进行了优化. 系统已开发完毕并投入使用, 师生可使用企业微信便捷地提交各类信息化需求, 学校后台管理员可高效地进行需求管理, 取得了较好的应用效果.
关键词: 企业微信    信息化建设    需求采集管理    Spring Boot    
Information Demand Management Platform Based on WeChat at Work
XIE Pan-Ke1, GUO Wei-Xiu2, XU Ting1, LIAO Li-Li1     
1. Information Office, Central China Normal University, Wuhan 430079, China;
2. No.1 Middle School Affiliated to Central China Normal University, Wuhan 430079, China
Foundation item: Fundamental Research Funds for the Central Universities of China (CCNU19IT0107)
Abstract: In order to improve the level of information construction in colleges and universities, it is necessary to acquire the information needs of teachers and students deeply and comprehensively. WeChat at Work, as a mature information development platform, has built a good application ecology, with consistency and easy-to-use user experience. Through the research on the application and development mode of WeChat at Work, and combined with the characteristics of information-based demand management in colleges and universities, an easy-to-use demand management system is developed. This paper describes the system development architecture design, module composition, implementation process and implementation results, and tries to use Spring Boot to optimize the rapid development of WeChat at Work. The system has been developed and put into use, teachers and students can easily use WeChat at Work to submit all kinds of information needs, the information administrators can efficiently carry out demand management, has achieved sound application effect.
Key words: WeChat at work     information construction     demand collection     Spring Boot    

近年来, 高校信息化建设不断推进, 学校信息化基础设施建设已经初具规模, 硬件环境和网络环境均得到改善, 软件系统应用水平也逐步得到提升[1]. 高校建设了大量的业务信息系统, 如人事管理系统、财务管理系统、科研管理系统、教务管理系统、教学云平台等, 满足了学校师生在教学、科研、个人发展、学术交流等方面的需求. 信息系统间通过统一基础平台实现互联互通, 由于企业微信APP具备微信APP简单易用的特点, 一些高校选择通过企业版的微信平台来实现移动校园业务的融合[2-4].

高校信息化建设需广泛征集师生日益增长的信息化需求, 应考虑提供覆盖面广、便捷易用的需求获取通道. 传统方式下, 信息化建设的需求获取通过访谈若干师生用户代表来实现, 分析师生的使用场景和业务流程. 但传统模式下的需求采集, 存在覆盖面不够和效率低下的缺点, 需要借助有效的信息化手段,提升用户覆盖面和采集的工作效率. 高校通过企业微信构建校园微门户, 师生已广泛使用微门户各项功能,基于企业微信开发相关功能来获取信息化需求, 是一种可行易用的需求采集方案. 企业微信具有媲美微信APP的简洁用法和较好的用户体验, 师生可快捷登录、获取功能推荐、呈现个性化的用户交互UI界面, 同时可避免微信业务繁杂查找不便的缺点, 方便师生沉浸式地使用所需的功能. 基于企业微信开发信息化需求采集工具, 方便师生用户快捷提交需求, 有助于避免好的需求点子转瞬即逝, 通过定期推送、长期采集的模式多方位采集用户需求, 有助于信息化建设工作“有的放矢”.

通过企业微信平台快速开发需求采集工具, 既提升师生的易用性, 又可以通过企业微信身份机制实施交互对接, 精准识别身份源并提炼可信需求, 提升信息化需求采集工作的信度和效度. 研究企业微信的接口进行了系统开发, 并通过轻量级的Spring Boot实施相关的模块集成, Spring Boot可充分利用丰富的Java应用库灵活组合使用, 并遵循企业微信开发规范进行快速开发,移动版界面通过HTML5方案来实现自适应适配. 基于企业微信的信息化需求采集平台已开发完成并投入使用, 师生可方便地通过企业微信提交需求、变更需求、进行热门需求讨论等功能, 系统管理员在系统后台可方便地进行需求对接、处理等相关管理工作.

1 企业微信教育应用开发优势分析

企业微信是腾讯2014年打造的适合高校信息化场景的企业通讯及办公平台. 企业微信APP具有和微信APP一致的用户体验, 使用企业微信平台, 可避免高校自行开发维护APP的各种难题, 如APP的碎片化等. 企业微信可方便实现高校组织架构的整合, 提供统一的身份认证体系, 并基于微信企业架构快速开发应用程序. 基于企业微信的高校移动应用具有轻量级、易于整合、易于连接、数据安全可控的优点. 高校基于企业微信打造移动版应用, 提供了一致性的移动应用环境, 方便师生使用各类实用的校园微应用, 如远程校内视频会议、小组化协作学习、课程资源共享、各类校园学习生活信息查询等[5-7]. 基于企业微信的消息提醒机制, 可以便捷低成本的向师生推送各类实用信息, 并避免传统方式下重复推送的缺点. 综合利用企业微信的平台优势, 很多高校使用企业微信来实现信息化基础设施的打通, 并开发了大量移动应用, 如信息公共服务、企业微信教务应用、企业微信图书资源应用、企业微信校园网应用等.

2 信息化需求采集管理系统设计与实现 2.1 系统需求分析

高校在进行信息化系统建设时, 需要充分调研师生的各类需求, 往往采用当面访谈的方式进行. 这种直接点对点的方式沟通可有效获取一定的系统需求, 但受制于沟通人员或沟通场景的局限性, 使得需求获取存在一定的片面性. 高校在建设公共性质的信息化基础平台时, 为达到较好的建设效果, 需求分析应实现较大范围的用户覆盖. 因此需要借助信息化手段来直接获取师生的各类需求, 提升需求收集、处理的效率, 并支持需求的过程迭代, 从而实现需求的完善采集和实用性处理. 基于企业微信可快速开发应用来获取师生需求, 并通过企业微信消息提醒机制精准定向推送至师生. 在企业微信平台下开发管理需求的微应用, 可方便与师生交互, 并支持双向沟通、反馈与迭代, 是一种可行的解决方案.

2.2 系统框架及功能说明

综合分析信息化需求采集系统的建设目标、受众范围、系统功能, 对系统各大功能模块进行了设计. 系统用户端由企业微信APP构成, 系统服务器管理端由J2EE的后台系统构成. 系统用户端主要由企业微信实现采集表单、需求提交录入、需求查看、需求修改、附件管理、热门需求投票等功能, 各项功能从用户界面到交互设计均遵循企业微信API开发规范. 系统服务器端由授权管理、需求分类、需求调整、需求优化、需求迭代、需求统计分析等模块组成, 采用Spring Boot轻量级J2EE微服务框架实现. 图1说明了系统框架及其功能设计.

图 1 系统功能示意图

2.3 系统实现技术框架

系统技术框架基于企业微信[8]架构设计, 采用Spring Boot作为具体的微服务应用技术实现. 基于企业微信和学校原有的移动平台API接口, 实施项目开发、对接、部署、测试和上线试运行. 后端系统开发使用Spring Boot框架开发, 部署到虚拟机节点上提供服务. 服务器通过Nginx反向代理机制运行, 配置了基于权值的负载均衡策略,对计算节点进行按需调度, 并通过双节点集群部署来提升系统的稳定性. 系统采用Oracle 12c作为运行数据库. 系统开发要有效实现企业微信和Spring Boot的技术对接[9-12], 采用一体化身份认证架构设计, 要考虑解决PC端CAS统一身份单点登录认证,及实现企业微信OAuth2认证. 在企业微信前端界面开发时, 使用HTML5方案实现移动端UI的响应式布局. HTML5方案基于开源的Amaze UI[13]实现界面开发. Amaze UI遵循移动优先的理念来实现移动设备、PC设备的自适应适配. Amaze UI可实现轻量级的前端渲染, 并通过整合CSS3来实现异步交互, 支持移动版应用程序的快速加载.

2.4 系统开发与实现

系统开发遵循企业微信API开发规范, 通过HTTP协议封装, 提交客户端的GET请求加载微应用. 应用程序首先需要正确发送corpID和secret参数获取访问Token. 在获取有效Token后, 依据当前会话获取code参数, 再向企业微信服务器发起HTTP数据请求. 若请求数据包基于OAuth2协议回调成功, 则可以返回正确格式的JSON数据包, 使用合适的Java工具处理JSON数据, 并加载相关数据、获取权限等. 系统处理流程发起时, 用户操作相关功能会发起用户请求. 企业微信APP会将用户请求执行URL重定向, 企业微信后台会执行静默验证操作, 当机构标识corpID和密钥secret验证通过后, 会返回正确的code值. 依据获取的code, 系统会话会通过HTTP 302跳转到信息化需求采集后台的URL. Java服务后台的Servlet处理程序会执行相关的企业微信API调用, 依据正确提交的code进行会话处理, 并返回userid等所需的机构基础数据. Java服务后台在获取机构基础数据后, 执行信息化需求采集处理相关业务方法, 处理业务逻辑, 获取业务数据. 服务器后台数据处理完毕后, 通过进一步的视图渲染处理, 最终以HTML5的自适应版移动界面呈现处理结果. 图2说明了基于企业微信的信息化需求采集应用开发实现流程.

图 2 基于企业微信的信息化需求采集应用开发实现流程

利用表1所示的API及其函数, 采用如下Java代码实现了与企业微信集成:

try

{

String corpID="wx7608d605c7058b0c";

String secret="59kOoxasp21k7oDvfca_jDfawGUoxFr2P3BcqiKDz2o";

String token=QywxAccessTokenAPI.getAccessToken(corpID,secret).getAccesstoken().toString();

//...

String wxUserInfoUrl=" "; wxUserInfoUrl="https://qyapi.weixin.qq.com/cgibin/user/getuserinfo?access_token="+token+"&code="+code;

String httpStr=HttpRequestUtils.httpGet(wxUserInfoUrl,null, 6000);

String outStr=JSONObject.parseObject(httpStr).get("UserId").toString();

//···

}

catch (Exception e)

{e.printStackTrace();}

J2EE服务器端由Spring Boot实现, Spring Boot通过自动配置的机制解决J2EE的依赖问题. 通过pom.xml可便捷地引入所需的Java组件. Spring Boot通过形如@Controller的Java注解构造Spring MVC的控制器, 控制器通过@RequestMapping注解构造相关的Request方法, 该方法的请求参数按照企业微信API规范提交, 数据交互处理的结果以HTML5格式呈现, 企业微信APP处理HTML5页面并予以渲染显示.

表 1 API举例及方法说明

2.5 系统开发完成情况

系统使用IntelliJ IDEA软件开发完成, 并已部署至实际的企业微信环境中运行, 师生可以方便地在APP上使用“信息化需求采集”功能. 师生安装并运行企业微信APP, 即可方便地使用各项功能,通过企业APP界面提交各类信息化需求. 其它功能也一并开发完成, 已在APP上线, 通过相应界面操作, 师生可方便查看已提交的需求、查看处理状态、附件上传、参与热门点赞等. 基于已实现的OAuth2集成对接, 用户无需输入账号密码登录, 可直接获取身份权限, 并完成系统交互. 图3为信息化需求采集应用在企业微信上的运行情况.

图 3 信息化需求采集应用在企业微信APP运行情况

系统后台基于JDK 8开发完成, 通过Spring Boot内置的Tomcat容器运行后台服务. 系统后台通过Nginx反向代理实现端口转发, 并执行负载均衡策略调度Tomcat计算节点. 系统使用HikariCP[14]高性能JDBC连接池技术来提升数据库访问性能, HikariCP借助Javassist提升数据库连接动态代理的处理能力, 并通过ConcurrentBag并发集合技术大幅提升数据库并发处理的性能, 且极大幅度降低了数据库锁竞争的概率. 系统后台部署后, 通过LoadRunner[15]工具进行了系统并发性能测试, 通过录制用户脚本, 模拟客户端发送请求来完成各项测试. 图4显示了系统后台在不同并发用户数下的平均、最短、最长响应时延. 随着系统并发用户的增多, 系统响应时延随之有所增长, 但系统平均时延可控制在5 s以内, 表明后台处理情况良好, 后续工作中可针对实际运行场景进一步调整后台性能, 使系统运行状况控制在更佳的范围内.

图 4 后台并发测试情况

3 系统应用推广

基于企业微信开发的微应用, 可借助企业微信的消息机制实施精准推送, 师生在获取推送材料后, 可及时参与信息化需求征集工作. 为有效实施微应用的推广, 需设计精美的微信专项推文, 并向全体师生实施合理频度的无扰推送. 图5为应用推广的推文界面. 在2019年12月进行的推广活动中, 12月2日即有5500用户使用了企业微信的信息化采集功能, 具体请见图6. 截至2019年12月, 累计采集校务服务信息化需求近400项.

图 5 应用推广的推文界面

图 6 用户使用情况

4 结束语

企业微信作为一个成熟的信息化基础平台, 建立了统一的IT连接架构, 提供了一致性的开发工具, 并打造了良好的IT生态环境. 高校在信息化建设过程中, 可充分利用好企业微信的平台优势, 既有效控制软件开发成本, 又可把主要精力投入到适合高校场景的业务开发中来. 利用企业微信开发高校信息化应用, 实施高校各类微应用的敏捷开发, 进而逐步打破高校的数据孤岛, 实现高校信息化水平提升. 在基于企业微信推进信息化建设时, 应充分利用好大平台的天然优势, 并借助企业微信生态推动各项业务在师生中的广泛使用. 企业微信作为一个全行业适用的生态系统, 高校应结合教育行业的特点与之整合, 充分发挥企业微信在高校数字化学习、数字校园建设中的优势, 但也要大胆舍弃不适合高校的某些功能, 不宜全盘照搬. 如何将高校信息化与企业微信深度融合, 打造最佳实践, 仍需要高校信息化建设者进一步研究和探索.

参考文献
[1]
罗倩. 基于微信企业号的移动智慧校园建设研究. 信息技术与信息化, 2018(6): 155-156. DOI:10.3969/j.issn.1672-9528.2018.06.047
[2]
李书钦, 马时来. 基于微信企业号的高校移动办公平台设计与实现. 实验室研究与探索, 2018, 37(9): 154-158. DOI:10.3969/j.issn.1006-7167.2018.09.035
[3]
何良泉, 杜英俊. 基于微信企业号的移动教学管理系统的设计与初步应用. 中国信息技术教育, 2018(11): 97-100. DOI:10.3969/j.issn.1674-2117.2018.11.033
[4]
薛荣荣, 肖桐. 基于微信企业号的高校移动数字迎新研究. 电脑知识与技术, 2017, 13(32): 46-47.
[5]
梁中, 陈波, 于泠, 等. 基于手机微信的信息安全翻转实验课堂教学实践. 实验技术与管理, 2016, 33(10): 156-160.
[6]
李肖霞, 朱万侠, 马海英. 基于企业微信平台的混合式学习模式设计与实施. 教育现代化, 2018, 5(44): 195-198.
[7]
夏凌云. 基于黑洞路由和微信企业号的园区网访问控制系统. 计算机系统应用, 2018, 27(10): 291-295. DOI:10.15888/j.cnki.csa.006566
[8]
企业微信API. https://work.weixin.qq.com/api/doc. [2020-03-31].
[9]
郝哲伟, 刘洋. 基于微服务架构下的企业微门户平台规划. 信息系统工程, 2017(9): 140-141. DOI:10.3969/j.issn.1001-2362.2017.09.104
[10]
马鸿. 高校信息化建设中系统集成框架的研究与设计. 信息技术与信息化, 2016(3): 62-64. DOI:10.3969/j.issn.1672-l9528.2016.03.013
[11]
郑海山, 刘燕文. 基于微服务的高校信息化系统研究和实现. 中国教育信息化, 2019(17): 53-58.
[12]
欧阳荣彬, 王倩宜, 龙新征. 基于微服务的数据服务框架设计. 华中科技大学学报(自然科学版), 2016, 44(S1): 126-130.
[13]
Amaze UI. https://github.com/amazeui/amazeui. (2016-08-17).
[14]
[15]
LoadRunner. https://en.wikipedia.org/wiki/LoadRunner. [2020-04-05].