Mobile Messaging Server

Mobile Messaging server Parent

License

License

Categories

Categories

Ant Build Tools
GroupId

GroupId

com.github.antennaesdk
ArtifactId

ArtifactId

mms-parent
Last Version

Last Version

0.1.6
Release Date

Release Date

Type

Type

pom
Description

Description

Mobile Messaging Server
Mobile Messaging server Parent
Project URL

Project URL

https://github.com/AntennaeSDK/MMS
Project Organization

Project Organization

Pivotal Software, Inc.
Source Code Management

Source Code Management

https://github.com/AntennaeSDK/MMS/tree/master

Download mms-parent

Filename Size
mms-parent-0.1.6.pom 4 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.antennaesdk/mms-parent/ -->
<dependency>
    <groupId>com.github.antennaesdk</groupId>
    <artifactId>mms-parent</artifactId>
    <version>0.1.6</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.antennaesdk/mms-parent/
implementation 'com.github.antennaesdk:mms-parent:0.1.6'
// https://jarcasting.com/artifacts/com.github.antennaesdk/mms-parent/
implementation ("com.github.antennaesdk:mms-parent:0.1.6")
'com.github.antennaesdk:mms-parent:pom:0.1.6'
<dependency org="com.github.antennaesdk" name="mms-parent" rev="0.1.6">
  <artifact name="mms-parent" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.github.antennaesdk', module='mms-parent', version='0.1.6')
)
libraryDependencies += "com.github.antennaesdk" % "mms-parent" % "0.1.6"
[com.github.antennaesdk/mms-parent "0.1.6"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • client-api
  • server-api
  • mobile-server

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

  1. Client Apps use one TCP connection to interact with the server(s) whether they are REST APIs or messaging APIs
  2. The messages from Server(s) are routed based on priority and availability of the client
  3. 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

  1. GCM senderId and ApiKey
  2. If SSL is enabled, SSL certificate, keystore and passwords
  3. 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

  1. 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.

    Official Keytool Docs

    Command to create a keystore and self-signed certificate

  2. How to create GCM senderId and apiKey? Click on "Get A Configuration file button" https://developers.google.com/cloud-messaging/android/client#get-config

Versions

Version
0.1.6
0.1.5
0.1.4
0.1.3