For up-to-date product documentation, see the IBM MobileFirst Foundation Developer Center.
Server farm topology
We can configure a farm of WebSphere® Application Server full profile, WebSphere Application Server Liberty profile, or Apache Tomcat application servers.
A farm is a set of individual servers where the same components are deployed and where the same administration service database and runtime database are shared between the servers. The farm topology enables the load of MobileFirst applications to be distributed across several servers. Each server in the farm must be a Java™ virtual machine (JVM) of the same type of application server; that is, a homogeneous server farm. For example, a set of several Liberty servers can be configured as a server farm. Conversely, a mix of Liberty server, Tomcat server, or stand-alone WebSphere Application Server cannot be configured as a server farm.
In this topology, all the administration components (MobileFirst Operations Console, the administration service, and the live update service) and the runtimes are deployed on every server in the farm.
Figure 1. Topology of a server farm
This topology supports only symmetric deployment. The runtimes and the administration components must be deployed on every server in the farm. The deployment of this topology has the following characteristics:
- One or several administration components can be deployed. Each instance of MobileFirst Operations Console communicates with one administration service and one live update service.
- The administration components must be deployed on all servers in the farm.
- One or several runtimes can be deployed.
- The runtimes must be deployed on all servers in the farm.
- One MobileFirst Operations Console can manage several runtimes.
- One runtime is managed by only one MobileFirst Operations Console.
- Each administration service uses its own administration database schema. All deployed instances of the same administration service share the same administration database schema.
- Each live update service uses its own live update database schema. All deployed instances of the same live update service share the same live update database schema.
- Each runtime uses its own runtime database schema. All deployed instances of the same runtime share the same runtime database schema.
Configuration of JNDI properties
Some JNDI properties are required to enable JMX communication between the administration service and the runtime of the same server, and to define the administration service that manages a runtime. For convenience, the following tables list these properties. For instructions about how to install a server farm, see Install a server farm. For more information about the JNDI properties, see List of JNDI properties for MobileFirst Server administration service and List of JNDI properties for MobileFirst runtime.
- WebSphere Application Server Liberty profile server farm
The following global JNDI properties are required in each server of the farm for the administration services and the runtimes.
Table 1. Global JNDI properties for administration services and runtimes in server farm topology of WebSphere Application Server Liberty profile JNDI properties Values mfp.topology.platform Liberty mfp.topology.clustermode Farm mfp.admin.jmx.host The host name of the WebSphere Application Server Liberty profile server mfp.admin.jmx.port The ort of the REST connector that must be identical to the value of the httpsPort attribute declared in the <httpEndpoint> element of the server.xml file of the WebSphere Application Server Liberty profile server. <httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9443" host="*" />
mfp.admin.jmx.user The user name of the WebSphere Application Server Liberty administrator that is defined in the <administrator-role> element of the server.xml file of the WebSphere Application Server Liberty profile server. <administrator-role> <user>MfpRESTUser</user> </administrator-role>
mfp.admin.jmx.pwd The password of the WebSphere Application Server Liberty administrator user. The mfp.admin.serverid JNDI property is required for the administration service to manage the server farm configuration. Its value is the server identifier, which must be different for each server in the farm.
Several administration components can be deployed to enable the same JVM to run on separate administration components that manage different runtimes.
When you deploy several administration components, we must specify:
- On each administration service, a unique value for the local mfp.admin.environmentid JNDI property.
- On each runtime, the same value for the local mfp.admin.environmentid JNDI property as the value defined for the administration service that manages the runtime.
- Apache Tomcat server farm
The following global JNDI properties are required in each server of the farm for the administration services and the runtimes.
Table 2. Global JNDI properties for administration services and runtimes in server farm topology of Apache Tomcat JNDI properties Values mfp.topology.platform Tomcat mfp.topology.clustermode Farm JVM properties are also required to define Java Management Extensions (JMX) Remote Method Invocation (RMI). For more information, see Configure JMX connection for Apache Tomcat.
The mfp.admin.serverid JNDI property is required for the administration service to manage the server farm configuration. Its value is the server identifier, which must be different for each server in the farm.
Several administration components can be deployed to enable the same JVM to run on separate administration components that manage different runtimes.
When you deploy several administration components, we must specify:
- On each administration service, a unique value for the local mfp.admin.environmentid JNDI property.
- On each runtime, the same value for the local mfp.admin.environmentid JNDI property as the value defined for the administration service that manages the runtime.
- WebSphere Application Server full profile server farm
The following global JNDI properties are required on each server in the farm for the administration services and the runtimes.
Table 3. Global JNDI properties for administration services and runtimes in server farm topology of WebSphere Application Server full profile JNDI properties Values mfp.topology.platform WAS mfp.topology.clustermode Farm mfp.admin.jmx.connector SOAP The following JNDI properties are required for the administration service to manage the server farm configuration.
JNDI properties Values mfp.admin.jmx.user The user name of WebSphere Application Server. This user must be defined in the WebSphere Application Server user registry. mfp.admin.jmx.pwd The password of the WebSphere Application Server user. mfp.admin.serverid The server identifier, which must be different for each server in the farm and identical to the value of this property used for this server in the server farm configuration file. Several administration components can be deployed to enable the same JVM to run on separate administration components that manage different runtimes.
When we deploy several administration components, we must specify the following values:
- On each administration service, a unique value for the local mfp.admin.environmentid JNDI property.
- On each runtime, the same value for the local mfp.admin.environmentid JNDI property as the value defined for the administration service that manages the runtime.
Parent topic: Constraints on MobileFirst Server administration service, MobileFirst Server live update service and MobileFirst runtime