李 翔
(桂林电子科技大学,桂林 541004)
ERP是以支持企业内部和企业之间的协同管理来优化企业资源的新一代信息系统,在制造业中广泛应用。ERP系统将人事管理、生产管理、供应链管理和财务管理集为一体,具有管理架构清晰、业务流程规范、部门协作紧密、信息传递通畅等特点,达到了企业资源优化配置的目的,转变了企业原有的粗放型管理模式,提高了企业效益与竞争力。
在ERP系统中,各个业务部门在工作交接和传递过程中,有许多表单需要不同人员进行审核,这就要求系统及时提醒相关人员进行审核操作。特别是行政管理部门,需要紧密联系企业内部人员,有各种各样的通知、报告等信息随时进行收发,所以系统必须使用高效的通讯方式让信息接收者及时收到提示。
ERP系统在制造业中得到了广泛的应用,较完整的制造企业的ERP系统包含了行政管理、销售、生产、采购、库存、财务等模块。除了行政管理模块,其余模块都是主体业务部门,各个业务模块都与其他部门产生有相应的联系,如采购部门需要提醒财务部门付款给供应商,还需要提醒库存部门接收采购物资,采购订单就需要财务部门和库存部门进行审核。
企业中的行政管理部门,是最需要实时通讯机制的一个部门。在日常事务管理中,为了防止信息延迟接收的问题,需要信息发送方提醒信息接收方刷新页面来获取实时信息,这就需要服务端能一直与客户端保持通讯,只要客户端发送信息,服务端应该立即推送给对应用户并进行提醒。行政人员与职员间的信息交互内容如下图如示。
图1 行政部门人员与职员间的信息传递内容
经分析,系统对实时通讯的需求主要有:系统内可实现实时、动态地产生提示,不用不间断地发送请求,节约带宽。
随着HTML5标准规范最终制定完成,WebSocket协议是基于HTML5提供的一种在单个TCP连接上进行全双工通讯的协议,该协议本质上为通信双方提供一个基于TCP连接的双向通道,所以能够高效的在双向通道中实时互相发送信息。
WebSocket是一种协议,与HTTP协议一样位于应用层,都是TCP/IP协议的子集。HTTP协议是单向通信协议,只有客户端发起HTTP请求,服务端才会返回数据。而WebSocket协议是双向通信协议,在建立连接之后,客户端和服务器都可以主动向对方发送或接受数据。WebSocket协议建立的前提需要借助HTTP协议,建立连接之后,持久连接的双向通信就与HTTP协议无关了。WebSocket协议的目标是在一个独立的持久连接上提供全双工双向通信。客户端和服务器可以向对方主动发送和接受数据。在JS中创建WebSocket后,会有一个HTTP请求发向浏览器以发起请求。在取得服务器响应后,建立的连接会使用HTTP升级将HTTP协议转换为WebSocket协议。
传统实现实时通讯的做法就是使用Ajax轮询技术,每隔一段时间就发送一次Ajax请求,查看服务器端是否有消息需要返回。这种传统的轮询技术其缺点显而易见,即每次客户端都要与服务器端建立连接,并且这个过程不是由服务器端主动推送的,这就造成了带宽资源的浪费。针对这种问题,ERP系统采用了WebSocket协议来进行实时通信。WebSocket协议允许服务器端主动向客户端发起请求,浏览器与服务器只需要完成一次握手,即可创建一条持久的快速通道,并支持双向数据传输。
实现过程如下图所示:
图2 WebSocket客户端与服务器的交互
当信息成功发送给相应的职员后,这位员工随即会在系统界面的右上角看到闪烁的信息图标,这时员工可以直接点击提醒图标来阅读通知。
WebSocket是HTML5下一种新的协议,主要分为两部分,分别为连接许可验证和验证后的数据交互。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的。ERP系统中为了使提示能够实时、动态地显示,使用基于WebSocket协议的实时通讯机制能够满足系统的需求。使用标准的HTTP协议无法实现WebSocket协议,只有支持该协议的专门浏览器才能正常工作。随着WebSocket协议的不断完善,基于WebSocket协议的实时通讯机制已更多地运用到实际中。