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 machine. Two machines, with host names rs1.abc.com and rs2.abc.com are used.
  • Each MobiLink server is deployed on its own machine. The two MobiLink servers are assigned names ml1 and ml2 and belong to the backend 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 RSOEs connecting to the relay servers. We assume all Web servers are equipped with a certificate from a well known Certificate Authority (CA), and the backend server machines 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 machines that are running the relay server.

  3. Start MobiLink server on the two machines that are running the MobiLink servers.

  4. Once MobiLink server has started, start the corresponding RSOE using the following commands.

    On the machine running MobiLink server with id ml1:

    mlsrv11 -x http -zs ml1 -lsc http(host=ml1) <other MobiLink options>
    
    rsoe -f abc.mobilink -id ml1 -t mltoken1 -cr “host=www.abc.com;port=443;https=1”
    

    On the machine running MobiLink server with id ml2:

    mlsrv11 -x http -zs ml2 -lsc http(host=ml2) <other MobiLink options>
    
    rsoe -f abc.mobilink -id ml2 -t mltoken2 -cr “host=www.abc.com;port=443;https=1”
    
  5. Once all servers and RSOEs are running, MobiLink clients are able to connect to the farm using the following connection information:

    • host   www.abc.com

    • port   443

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