Sample scenario

Suppose company ABC has developed a mobile application and now wants to set up the deployment run-time to service the mobile application. Initially, the mobile deployment consists of 10000 devices and grows in the future. The customer therefore wants a fault tolerant and load-balanced environment that is able to handle the load today and be easily extended to handle more mobile deployments in the future. Based on the data synchronization characteristics of the mobile application, the customer has determined that the following configuration is needed:

Since the company uses IIS as its web server, the IIS version of the Relay Server is used.

Notes
  • Each Relay Server is deployed on its own computer. Two computers, with host names rs1.abc.com and rs2.abc.com are used.

  • Each MobiLink server is deployed on its own computer. The two MobiLink servers are assigned names ml1 and ml2 and belong to the back-end server farm called abc.mobilink.

  • The load balancer is addressable using the host name www.abc.com.

  • For maximum security, HTTPS is used by all clients and Outbound Enablers connecting to the Relay Servers. We assume all Web servers are equipped with a certificate from a well known Certificate Authority (CA), and the back-end server computers all have the corresponding trusted root certificates in their standard certificate store.

To set up the Relay Server farm
  1. The first step is to create the Relay Server configuration file.

    The filename containing the configuration must be called rs.config. For this particular scenario, the following configuration file is used:

    #
    # Options
    #
    [options]
    verbosity = 1
    
    #
    # Define the Relay Server farm
    #
    [relay_server]
    host = rs1.abc.com
    
    [relay_server]
    host = rs2.abc.com
    
    #
    # Define the MobiLink backend server farm
    #
    [backend_farm]
    id = abc.mobilink
    client_security = on
    backend_security = on
    
    #
    # List MobiLink servers that are connecting to the Relay Server farm
    #
    [backend_server]
    farm = abc.mobilink
    id = ml1
    token = mltoken1
    
    [backend_server]
    farm = abc.mobilink
    id = ml2
    token=mltoken2
    
  2. Deploy the configuration file rs.config along with the Relay Server components to the two computers that are running the Relay Server.

  3. Start MobiLink server on the two computers that are running the MobiLink servers, and then start the corresponding Outbound Enabler using the following commands.

    On the computer running MobiLink server with id ml1:

    mlsrv11 -x http -z ml1 -ss <other ML options>
    rsoe -f abc.mobilink -id ml1 -t mltoken1 -cr "host=www.abc.com;port=443;https=1"
    

    On the computer running MobiLink server with id ml2:

    mlsrv11 -x http -z ml2 -ss <other ML options>
    rsoe -f abc.mobilink -id ml2 -t mltoken2 -cr "host=www.abc.com;port=443;https=1"
    
  4. Once all servers and Outbound Enablers are running, MobiLink clients are able to connect to the farm using the following connection information:

    • HTTPS   protocol

    • host   www.abc.com

    • url_suffix   /ias_relay_server/client/rs_client.dll/abc.mobilink