基于企业微信的信息化需求采集管理平台①

2020-11-24 05:46解攀科郭伟秀廖莉莉
计算机系统应用 2020年11期
关键词:后台师生功能

解攀科,郭伟秀,许 婷,廖莉莉

1(华中师范大学 信息化办公室,武汉 430079)

2(华中师范大学第一附属中学,武汉 430079)

近年来,高校信息化建设不断推进,学校信息化基础设施建设已经初具规模,硬件环境和网络环境均得到改善,软件系统应用水平也逐步得到提升[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_jDfawGUoxFr 2P3BcqiKDz2o";

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

//...

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

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

猜你喜欢
后台师生功能
99Tcm-MIBI显像在甲状旁腺功能亢进术前诊断中的应用价值
一种具有附加内窥镜功能的医疗管
基层弄虚作假的“新功能取向”
初中历史教学中师生的有效互动
把党史的功能作用发挥得更加充分有效
以书画教育引领师生成长
思政课,师生如何“动起来——因为扣准“问题链”
Wu Fenghua:Yueju Opera Artist
后台暗恋
麻辣师生