陳蔚
(浙江工業職業技術學院,浙江 紹興 312000)
基于WebService的手機APP消息推送機制研究與實現淺析
陳蔚
(浙江工業職業技術學院,浙江 紹興 312000)
簡要介紹了WebService的設計模式,給出了一個通過WebService技術實現手機APP與校園網服務平臺異構系統間消息傳送與交互的案例。
WebService;APP;異構;消息推送;一站式服務
隨著智能移動終端的普及,師生通過手機獲取學校信息和辦理業務的愿望越來越強烈,傳統的信息化門戶的功能已經無法完全滿足師生的移動訪問需求。而且隨著學生對手機的依賴性越來越強,學校需要考慮如何讓學生合理利用手機進行學習、獲取校園信息、辦理學校業務以及及時將信息推送給目標師生手機用戶等用途。
移動校園APP可以將校園內的生活、辦公、學習、服務等各類信息進行分類整理,以智能終端設備、3G網絡、無線網絡、移動網絡等各種移動技術為載體,把各類校園信息聚合起來,讓廣大師生不受地域、時間等客觀條件的限制,僅需使用自己的移動設備便能夠快速、準確地查詢到自己想要的信息。目前校園中各個部門由于職能和分工不同,它們所管轄和負責的內容也不同,這樣就導致了所有在校園內發布的信息都是零散的,不便于用戶快速準確地找到想要的東西。由此,在移動校園客戶端這樣一個媒介下,它能夠為在校師生提供一個更為便捷的平臺來方便校園中的移動生活,同時該平臺也能夠高效地提高校園內準確有效信息的傳播效率,有助于完善校園的智能化、移動化建設,讓師生在校園中的移動生活更加簡便和豐富。通過手機APP的信息推送功能,我們能將通知信息第一時間發送到學生手機里,縮短了消息通知的傳達時間,擴大了消息送達人群的范圍。基于此,本文介紹了通過WebService技術如何實現手機APP與校園網服務平臺異構系統間消息的傳送與交互。
WebService是一個平臺獨立的、低耦合的、自包含的、基于可編程的web應用程序,可使用開放的XML(標準通用標記語言下的一個子集)標準來描述、發布、發現、協調和配置這些應用程序,用于開發分布式的互操作應用程序。WebService使得運行在不同機器上的不同應用無須借助附加的、專門的第三方軟件或硬件,無論所使用的是什么語言、任何平臺,都可相互交換數據或集成,并且減少了應用接口的花銷。
我校“i浙工院”手機APP客戶端是一款集移動學習、移動辦事、移動服務為一體的軟件,為校內師生提供了一站式服務,方便校內師生進行校內信息查詢、日常事務辦理及部分校外查詢。具體服務內容包括:校內通知查詢、常用信息查詢、成績查詢、課表查詢、網上選課、考試安排、網絡課程學習、宿舍水電費繳納、考試報名繳費、失物招領、網絡故障報修、后勤服務報修、OA通知查詢、圖書借閱、一卡通查詢、掛失和充值、工會體育鍛煉時長查詢、工資查詢、畢業生離校辦理、校內常用信息查詢等50多項功能。i浙工院客戶端推出以來,受到了廣大師生的歡迎,極大地方便了廣大師生的校內學習生活,提高了辦事效率。
以往學校給學生發通知需要由學校通知到分院,其次由分院通知到班級,再由班級通知到學生,信息傳達的效率相對較低,現在,通過i浙工院的信息推送功能,我們能將通知信息第一時間發送到學生手機里。消息推送機制需要通過WebService實現。
在進行手機端PUSH消息推送時,需要有客戶端手機設備的相關信息記錄,如手機設備號(esn,每部設備號都是唯一的),客戶端ID(clientid,客戶端打包后有這個id),CA登錄用戶名(username,新聞類推送給所有人不需要這個信息,但是像一卡通余額或其他定向的用戶消息推送需要此信息)。
由于APP服務端在設計開發時并不存放用戶的以上設備相關信息,所以校方需要開發一個第三方WebService接口用于接收這些參數并存放在數據庫中。通過WebService接口,用戶打開客戶端進行認證登錄時,APP服務端調用此接口將設備相關參數信息傳給第三方,將用戶設備相關信息保存到第三方數據庫中,以備后用。
3.2.1 第三方需要提供Webservice接口要求
此接口需要包含2個方法以便對手機設備的esn、clientid和username進行新增、修改和查詢。
(1)新增和修改方法:當用戶第一次使用時需要上傳新增數據,當用戶換手機設備時需要對數據進行修改。
(2)查詢:當第三方發消息推送請求后,通過此方法從數據庫中查詢esn、clientid和username信息,將消息推送給相關設備。
3.2.2 建立第三方數據平臺中間表TB_IAPPYHXXB
USERNAME varchar2用戶名,教師為8位工號,學生為11位學號
ESN varchar2手機設備號(每部設備號都是唯一的)
CLIENTID varchar2客戶端ID(客戶端打包后有這個id)
TYPE varchar2 身份類型(teacher,student)
3.2.3 WebService接口地址:http://xx.xx.xx.xx/iAPP/IappY-hxxbDAOImplPort?wsdl,WebService接口暴露的3個方法:
(1)userLoginSuccess(String username,String esn,String clientid,String type,String key)
參數param0:username,參數param1:esn,參數param2:clientid,參數param3:type,參數param:key,握手密鑰,約定為(zjipcnic163501)。
返回值:*返回值-1,握手不成功;*返回值0,SQL執行錯誤;*返回值1,新用戶,記錄用戶username,esn,clientid,type;*返回值2,已有用戶,用戶更換登陸手機,更新esn,clientid;*返回值3,已有用戶,正常成功登錄。
在客戶端,用戶CA認證通過后調用此Webservice接口,返回數據格式為XML。
(2)findUsersByUsernameStr(String usernameStr,String key)
參數param0:usernameStr,用戶工號串以逗號分隔(如20060021,20020005),參數 param1:key,握手密鑰,約定為(zjipcnic163501)。
返回值:若usernameStr中只包含一個學工號,返回單用戶信息,包括username,esn,clientid,type,若包含>1個學工號,返回相應用戶信息集,包括username,esn,clientid,type,返回數據格式為XML。
(3)findUsersByType(String type,String key)
參數 param0:type,取值為(teacher,student,all),參數param1:key,握手密鑰,約定為(zjipcnic163501)。
返回值:type=teacher,返回所有教師終端數據集,包括username,esn,clientid,type,type=student,返回所有學生終端數據集,包括username,esn,clientid,type,type=all,返回所有用戶終端數據集,包括username,esn,clientid,type,返回數據格式為XML。
圖1為手機APP帳戶登錄,獲取到登錄用戶統一身份認證用戶名(USERNAME),身份(TYPE),手機設備號(ESN),客戶端ID(CLIENTID),保存到第三方數據平臺。
圖2為收集到的登錄用戶手機硬件及統一身份認證帳號信息,可以針對特定用戶進行APP消息推送。

