MMS Mobile Messaging Server
MMS acts as bridge between client apps and server apps, while abstracting the complexities of real-world networks from server applications.
Architecture
MMS seamlessly abstracts the complexities of real-world networks where client apps exist from the server applications.
For more details, please read the Architecture
Features
- Client Apps use one TCP connection to interact with the server(s) whether they are REST APIs or messaging APIs
- The messages from Server(s) are routed based on priority and availability of the client
- Client Apps can talk to legacy server apps without compromising performance
Setup
Java 8 should be installed.
Download MMS.war file
Download latest version of MMS.war from maven central
Usage
java -jar mms-<m.n.p>.war --help
Configuration File
MMS needs to be supplied with following configuration
- GCM senderId and ApiKey
- If SSL is enabled, SSL certificate, keystore and passwords
- Port numbers ( default http port is 8080, default https port is 8443 )
A sample configuration file can be generated
Generate sample configuration file
generates the sample config files under "config" folder
java -jar mms-<m.n.p>.war -g
Start MMS
## make sure java 8 is available
java -version
## start mms
java -jar mms-<m.n.p>.war -c <config-dir>
FAQ
-
How to create the keystore and store certificates? Official documentation from java provides the details, besides there are several online resources that provide documenation about keytool.
-
How to create GCM senderId and apiKey? Click on "Get A Configuration file button" https://developers.google.com/cloud-messaging/android/client#get-config