李 翔
(桂林電子科技大學,桂林 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協議的實時通訊機制已更多地運用到實際中。