陳怡馨
【摘要】 隨著移動互聯(lián)網(wǎng)信息技術(shù)的快速發(fā)展,移動應用也得到了迅猛發(fā)展,并且其應用范圍不斷擴大,更好地滿足了人們實際需要。本文分析了基于JavaEE與Android的消息推送系統(tǒng)的設計及其功能實現(xiàn)方式,就相關(guān)設計方式進行了分析和探究。
【關(guān)鍵詞】 JavaEE Android 消息推送
前言:基于JavaEE與Android的消息推送系統(tǒng)應用,保證相關(guān)消息通過APP更好地傳輸?shù)接脩羰种校瑥亩褂脩魧π畔⑦M行獲取和使用。本文在分析過程中,就Android系統(tǒng)的開發(fā)性特征進行了分析,并就其如何利用JavaEE進行消息推送的方式展開了研究。
一、系統(tǒng)總體架構(gòu)分析
基于JavaEE與Android的消息推送系統(tǒng)在設計過程中,主要涉及到了服務器端和移動端兩個部分。其中服務器端的功能在于對移動端連接進行管理,從而保證相關(guān)信息能夠進行有效傳播。移動端的功能在于對服務端的信息進行接收,并對信息進行解碼操作,并將消息轉(zhuǎn)發(fā)給第三方移動APP。
I/O管理器:這一模塊的功能在于對底層數(shù)據(jù)進行讀寫,通過利用socket通信技術(shù),借助于MINA框架,實現(xiàn)I/O管理器的功能。編解碼器:這一模塊的功能在于對原始數(shù)據(jù)進行編碼,并使數(shù)據(jù)可以利用XML數(shù)據(jù)流的方式進行傳播,并對移動端傳輸過來的數(shù)據(jù)信息進行解析。消息路由:實現(xiàn)第三方發(fā)送數(shù)據(jù)的鏈接。在線管理:對數(shù)據(jù)鏈接狀態(tài)進行管理。數(shù)據(jù)庫管理:利用MySql數(shù)據(jù)庫對消息進行存儲。
二、系統(tǒng)功能實現(xiàn)
2.1移動端功能實現(xiàn)分析
基于JavaEE與Android的消息推送系統(tǒng)功能實現(xiàn),首先需要對移動端的結(jié)構(gòu)進行把握。移動端在消息推送過程中,起到了橋梁作用,是保證第三方應用消息有效推送的關(guān)鍵。、移動端功能的實現(xiàn),在第三方APP利用Service Manager啟動消息推送平臺,將消息傳送任務交給管理器XMPP,用戶通過網(wǎng)絡連接、注冊、登錄,實現(xiàn)對信息的獲取。
1、連接功能實現(xiàn)
連接功能實現(xiàn),首先需要對connectTask進行執(zhí)行,實現(xiàn)連接服務器的目標,這一過程中,需要對asmack類庫提供的 XMPP連接進行利用。為了保證數(shù)據(jù)連接功能的實現(xiàn),通過設置數(shù)據(jù)包讀寫器,可以保證相關(guān)功能得以實現(xiàn)。關(guān)于連接實現(xiàn)的數(shù)據(jù)讀寫工作,具體內(nèi)容我們可以從下面代碼中看出:
2、注冊功能實現(xiàn)
當數(shù)據(jù)連接成功后,就會獲取一個相應的連接通道,這一通道利用“socket”實現(xiàn)數(shù)據(jù)連接,為了保證注冊功能實現(xiàn),需要對這一連接進行相應的封裝。注冊功能的實現(xiàn)過程,主要如下:
首先需要對RegisterTask進行數(shù)據(jù)封裝,實現(xiàn)代碼為:
其次,根據(jù)XMPP協(xié)議封裝后的注冊包進行調(diào)用,將其發(fā)送到服務器端,其代碼如下:
通過利用以上代碼,對原有數(shù)據(jù)進行轉(zhuǎn)換,以滿足底層socket需要,并且在用戶注冊成功后,會向系統(tǒng)發(fā)出回執(zhí)。
4、登錄功能的實現(xiàn)
登錄功能的實現(xiàn)與注冊功能實現(xiàn)較為相似,在向服務器發(fā)放認證包時,以“Authentication”為主。
2.2服務器端功能的實現(xiàn)
服務器端在進行信息接收過程中,需要利用spring對MINA框架進行初始化處理,這一過程中,相關(guān)代碼如下:
三、結(jié)論
基于JavaEE與Android的消息推送系統(tǒng)設計及其功能實現(xiàn),要注重在移動端和服務器端設計時,對相關(guān)算法進行利用,從而保證執(zhí)行程序能夠更好地滿足需要。利用JavaEE與Android的消息推送系統(tǒng),關(guān)鍵在于把握數(shù)據(jù)信息的有效傳輸和接收,并需要加強服務器端和移動端的管理,以滿足實際需求。
參 考 文 獻
[1]宋新曉.基于Android的push平臺功能的實現(xiàn)腳[J].北京交通大學,2013.
[2]曾冠東.基于Mina構(gòu)建簡單高性能的NIO應用[J].程序員,2014.