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