王 浩
(中國(guó)鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081)
基于微信的鐵路信息化辦刊平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
王 浩
(中國(guó)鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081)
微信作為國(guó)內(nèi)目前移動(dòng)端首屈一指的社交平臺(tái),在鐵路信息化期刊的讀者和作者群體中廣泛使用。本文分析微信及其公眾平臺(tái)在鐵路信息化辦刊應(yīng)用的可行性,結(jié)合JavaWeb、JQuery、HTML5等Web 開發(fā)技術(shù),設(shè)計(jì)了鐵路信息化辦刊微信平臺(tái)的框架、功能和架構(gòu),通過微信開放接口與鐵路信息化辦刊內(nèi)部系統(tǒng)對(duì)接,實(shí)現(xiàn)了基于微信的鐵路信息化辦刊平臺(tái),為廣大讀者和作者提供隨時(shí)隨地的信息交流與服務(wù)。
微信;MVC;HTML5;JQuery
隨著移動(dòng)互聯(lián)網(wǎng)和手機(jī)等智能終端的發(fā)展,人們的信息獲取方式、生活方式、工作方式進(jìn)而思維方式都發(fā)生重要變化。人們維系社會(huì)關(guān)系的方式發(fā)生變化,從而使社會(huì)結(jié)構(gòu)與社會(huì)形態(tài)發(fā)生變革。在移動(dòng)互聯(lián)網(wǎng)時(shí)代,“免費(fèi)閱讀—興趣粘合—需求細(xì)分—線上線下互動(dòng)”已經(jīng)成為一種常用的營(yíng)銷和推廣方式。2015年,在紀(jì)念中國(guó)期刊誕生200周年的同時(shí),鐵路信息化期刊在尋求一種新的辦刊理念和方法。
截止2015年10月,中國(guó)網(wǎng)民達(dá)到6.88億,手機(jī)網(wǎng)民占比超九成,移動(dòng)互聯(lián)網(wǎng)在中國(guó)未來發(fā)展中的作用舉足輕重,微信公眾平臺(tái)應(yīng)運(yùn)而生。因此,設(shè)計(jì)實(shí)現(xiàn)基于微信的鐵路信息化辦刊平臺(tái)勢(shì)在必行。
微信 (WeChat)是騰訊公司2011年1月21日推出的一款為智能終端提供即時(shí)通信服務(wù)的免費(fèi)應(yīng)用程序。支持跨通信運(yùn)營(yíng)商、跨操作系統(tǒng)平臺(tái)通過網(wǎng)絡(luò)快速發(fā)送免費(fèi)(需消耗少量網(wǎng)絡(luò)流量)語(yǔ)音短信、視頻、圖片和文字。同時(shí),也可以使用共享流媒體內(nèi)容的資料和基于位置的社交插件。截止到2015年10月,微信已經(jīng)覆蓋中國(guó) 90% 以上的智能手機(jī),注冊(cè)用戶量突破6 億,用戶覆蓋 200 多個(gè)國(guó)家、超過20 種語(yǔ)言,是亞洲地區(qū)最大用戶群體的移動(dòng)即時(shí)通信軟件。此外,各品牌的微信公眾賬號(hào)總數(shù)已經(jīng)超過 800 萬(wàn)個(gè),移動(dòng)應(yīng)用對(duì)接數(shù)量超過 85 000 個(gè),微信支付用戶則達(dá)到了 4 億左右[1~2]。
微信公眾平臺(tái)(簡(jiǎn)稱“公眾平臺(tái)”)是騰訊公司在微信基礎(chǔ)上新增的功能模塊,公眾號(hào)所有者可以通過這一平臺(tái)群發(fā)文字、圖片、語(yǔ)音、視頻、圖文消息5個(gè)類別的內(nèi)容[3]。在開發(fā)模式下,使用公眾平臺(tái)的開發(fā)接口,公眾號(hào)所有者既可設(shè)定關(guān)鍵字進(jìn)行自動(dòng)回復(fù),實(shí)現(xiàn)“對(duì)話即服務(wù)對(duì)話即搜索” 的新型服務(wù)方式,又可在第三方服務(wù)器實(shí)現(xiàn)公眾平臺(tái)接口,接收用戶的微信消息,并可按需回復(fù)。此外,開發(fā)模式還提供了更多更高級(jí)的功能和體驗(yàn),如會(huì)話界面的自定義菜單、獲取更多類型的消息等服務(wù)[5]。
應(yīng)用微信提供的開發(fā)接口,將公眾平臺(tái)與期刊內(nèi)部系統(tǒng)進(jìn)行對(duì)接,將其打造成為實(shí)時(shí)的移動(dòng)期刊查詢發(fā)布平臺(tái)。在開發(fā)者模式下,公眾平臺(tái)提供了一套通用的數(shù)據(jù)交換結(jié)構(gòu)模型和驗(yàn)證規(guī)則,平臺(tái)所有者只需按照這個(gè)規(guī)范編寫對(duì)接程序[6],就可以接收讀者或作者通過微信服務(wù)器轉(zhuǎn)發(fā)給公眾平臺(tái)的圖文聲像等信息內(nèi)容,并且可以實(shí)現(xiàn)第三方應(yīng)用接口,根據(jù)后臺(tái)設(shè)定處理用戶發(fā)來的信息。
2.1 平臺(tái)整體框架設(shè)計(jì)
微信辦刊平臺(tái)由公共網(wǎng)絡(luò)和期刊內(nèi)部網(wǎng)絡(luò)組成,如圖1 所示。
圖1 平臺(tái)整體框架部署圖
公共網(wǎng)絡(luò)部分主要包括預(yù)裝微信客戶端的移動(dòng)設(shè)備終端、微信公眾平臺(tái)服務(wù)器,即騰訊公司的微信服務(wù)器(以下簡(jiǎn)稱:微信服務(wù)器)。微信用戶向微信服務(wù)器發(fā)送查詢指令或者請(qǐng)求,微信服務(wù)器接收指令或查詢后,通過微信公眾平臺(tái)接口轉(zhuǎn)發(fā)信息至第三方服務(wù)平臺(tái),等待處理結(jié)果,然后將消息處理結(jié)果反饋至微信用戶,并在客戶端顯示該信息。期刊內(nèi)部網(wǎng)絡(luò)通過互聯(lián)網(wǎng)與第三方服務(wù)平臺(tái)保持通信,微信服務(wù)器通過這個(gè)平臺(tái)與期刊的門戶網(wǎng)站、網(wǎng)刊系統(tǒng)、采編系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行連接,第三方平臺(tái)通過實(shí)現(xiàn)期刊內(nèi)部網(wǎng)絡(luò)各系統(tǒng)提供的應(yīng)用程序接口(API )進(jìn)行業(yè)務(wù)通信處理,將用戶的請(qǐng)求按照消息接口回復(fù)給微信服務(wù)器。第三方服務(wù)器既保證期刊內(nèi)部系統(tǒng)的安全性,又可提高微信服務(wù)的反應(yīng)速度。
2.2 平臺(tái)主要功能設(shè)計(jì)
針對(duì)讀者和作者的實(shí)際需求及鐵路信息化期刊的特點(diǎn),該平臺(tái)功能模塊可分為數(shù)據(jù)展示、消息推送、自動(dòng)應(yīng)答和互動(dòng)交流,如圖2所示。4個(gè)功能模塊根據(jù)實(shí)際情況,通過公眾平臺(tái)管理后臺(tái)以及第三方服務(wù),分成不同的信息服務(wù)目錄,通過微信公眾訂閱號(hào)的日常消息推送、會(huì)話交互以及自定義菜單,為用戶提供各類服務(wù)內(nèi)容。
圖2 平臺(tái)主要功能結(jié)構(gòu)圖
2.2.1 數(shù)據(jù)展示
本模塊的主要目的是為讀者提供期刊海量的靜態(tài)數(shù)據(jù)和常用的基本信息。如:所有過刊文章的信息、最新一期發(fā)表文章的信息、每期編輯部和主編推薦的優(yōu)秀文章、稿件的最新錄用和發(fā)表情況;期刊介紹、征訂、投稿要求、聯(lián)系方式等。這些信息以自定義菜單的方式呈現(xiàn),用戶關(guān)注該訂閱號(hào)后,隨時(shí)可以自行查閱。
2.2.2 消息推送
本模塊的主要內(nèi)容是實(shí)現(xiàn)為微信作者和讀者用戶日常推送新聞、各類信息服務(wù)、以及期刊宣傳推廣活動(dòng)。如鐵路信息化重點(diǎn)工作的時(shí)訊快遞、鐵路高新技術(shù)理論的應(yīng)用解讀、專題論文征集、優(yōu)秀論文評(píng)選活動(dòng)等。將期刊工作動(dòng)態(tài)定期推送至微信用戶的智能終端上,讓用戶及時(shí)掌握和了解期刊最新工作動(dòng)態(tài),引起他們的關(guān)注和參與。
2.2.3 自動(dòng)應(yīng)答
本模塊功能主要涵蓋讀者和作者常規(guī)咨詢的內(nèi)容,例如期刊簡(jiǎn)介、欄目介紹、收錄情況、期刊征訂、投稿指南、聯(lián)系我們等。在設(shè)計(jì)中事先制定好上述內(nèi)容鏈接頁(yè)面,用戶通過微信發(fā)送特定的指令查詢時(shí),平臺(tái)會(huì)自動(dòng)調(diào)用響應(yīng)鏈接頁(yè)面回復(fù)到用戶的手機(jī)上。例如用戶發(fā)送“投稿指南”到微信平臺(tái),將在手機(jī)上看到期刊對(duì)投稿論文具體要求的頁(yè)面。
2.2.4 互動(dòng)交流
本模塊主要實(shí)現(xiàn)作者查看投稿的審理情況、稿件狀態(tài)變化提醒、專家審稿情況查詢,論文檢索等功能。在紙媒體時(shí)代,作者和編輯老師的交流主要采用電話、郵件、或是面對(duì)面方式;在微媒體中,微博難以實(shí)現(xiàn)文字、語(yǔ)音、視頻一對(duì)一的即時(shí)交流;微信卻可以實(shí)現(xiàn)三者的協(xié)同運(yùn)用,使作者與編輯部的交流更加高效和便捷。
2.3 平臺(tái)架構(gòu)設(shè)計(jì)
微信公眾平臺(tái)提供與用戶進(jìn)行信息交互,自定義菜單等功能接口。欲加入第三方平臺(tái)數(shù)據(jù),例如期刊的門戶網(wǎng)站、網(wǎng)刊系統(tǒng)、采編系統(tǒng)等數(shù)據(jù)平臺(tái),實(shí)現(xiàn)微信平臺(tái)與對(duì)第三方服務(wù)器對(duì)接,需要借助Web 服務(wù)來搭建服務(wù)和數(shù)據(jù)聚合的平臺(tái),為微信用戶提供更加強(qiáng)大而便捷的功能服務(wù)。微信辦刊平臺(tái)采用B/S 架構(gòu),并借助Eclipse 集成開發(fā)環(huán)境、MS SQLServer 2000+SP4/2005/2008數(shù)據(jù)庫(kù)平臺(tái)以及Apache+Tomcat6.0應(yīng)用平臺(tái)軟件進(jìn)行系統(tǒng)建設(shè)部署,采用Spring MVC 三層架構(gòu)開發(fā)設(shè)計(jì),如圖3所示。
圖3 平臺(tái)架構(gòu)設(shè)計(jì)圖
平臺(tái)不僅實(shí)現(xiàn)微信開發(fā)模式中的所有接口,實(shí)現(xiàn)公眾帳號(hào)所有功能以及與第三方服務(wù)器對(duì)接,而且能快速接收與響應(yīng)微信服務(wù)器發(fā)送的HTTP 請(qǐng)求。
鐵路信息化辦刊微信平臺(tái)采用Java Web 技術(shù)、以MVC 框架實(shí)現(xiàn)微信公眾平臺(tái)開發(fā)接口。平臺(tái)采用Java數(shù)據(jù)庫(kù)連接(JDBC) 數(shù)據(jù)接口訪問技術(shù),并將對(duì)數(shù)據(jù)的常用操作進(jìn)行封裝;將微信公眾平臺(tái)開發(fā)接口以及對(duì)接期刊內(nèi)部系統(tǒng)的API 實(shí)現(xiàn)方法進(jìn)行封裝,提高代碼的重用性。在用戶微信會(huì)話界面、Web界面使用HTML5、JQuery 進(jìn)行設(shè)計(jì)。
3.1 Java Web 技術(shù)與MVC 框架
JavaWeb 是用Java 技術(shù)解決相關(guān)Web 互聯(lián)網(wǎng)領(lǐng)域的技術(shù)總和。其核心技術(shù)包括Java服務(wù)器頁(yè)面(JSP)、Servlet。本平臺(tái)采用模型-視圖-控制(MVC,Model-View-Controller)框架進(jìn)行設(shè)計(jì)與開發(fā)。
MVC 三層結(jié)構(gòu)模型,以控制器為中心,控制器負(fù)責(zé)接收視圖的請(qǐng)求,并向視圖發(fā)送響應(yīng)消息,同時(shí)與模型進(jìn)行交互,獲得數(shù)據(jù)庫(kù)信息,或向數(shù)據(jù)庫(kù)中寫入信息[7]。如圖4 所示,微信用戶通過提交請(qǐng)求與表現(xiàn)為Servlets 的控制器組件進(jìn)行交互;控制器實(shí)例化表現(xiàn)為JavaBeans 的數(shù)據(jù)模型組件,并根據(jù)應(yīng)用的業(yè)務(wù)邏輯操作相應(yīng)的數(shù)據(jù)模型;相關(guān)模型創(chuàng)建后,控制器調(diào)用為用戶展示表現(xiàn)為JSP 的視圖,視圖與模型可交互操作,獲取并為用戶顯示相關(guān)數(shù)據(jù)。通過MVC 三層模型設(shè)計(jì),顯示邏輯、處理過程和應(yīng)用邏輯分別由不同的組件來實(shí)現(xiàn),這些組件可以重用并進(jìn)行交互,整個(gè)平臺(tái)責(zé)任明確、接口清晰,加快了軟件的開發(fā)過程[8]。
圖4 MVC 三層結(jié)構(gòu)模型
3.2 HTML5
HTML5(Hyper Text Markup Language 5,簡(jiǎn)稱H5)是2014年10月29日,萬(wàn)維網(wǎng)聯(lián)盟(W3C)正式發(fā)布的第5代超文本標(biāo)記語(yǔ)言(HTML)。HTML5標(biāo)準(zhǔn)規(guī)范一經(jīng)問世就受到廣大用戶的喜愛,目前已經(jīng)被各大瀏覽器廣泛支持。與傳統(tǒng)的HTML相比,H5增加了Web socket通信協(xié)議,可以實(shí)現(xiàn)實(shí)時(shí)通信,增加屏幕自適應(yīng)。此外,H5還增加了諸如本地存儲(chǔ),設(shè)備兼容,連接,網(wǎng)頁(yè)多媒體,三維、圖形及特效、性能與集成、CSS3等新特性,且對(duì)系統(tǒng)資源的占用很少,可以很好地替代FLASH,其顯著優(yōu)勢(shì)在于跨平臺(tái)性,可以兼容PC端與移動(dòng)端、Windows與Linux、安卓與IOS,可以輕易地移植到各種不同的開放平臺(tái)、應(yīng)用平臺(tái)上。這種強(qiáng)大的兼容性可以顯著地降低開發(fā)與運(yùn)營(yíng)成本。
H5的本地存儲(chǔ)特性在鐵路信息化辦刊微信平臺(tái)的使用為讀者和作者、以及開發(fā)人員都帶來了更多便利;基于H5開發(fā)的輕應(yīng)用比本地APP擁有更短的啟動(dòng)時(shí)間,更快的聯(lián)網(wǎng)速度,而且無需下載占用存儲(chǔ)空間,特別適合手機(jī)等移動(dòng)媒體。例如期刊年度優(yōu)秀論文的評(píng)選活動(dòng),H5讓開發(fā)者無需依賴第三方瀏覽器插件即可創(chuàng)建高級(jí)圖形、版式、動(dòng)畫以及過渡效果,這也使得用戶用較少的流量就可以欣賞到炫酷的視覺聽覺效果,為評(píng)選活動(dòng)增色不少。
3.3 JQuery
JQuery,即JavaScript(JS)和查詢(Query),是一個(gè)免費(fèi)、開源、使用開源軟件許可協(xié)議(MIT)的輕量級(jí)JS庫(kù),能夠兼容層疊樣式表3(CSS3)以及各種瀏覽器,使用戶方便地處理HTML、Events,實(shí)現(xiàn)動(dòng)畫效果,并方便地為網(wǎng)站提供Ajax 交互。JQuery的語(yǔ)法設(shè)計(jì)可以使開發(fā)者更加便捷地操作文檔對(duì)象、選擇DOM元素、制作動(dòng)畫效果、事件處理、使用Ajax 以及其他功能[9]。
應(yīng)用JQuery可實(shí)現(xiàn)基于微信的鐵路信息化辦刊平臺(tái)用戶接口(UI)、 微信客戶端顯示以及與后臺(tái)系統(tǒng)的快速交互。
本文通過分析和研究微信及其公眾平臺(tái)在鐵路信息化辦刊應(yīng)用的可行性,借助Eclipse 集成開發(fā)環(huán)境,應(yīng)用Java Web、JQuery、HTML5 等Web 開發(fā)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了基于微信的信息化辦刊平臺(tái),標(biāo)志著鐵路信息化期刊正式登陸微信公眾平臺(tái),辦刊服務(wù)又增添了一種受理方式和服務(wù)途徑,為鐵路信息化期刊提供一種全新、便捷、高效的營(yíng)銷手段[10]。
[1]騰訊公司.2015年微信平臺(tái)數(shù)據(jù)研究報(bào)告[R].騰訊公司,2015.
[2]帥忻征.微信公眾平臺(tái)與接口開發(fā)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2015(12).
[3]Wikipedia.WeChat[EB/OL].http://en.wikipedia.org/wiki// WeChat#cite_note-8,2014-8-20.
[4]馮大輝.微信公眾平臺(tái):對(duì)話即服務(wù),對(duì)話即搜索[EB/OL].http://dbanotes.net/review /wechat_platform.html,2014-6-19.
[5]騰訊客服,公眾平臺(tái)產(chǎn)品專區(qū).走進(jìn)微信公眾平臺(tái)(基礎(chǔ)篇)[EB/OL].http://kf.qq.com/faq/120911VrYVrA-131112R7Rnqa.html,2014-6-19.
[6]夏凌云,韓立峰,王長(zhǎng)慶.利用微信公眾平臺(tái)打造校園信息移動(dòng)發(fā)布平臺(tái)[J].信息技術(shù),2014(2):183-185.
[7]李 寧.Java Web開發(fā)技術(shù)大全—JSP+Servlet+Struts2+Hibern ate+Spring+AJAX[M].北京:清華大學(xué)出版社,2009,5.
[8]邱炳發(fā),馬 燕.基于微信的研究生信息服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016(1).
[9]張旭紅,劉渭濱.面向移動(dòng)平臺(tái)的新聞資訊系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(1).
[10]劉 雁,李 雷,姬 朋,等.鐵路貨運(yùn)營(yíng)銷微信平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].鐵路計(jì)算機(jī)應(yīng)用,2015,24(3).
楊琍明
Design and implementation of Railway Informatization Publication Platform based on We Chat
WANG Hao
( Institute of Computing Technologies,China Academy of Railway Sciences,Beijing 100081,China)
Being used as one of the most prevalent social platforms,We Chat is also widely used among readers and writers of railway informatization journals.The feasibility of Railway Informatization Publication Platform based on We Chat was analyzed in this article.Combined with Web development technologies,such as Java Web,JQuery and HTML5,the frame,application and architecture of the Platform were designed.The Platform was implemented by docking the open interface of We Chat and the internal system of railway informatization publication.Readers and writers could exchange information,enjoy their services anytime and anywhere.
We Chat;MVC;HTML5;JQuery
U29∶TP39
A
1005-8451(2016)02-0036-04
2015-11-05
王 浩,助理研究員。