圖1 手機APP帳戶登錄

圖2 獲取用戶手機設備相關信息
[1]王繪,尹治本.WebService的深入剖析與研究[J].電腦知識與技術,2005(11):66-67.
[2]楊德仁,薛梅,顧君忠.WebService核心協議與實施研究[J].計算機系統應用,2005,14(1):33-36.
[3]翁曉翔,羅鍵.基于Web Service的企業應用集成方案[J].自動化技術與應用,2005(10)
[4]Web services and flexible business pro-cesses:towards the adaptive enterprise.MoitraaD,Ganeshb J.Information and Management.2005
[5]IBM redbooks:Web Services Wizardry with WebSphere Studio Appli-cation Developer. WahliU,TomlinsonM,ZimmermannO,et al.http://www.red-books.ibm.com/redbooks.nsf/redbooks/.2002
[6]方小強.基于Android的推送技術分析[J].電腦知識與技術,2013(18):4180-4182.
[7]林佳作.基于長連接的移動終端消息推送系統的設計與實現[D].西安:西安電子科技大學,2014.
[8]顧正敏.一種面向Android平臺的輕量級推送技術研究與應用[D].北京:北京大學,2013.
[9]戚海偉.信息推送平臺的設計與實現[D].西安:西安電子科技大學,2013.
[10]王克鋒.基于Android的信息推送管理系統的設計和實現[D].大連:大連理工大學,2012.
[11]宋新曉.基于android的push平臺功能的實現[D].北京:北京交通大學,2011.
[12]趙革科.面向服務的異步消息中間件的研究與實現[D].長沙:湖南大學,2009.
Research and Implementation of MobileAPP Message Push Mechanism Based on WebService
Chen Wei
(Zhejiang Industry Polytechnic College,ShaoXing 312000,Zhejiang)
This paper introduces the design mode of WebService,and gives a case of message transfer and interaction between heterogeneous mobile phone system andAPP campus network service platform based on WebService technology.
WebService;APP;isomerism;message push;one-stop service
TP311.52
A
1008-6609(2017)08-0045-03
陳蔚(1983-),男,浙江紹興人,高級工程師,碩士,研究方向為軟件工程、數據庫應用。