IBM Worklight: publicWorkLightHostname for Active/Active Webservers - ibm-mobilefirst

Environment:
IBM HTTP Server 8.5 - http:81/https:91
Liberty Profile 8.5.5.1
IBM Worklight 6.2 - http:9081/https:9091
Setup has Load balancer then two IHS[Active/Active] & two Worklight Servers.
Load Balancer routes the request from the client to both IHS in Round Robin.
Each IHS points to both the Worklight servers.
In Worklight.properties,
publicWorkLightHostname=localhost
publicWorkLightProtocol=http
publicWorkLightPort=10080
What should I fill in each .war file deployment in worklight server. Load Balancer IP, Port & Protocol?
I am confused with the Active/Active Webserver's.

See the following:
http://ibmmobiletipsntricks.com/2014/05/26/where-do-i-specify-the-hostname-of-my-worklight-server/
IBM Worklight 6.1 - When are these properties used? publicWorkLightHostname/Protocol/Port
The publicWorkLightHostname, publicWorkLightProtocol, and publicWorkLightPort properties in the worklight.properties file determine:
Where the Mobile web and desktop browser apps should connect back to.
How the Worklight Application Center (if used) will form RESTful URLs for its own internal use.
In all cases, these hostnames should point to the externally-resolvable address of the Worklight server (in front of any load-balancers, firewalls, proxies, etc.).

Related

Deploying Adapter on Bluemix-MobileFirst Foundation

I have registered on IBM Bluemix. I've created a Mobile Foundation Service.
Now I wanted to deploy a JavaAdapter on bluemix-MobileFoundation. But getting some "FWLSE0321: state change Failure...exception" during deployment.
The adapter deployed successfully in my machine with local MobileFirst Server 8.0.
For locally installed server - POM.xml
<mfpfUrl>http://localhost:9080/mfpadmin</mfpfUrl>
so my question is, If I want to deploy Adapter on Bluemix-Mobilefoundation then,
what would be the "mfpUrl" ? and
In mfp Operation Console, from where I'll get this URL?
Thanks in advance!
When you open your MFP service from your dashboard, the name of the server will appear on the opened service's main overview page. It would be of the format
<server-name>.mybluemix.net
This will be your mfpfURL along with https:// and the server url must be followed by the port number ( the default is 443). Viz :
<mfpfUrl>https://<server-name>.mybluemix.net:443/mfpadmin</mfpfUrl>
And when the operations console is opened, the url of the opened page will consist your server url too.
You can get the URL from the MobileFirst Console. Make sure you use https and port 443

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.
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:
MobileFirst 6.2: Server Farm in 6.2
MobileFirst 6.3: Server Farm in 6.3
MobileFirst 7.0: Server Farm in 7.0 (strongly recommended)
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.

MobileFirst development server - analytics REST services

I'm running the development server under MobileFirst Studio 7.0 and I can see the analytics console with data reflecting my application's activities.
Previously in my production servers I have been able to interrogate the status of the Analytics engine by using REST requests such as
http://localhost:9500/_cluster/health?pretty=true
The port 9500 being configurable by JNDI entry
<jndiEntry jndiName="analytics/httpport"
value="9501" />
this value defaults to 9500, while the transport port defaults to 9600.
In my development server I don't seem to be able to access these REST services Looking at the ports I can see that 9600 is active but 9500 is not, and the JNDI entry seems to have no effect.
I'm only seeking to do this for educational purposes, but am I missing something here? Is the REST capability expected to work in the development server? Is there some additional config I need to do?
In MobileFirst Platform Foundation 7.0 this port was blocked for security reasons. However, some customers found it useful using that port so in a coming iFix there will be an option to override the security setting allowing you to view your analytics data on that port.

Topology of Worklight Server on a Websphere Liberty Profile

I'm trying to understand the topology of Worklight. Specifically how does a WL Server handles its applications.
If I understood correctly, a WL Server has a <httpEndpoint>. This means that a set of WL Applications will have their context root on that port. Right?
This means, If I want to put /worklightconsole on a custom port, I'll need a network installation instead of a standalone so that I can have a cluster of WL instances and each one will bind to a different port.
Did I understood this matter correctly? Then I can use a reverse proxy to needle my requests to the correct instance of WL Server.
Right?
Thanks in advance!
http://www-01.ibm.com/support/knowledgecenter/SSZH4A_6.1.0/com.ibm.worklight.installconfig.doc/admin/c_typical_topology_of_an_ibm_wor.html
Yes the httpEndpoint entry defines the http and https port and the WL applications have their context root on these ports.
If you have different Liberty Servers with the same WL runtime, be sure that the you share the same database and same schema.
After that you can use a Web Proxy to load balance the requests between the different Liberty servers.

weblogic AS: application deployed on a cluster with two managed servers

I'm on Weblogic AS 10.3.5, I have two managed servers pointed to a cluster, so I have two url, one for the first managed server, the other one for the second.
I will deploy my application on the cluster, so will I reach it on both the url? will the application deployed and running on both the servers?
How does it work? Can you give me some references, please?
Is it clear?
Thanks a lot!
First, you shouldn't be using WebLogic 10.3.5 anymore since it has reached the last stage of support called Sustained Support. Consider to upgrade at least to WebLogic 10.3.6.
Related to your question, I believe you are talking about a Web Application and how to access it. First you need to read about Load Balancing in a Cluster. For the web part (JSP and Servlets) basically you have to options: setup a Web Server (like Apache HTTP) to make use of the WebLogic Plug-in, that will then be connected to the WebLogic cluster. The other easier option is to simply use an LBR (load balance router hardware).
These are the "software" solutions you have for Load Balancing your web application in a clustered WebLogic:
WebLogic Server supports the following Web servers and associated
proxy plug-ins:
WebLogic Server with the HttpClusterServlet
Netscape Enterprise Server with the Netscape (proxy) plug-in
Apache with the Apache Server (proxy) plug-in
Microsoft Internet Information Server with the Microsoft-IIS (proxy) plug-in
You can read more about this options at the Configure Proxy Plug-ins documentation page for WebLogic 10.3.6.