Search code examples
ibm-mobilefirstmobilefirst-server

MobileFirst: can multiple Servers use same database


One of my client has installed two MobileFirst servers on separate machines but have kept same databases for both to use. For example, databases are WLAdmin, WrkLght, WLReports, WLAppCenter and both servers are pointing to them.

It works well in past but today we seen Runtime synchronization failed exception and console was showing.

FWLSE3000E: A server error was detected.

So is this okay to have same database for multiple servers to use ?

Our Environment:

  • MobileFirst 6.3
  • WAS Liberty Core v8.5.5.4
  • Oracle 11

On both servers same application is deployed and there is no clustering. Only a load balancer is configured to just distribute the traffic.


Solution

  • Since Worklight/MobileFirst 6.2, a configuration with two "independent" servers using a shared administration data base is called a farm of servers and requires some additionally configuration. It is no longer enough that both servers share the data base, it is also needed that both servers can communicate to each other through JMX.

    The situation in MobileFirst 6.3 for the farm of servers is in my personal opinion not optimally user-friendly, as some XML configuration file is needed to be shared among all servers (this is often error-prone), hence I recommend to upgrade to MobileFirst 7.0 where this XML configuration file is superfluous and the configuration is much easier.

    The documentation for configuring a farm of servers can be found here:

    A server farm can be configured with Websphere Liberty Profile or Full Profile, or with Apache Tomcat.

    An alternative to a server farm is using IBM Websphere Application Server Network Deployment (WAS ND) with clusters (see WAS ND configuration for MobileFirst 6,3). This works only with Websphere Full Profile, not with Websphere Liberty Profile. In this case, you do not really have two independent servers since they must both belong to the same cluster and are controlled by the same Websphere Deployment Manager. WAS ND handles all details of JMX communication automatically for you.

    Final note: what I say above holds for the MobileFirst Server and Runtime. For IBM Application Center, the situation is slightly different since it does not require any JMX. Having two independent servers with Application Center sharing the same data base should work without problems.