Set up new Mobile Integration Server web applications

Set up a new physical or VM Mobile Integration server.

Before you begin

The H2 embedded database, which is part of the Grails framework, is the default data store for the Mobile Integration Server. H2 is not a good option for a shared database. An Oracle or SQL Server database specifically for Mobile Server is required.

See Support for SQL Server and Oracle databases for instructions. A load balancer is required to support multiple instances of the Mobile Integration Server. This can be a hardware appliance or software such as Apache or Ngnix.

Procedure

  1. Install and set up your load balancer and note the URL that the mobile devices and cloud configuration tool should use to access it.
    For the examples in this procedure we will use https://mobile.ellucian.edu/sis-mobileserver.
  2. If setting up a new physical or VM server, install JDK and Tomcat as described in Install Supporting Software.
  3. Install the WAR file on the new server. The WAR file (application context name) should be the same on each of your instances. For example, sis-mobileserver.war.
  4. Set up the sis-mobileserver-config.groovy file as described in Customize and install the server configuration file.
  5. In an editor, open your sis-mobileserver-config.groovy file on your first instance and make the following changes:
    1. Find the grails.serverURL setting and change the value to the load balancer URL from Step 1.
    2. Add the following, replacing the example URLs with the URL of your second and third Mobile Integration Servers, ending with the same application context name, which likely matches your WAR file name.
      Do not include the .war extension. This is a comma delimited list of strings. If you only have a second instance, there will be a single string in the list (make sure you do not end it with a comma)

      ellucian.mobileserver.instances = "https://mobile2.ellucian.edu/sis-mobileserver", "https://mobile3.ellucian.edu/sis-mobileserver"

    3. Confirm that a dataSource section exists and is configured properly to connect to a SQL Server or Oracle database as described in (Optional) Support for SQL Server and Oracle databases.
    4. Set your Events and Feeds to refresh every hour at the top of the hour as follows: ellucian.plugin.msEvents.refreshCronExpression = "0 0 0/1 * * ?" ellucian.plugin.msFeed.refreshCronExpression = "0 0 0/1 * * ?"
    5. Review the rest of the config.groovy file and make any other adjustments that you want to make at this time.
      For example, you might want to begin saving your log4j files in a different location at this time.
  6. Save the changes to the config.groovy file. You can now start the Tomcat instance if it was not already started.
  7. Set up the second Mobile Integration Server as described above, using the first server’s *-config.groovy file as a starting point for configuration. Edit this second server’s *-config.groovy file and adjust the list of instances (step 5b above) so that the first instance is on the list and the second instance is not. Set your Events and Feeds to refresh every hour at half-past the hour as follows (step 5d above): ellucian.plugin.msEvents.refreshCronExpression = "0 30/60 * * * ?" ellucian.plugin.msFeed.refreshCronExpression = "0 30/60 * * * ?"
  8. In the Cloud Configuration tool, create a configuration that will be used for this load balanced set of mobile integration servers, and then click Getting Started.
  9. In the Mobile Server URL field, enter the URL for the load balancer, from Step 1.
  10. Click Validate.
    If a list of plugins appears, your configuration is successfully communicating through the load balancer to one of your Mobile Servers. If the list of plugins does not appear, check the settings for your load balancer and review the instructions above to troubleshoot the problem.

Results

Device requests will go to the load balancer, which will distribute the requests to the Mobile Integration Servers. Each server that you set up will have its own WAR file and *-config.groovy file. Each *- config.groovy file will specify the shared database, which stores cloud configuration and cache data for the Mobile Integration Server instance. Each Mobile Integration Server instance then shares the same configuration and cache data.