胡鵬華
(廣州市文化館 廣東 廣州 510310)
文化館培訓(xùn)活動服務(wù)平臺的應(yīng)用設(shè)計
——以廣州市文化館為應(yīng)用案例
胡鵬華
(廣州市文化館 廣東 廣州 510310)
通過信息化技術(shù)搭建培訓(xùn)活動服務(wù)平臺,提升文化館公共文化服務(wù)水平。隨著移動互聯(lián)應(yīng)用的普及和群眾對文化服務(wù)需求的劇增,需要為群眾提供一種便捷的信息化服務(wù)應(yīng)用平臺,通過 Web 應(yīng)用技術(shù)搭建信息化平臺把文化館培訓(xùn)管理、活動管理等業(yè)務(wù)整合進(jìn)入統(tǒng)一的平臺,群眾用戶可以在PC端或手機(jī)微信端上通過一鍵操作的形式便捷地使用文化館的提供的培訓(xùn)、活動服務(wù)。本文以廣州市文化館為例,談設(shè)計文化館信息化平臺公共服務(wù)功能在大幅提升文化館群眾服務(wù)的質(zhì)量水平方面的經(jīng)驗(yàn)。
信息化 活動平臺 微信平臺 移動服務(wù)
群眾文化培訓(xùn)、文化活動作為文化館服務(wù)工作的重要組成部分,既是履行休閑、娛樂、教育職能、文化傳承的重要途徑,也是增強(qiáng)群眾使用文化館的意識、傳播文化知識、與群眾建立和諧融洽關(guān)系、提高文化館利用效率和知名度的有效載體,目前越來越受到公共文化管理部門的重視。如果利用互聯(lián)網(wǎng)信息化服務(wù)平臺,為群眾提供便捷的文化服務(wù),將會大大提升文化館在信息化時代的服務(wù)水平。
隨著科學(xué)技術(shù)的高速發(fā)展,信息化應(yīng)用平臺在大眾的普及,使得原來完成一項(xiàng)費(fèi)時費(fèi)力的事務(wù)已經(jīng)變成觸手可及。例如,瀏覽網(wǎng)上商城的商品信息,直接點(diǎn)擊一鍵下單,輕松地完成網(wǎng)上購物,信息化技術(shù)提供非常便捷的服務(wù),從而使用戶獲得更好的使用體驗(yàn)。然而,目前很多地區(qū)的文化館對于群眾文化活動、培訓(xùn)的管理,還處于傳統(tǒng)手工的管理方式。操作流程大概這樣:文化館在門戶網(wǎng)站發(fā)布了活動公告、培訓(xùn)公告(或在文化館貼出了活動、培訓(xùn)海報),在指定的時間、地點(diǎn)接受群眾的報名,群眾可通過電話來報名登記,也可以到現(xiàn)場報名登記,這個報名過程填寫很多資料信息(下次報名同樣要重復(fù)同這個環(huán)節(jié)),這個報名對于群眾或工作人員都是增加了很大的工作量和時間,簽到也類似相同情況。后續(xù)考勤、統(tǒng)計等都是通過工作人員手工來完成,這樣不但工作繁瑣,效率低、分析不全面,又容易出差錯。在信息化技術(shù)高度發(fā)達(dá)的今天,必然有成熟的解決方案來解決上述的問題。
(一)系統(tǒng)架構(gòu)設(shè)計
整體框架采用SSM的MVC的架構(gòu),前端表現(xiàn)層和后臺數(shù)據(jù)交互統(tǒng)一采用JSON或XML,前臺框架只負(fù)責(zé)頁面展現(xiàn),不包含業(yè)務(wù)邏輯,有利于專業(yè)分工和系統(tǒng)的后期維護(hù)。后端控制層支持SNA的系統(tǒng)架構(gòu),通過框架內(nèi)置的SESSION管理,隔離對會話狀態(tài)的依賴。
業(yè)務(wù)邏輯層基于Spring,通過注解和IOC的編程模式進(jìn)行Bean的解析、管理。通過AOP的面向切面的編程模型實(shí)現(xiàn)應(yīng)用、模塊開發(fā)的各層、各功能的有效解構(gòu),降低相互依賴數(shù)據(jù)持久層負(fù)責(zé)數(shù)據(jù)的持久化工作,屏蔽業(yè)務(wù)邏輯層對后臺數(shù)據(jù)的處理,數(shù)據(jù)持久層框架全面兼容Mybatis,通過擴(kuò)展,支持水平、垂直數(shù)據(jù)處理,支持大用戶、大數(shù)據(jù)量的訪問要求。服務(wù)調(diào)用層基于開源NIO高性能框架,支撐Mina、Netty等。支持Hessian、Rest、Http等多種協(xié)議。
架構(gòu)關(guān)鍵技術(shù):
1、Ajax Web框架,采用JS、Ajax、JSON、CSS前后臺分離,支持JSP、HTML多種表現(xiàn)技術(shù)。
2、整理采用SSM的MVC架構(gòu),通過數(shù)據(jù)適配插件屏蔽表現(xiàn)層和業(yè)務(wù)層差異。Session管理,支持無狀態(tài)的SNA架構(gòu);
3、通過IOC注解的方式實(shí)現(xiàn)Bean的解析和管理,采用AOP面向切面的編程模式來解析。
4、自主數(shù)據(jù)持久框架,完全兼容Mybatis,通過水平、垂直分庫等支持大數(shù)據(jù)量處理,服務(wù)調(diào)用Netty、NIO高性能框架,支持常用的XML,HTTP協(xié)議。
(二)系統(tǒng)功能設(shè)計
1 、系統(tǒng)功能圖
2、應(yīng)用功能模塊設(shè)計
本系統(tǒng)在功能設(shè)計上主要體現(xiàn)在兩大模塊:一、培訓(xùn)管理模塊,二、活動管理模塊,圍繞著這兩大模塊展開的一系列應(yīng)用設(shè)計。
(1)培訓(xùn)管理流程描述
培訓(xùn)管理模塊包含了“培訓(xùn)項(xiàng)目管理”、“課程管理”、“課程排期管理”、“課程報名管理”、“課程抽簽管理”、“培訓(xùn)簽到管理”等模塊功能。培訓(xùn)管理流程從設(shè)置培訓(xùn)項(xiàng)目、發(fā)布培訓(xùn)課程開始,管理流程步驟如下:
①首先設(shè)置“培訓(xùn)項(xiàng)目參數(shù)”,跟培訓(xùn)項(xiàng)目報名相關(guān)的主要參數(shù)“項(xiàng)目名稱”、“報名時間段范圍”、“錄取公布時間段范圍”、“招生簡章說明”,“報名志愿數(shù)量”等。
②培訓(xùn)課程的發(fā)布,是在培訓(xùn)項(xiàng)目的目錄下分布,設(shè)置相關(guān)的主要參數(shù)“課程名稱”、“課程簡介”、“培訓(xùn)時間段范圍”、“總期數(shù)”、“總課時”、“招生人數(shù)”和“年齡段”等。
③課程排期管理,根據(jù)課程總期數(shù)參數(shù)批生成排期記錄,允許修改,刪除中間排期記錄時,系統(tǒng)自動順延。
④課程報名管理,課程發(fā)布后,在培訓(xùn)項(xiàng)目設(shè)置的報名時間范圍內(nèi)接受群眾用戶報名登記(網(wǎng)上或微信)。工作人員可以查詢、刪除、修改報名狀態(tài)記錄,插班、調(diào)班處理。
⑤當(dāng)報名人數(shù)超出招生人數(shù),采取抽簽來決定錄取的方式。
⑥培訓(xùn)時間到了,開始培訓(xùn)簽到處理(WEB后臺簽到、微信簽到)。
⑦統(tǒng)計分析報表。
(2)活動管理流程描述
活動管理模塊包含了“活動信息管理”、“活動報名管理”、“活動簽到管理”等模塊功能?;顒庸芾砹鞒虖陌l(fā)布活動信息開始,管理流程步驟如下:
①活動信息發(fā)布,設(shè)置相關(guān)的主要參數(shù)“活動名稱”、“活動描述”、“報名時間段范圍”、“簽到時間段范圍”、“活動時間段范圍”、“名額”和“年齡段”等。
②活動報名管理,活動發(fā)布后,在設(shè)置的報名時間范圍內(nèi)接受群眾用戶報名登記(網(wǎng)上或微信)。工作人員可以查詢、刪除、審核報名記錄。
③活動時間到了,開始活動簽到處理(WEB后臺簽到、微信簽到)。
④統(tǒng)計分析報表。
(3)微信活動報名流程描述
微信平臺應(yīng)用服務(wù)程序調(diào)用活動平臺提供的活動信息輸出的webservice接口,遍歷讀取接口返回的數(shù)據(jù)模型對象,組裝成數(shù)據(jù)集合列表,并顯示微信端界面上?;顒恿斜碇饕畔⒆侄危夯顒用Q、活動時間段、圖片、活動地點(diǎn),點(diǎn)擊圖片進(jìn)入“活動詳情”界面,這里將顯示更詳細(xì)的信息,包括活動報名剩余名額、活動介紹、報名時間段、簽到時間段、活動信息瀏覽人次(如下圖所示)。如果用戶要報名該活動,直接點(diǎn)擊“報名”按鈕,微信端將調(diào)用平臺提供的活動報名webservice接口,返回報名登記處理結(jié)果,完成報名操作。對于未綁定的用戶帳號的,點(diǎn)擊報名時將會進(jìn)入注冊界面,可填寫簡單的注冊信息,提交后可登錄微信進(jìn)行報名操作。
3、微信培訓(xùn)簽到接口設(shè)計
培訓(xùn)活動管理系統(tǒng)提供簽到調(diào)用的webservice接口,再到微信端擴(kuò)展二次開發(fā)對接webservice簽到接口,可以讓用戶打開微信端的培訓(xùn)簽到菜單功能,掃二維碼完成簽到處理。
(1)協(xié)議描述
接口采用基于SOAP協(xié)議的WEB Services實(shí)現(xiàn)。通信雙方以客戶-服務(wù)器方式建立連接,只提供一次交互,不保持連接。培訓(xùn)活動管理系統(tǒng)作為WEB Service的server端,提供培訓(xùn)信息輸出的接口,微信端作為接口的客戶端主動發(fā)起請求。
(2)協(xié)議流程
一個正常的培訓(xùn)簽到業(yè)務(wù)如下所示:
①客戶端發(fā)起Web Service 簽到請求,包括帳號、密碼、培訓(xùn)課程ID。
②培訓(xùn)活動系統(tǒng)接收到請求,后臺邏輯處理后返回處理結(jié)果給WebService客戶端。
(3)主要數(shù)據(jù)模型
①輸入數(shù)據(jù)
SimpleInputInfo 簡單輸入數(shù)據(jù)模型
名稱說明數(shù)據(jù)類型長度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
②輸出數(shù)據(jù)
ActivityListResult 返回信息列表對象模型
名稱說明數(shù)據(jù)類型長度s t a t e狀態(tài)值I N T 1 m e s s a g e返回消息內(nèi)容S t r i n g 1 0 0
(4)消息響應(yīng)系統(tǒng)
微信核心處理服務(wù)用于接收和驗(yàn)證從微信平臺發(fā)送過來的消息, 該模塊由Tomcat 和Servlet 搭建而成。其中消息驗(yàn)證模塊, 是利用微信平臺發(fā)送過來的signature、timestamp、nonce 三個參數(shù)以及與平臺實(shí)現(xiàn)約定好的令牌來進(jìn)行驗(yàn)證。參數(shù)詳細(xì)描述:加密簽名 signature 是采用SHA-1 對由token、timestamp、nonce 三個參數(shù)按照字典排序拼接成的一個字符串進(jìn)行加密而成的。系統(tǒng)利用token、timestamp、nonce 三個參數(shù)進(jìn)行加密之后與signature 進(jìn)行匹配,若相同則表示消息真實(shí)可靠。除了驗(yàn)證參數(shù)之外, 還有消息實(shí)體內(nèi)容用以后續(xù)的系統(tǒng)處理, 實(shí)體內(nèi)容采用XML 格式, 具體結(jié)構(gòu)如下(以事件消息為例):
〈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 為微信機(jī)構(gòu)號, 服務(wù)號在微信平臺號的唯一標(biāo)識符。
②FromUserName 為發(fā)送方的微信號(Openid), 用戶的唯一標(biāo)識符。
③CreateTime 為消息創(chuàng)建時間。
④MsgType 為消息類型。在微信平臺共定義了文本消息(Text)、圖片消息(Image)、語音消息(Voice)、視頻消息(Video)、地理位置消息(Location)、鏈接消息(Link)以及事件消息(Event)7 種, 由MsgType 來描述。針對不同的消息類型, 具體的結(jié)構(gòu)有細(xì)小差別。
⑤Event 為事件類型, 僅當(dāng)為事件消息時有效, 包含:訂閱(Sunbscribe)事件, 當(dāng)用戶關(guān)注公眾號時生成; 取消訂閱(Unsubscribe)事件, 當(dāng)用戶取消關(guān)注公眾號時生成; 自定義菜單事件(Click), 當(dāng)用戶點(diǎn)擊公眾號界面中的菜單時生成。
⑥EventKey 為事件值Key, 與自定義菜單接口中的Key值對應(yīng), 用以確定用戶點(diǎn)擊的菜單按鈕。
(5)消息推送系統(tǒng)
由于響應(yīng)系統(tǒng)是被動接收用戶發(fā)送來的請求, 無法滿足一些實(shí)時通知的功能, 如公告通知、系統(tǒng)實(shí)時提醒等, 所以運(yùn)用微信平臺提供的客服接口給特定的用戶發(fā)送消息。系統(tǒng)在接收到推送事件之后, 利用Http-Client 登錄微信平臺并獲得訪問令牌(Access Token), 隨后將需要推送的內(nèi)容打包成JSON 格式發(fā)送給微信平臺, 并由平臺推送給用戶。推送的消息格式有發(fā)送文本消息、發(fā)送圖片消息、發(fā)送語音消息、發(fā)送視頻消息、發(fā)送音樂消息、發(fā)送圖文消息。
廣州市文化館是2015年6月正式上線培訓(xùn)活動平臺,同時開通微信發(fā)布培訓(xùn)、活動報名,系統(tǒng)上線一年的時間內(nèi)正式舉辦了128場培訓(xùn)班,注冊用戶:4850人,報名:5680人次。廣州市文化館為群眾用戶提供了一個便捷的培訓(xùn)、活動報名途徑,讓廣大群眾能零距離地享受和體驗(yàn)到優(yōu)質(zhì)的文化服務(wù)。
通過廣州市文化館培訓(xùn)活動平臺與微信平臺的對接整合對外發(fā)布,公共文化服務(wù)更加零距離、實(shí)時地貼近群眾。在信息化進(jìn)入移動互聯(lián)的時代,讓用戶獲得更好的便捷文化服務(wù)體驗(yàn),這源自于文化館對公共服務(wù)質(zhì)量上大幅的提升。反過來,群眾積極地參與培訓(xùn)、活動,增強(qiáng)線上線下的活躍度,提高文化館的人氣氛圍,帶動文化館服務(wù)質(zhì)量和知名度的提升,文化館和群眾創(chuàng)造雙贏的局面,也體現(xiàn)文化館創(chuàng)造的良好社會效益。
〔1〕郭利敏,張磊,趙亮.圖書館微信服務(wù)應(yīng)用開發(fā).現(xiàn)代圖書情報技術(shù).2014,30(5):P96-101;
〔2〕李紹權(quán).基于ESB的異構(gòu)系統(tǒng)集成實(shí)現(xiàn)[J].計算機(jī)應(yīng)用.2008,28(2):P538-540;
〔3〕張蓓,竇天芳,張成昱,等.開發(fā)模式下圖書館微信公眾平臺服務(wù)的設(shè)計與實(shí)現(xiàn)[J].現(xiàn)代圖書情報技術(shù),2014(1):P87-91;
〔4〕黃浩波,何衛(wèi)華,葉青.微信及其在圖書館信息服務(wù)中的應(yīng)用[J]. 圖書館學(xué)刊,2013(1): P62-64。
book=25,ebook=30
胡鵬華(1976--),男,大學(xué)本科,初級職稱,從事計算機(jī)網(wǎng)絡(luò)運(yùn)維工作、群文期刊《藝術(shù)廣場》出版發(fā)行工作,現(xiàn)任職廣州市文化館。