Awesome
Interoperable Notification Service for Smartphones
The messaging framework is introduced as a component that follows a client/server architecture, which can easily be integrated with any application server for sending JSON-based notifications to any mobile platform that implements a XMPP mobile client. Unlike GCM, APNS or MPNS, XMPP-based notification server is not constrained by number of messages that can be pushed to a mobile or a specific mobile platform.
Requirements
-
Openfire or ejabber (Gateway broker) - Here you can find a guide to configure Openfire 3.7.1
-
Maven2
-
Web server (e.g. GlassFish, Tomcat, JBoss, etc.)
Installation
$ git clone https://github.com/huberflores/XMPPNotificationServer.git
$ cd ~/XMPPNotificationServer/
$ mvn install
$ cd ~/xmpp-notification/target/xmpp-notification/WEB-INF/
$ nano web.xml
<web-app>
<servlet>
<servlet-name>xmppnotification</servlet-name>
<servlet-class>ee.ut.notification.xmpp.server.RESTNotification</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>xmppnotification</servlet-name>
<url-pattern>/xmppnotification</url-pattern>
</servlet-mapping>
</web-app>
Configure Openfire/XMPP server
$ ~/xmpp-notification/target/xmpp-notification
$ nano server.properties
server=your-xmpp-server
domain=your-xmpp-domain
Build war file
Locate war file within your Web server
Experimentation
In order to try the messaging framework, install the XMPP mobile client in a device and execute the xmppload.sh script.
$ ./xmppload.sh
How to cite
The complete framework (Client/Server) was built for comparison purposes with other notification mechanisms. If you are using the tool for your research, please do not forget to cite. Thanks!
- Flores, Huber, and Satish Srirama. "Mobile cloud messaging supported by XMPP primitives." Proceeding of the fourth ACM workshop on Mobile cloud computing and services. ACM, 2013. In conjunction with, the 11th International Conference on Mobile Systems, Applications and Services (MobiSys 2013).