How can I improve Java application load / startup/ boot time on Websphere 8.5? - jvm

I need a solution to bring up java applications on IBM Websphere faster. I looked up material on IBM website. The suggested jvm flag -XQuickStart but that flag seems to emulate -client so won't be useful in production.
What are the other ways that in which on can improve/lower boot times for applications deployed via ear files on Websphere 8.5? Please consider both JDK 7 and 8 when giving suggestions.

Related

How to develop with WebSphere 8.5 traditional on OS X

Does anyone have any idea how this can be done?
It's my understanding that WebSphere 8.5 traditional is not compatible or will not run on OSX. I am looking for solutions for developers to develop with a WebSphere 8.5 traditional server locally.
Could we setup some servers on a windows machine so they can be used remotely during development?
I downloaded the Eclipse plugin but it gives me the warning saying OS X is not compatible with WebSphere traditional and to give it a remote server address. I tried to point eclipse to a server on a windows PC but it still wants a runtime installation directory.
I found a single thread on WASDev with a similar question talking about runtime stubs with a dead link.
I tried using a liberty server but I get nothing but null pointer exceptions and JMX errors, I don't think this is a valid alternative in my corporate environment.
For developing against WebSphere traditional on OSX, you could try Docker! We've published developer edition versions of 8.5.5.9 and 9.0.0.0, see:
https://developer.ibm.com/wasdev/blog/2016/06/15/websphere-traditional-ibm-http-server-docker-hub/
https://hub.docker.com/r/ibmcom/websphere-traditional/
The Dockerfiles used to produce these images are here, should you want to try building your own instead:
https://github.com/WASdev/ci.docker.websphere-traditional
However, your question is more specific to getting the tools working.
The last I read (and I'll try to confirm/update the answer when I do find it), is that the stubs are part of the full product install for RAD (selectable via Installation Manager).
You're correct that traditional WAS doesn't run on OSX. Remote servers are an option but traditional WAS is considered by some developers to be heavy and slow to restart, so your developers might appreciate something local and more nimble. Liberty is supposed to run on OSX, and things that run on Liberty -usually- will run on traditional, so getting to the bottom of your Liberty problems might be useful. If you haven't already, posting your question on WASDev might reach someone that has a better answer than this one.

MobileFirst and Worklight with Java 8

How to use Java 8 for MobileFirst / Worklight mobile applications? I have always encountered articles that it wouldn't work with Java 8. Any one had luck in using it with Java 8?
At this time, MobileFirst does not support Java8. We're actively working on this and we should be able to announce support "soon". Be aware that there are several different aspects to your issue -
Developer environment; CLI and Studio, and embedded Liberty server
MobileFirst Server, of many different flavors; Liberty, WAS, Tomcat, etc.
Suggest you ask your question again in a week or so, and I should be able to provide a more specific answer.

IBM WAS 8.0 to 8.5.5 migration

I am asked to upgrade IBM WebSphere application server 8.0 to 8.5.5 on linux environment. Could you please give me a step by step guide for this migration?
thanks,
Kumar
The simplest method (assuming your WebSphere instances have enough spare CPU/disk/etc) is to build a second WebSphere cell at the new level and migrate applications across one at a time. Access to the application servers should be controlled by either a web server (using the WAS plugin) or an IP sprayer product and which version of app server used should be controlled in that layer. Updating in place has many pitfalls and can be difficult to recover from if something goes wrong which can lead to extended down time for your applications.

Is it possible to deploy a JAX-RS web service to MobileFirst Server?

My team is working on the migration of a hybrid app from Tibco Silver Mobile(TSM) platform to IBM MobileFirst Platform.
I have a JAX-RS webservice developed using Weblogic IDE which is currently hosted on TSM server. This webservice does a security check for all the incoming back-end requests and pass the request to the back-end if it is from a valid source.
When the app will be migrated from TSM to MobileFirst platform the TSM server will be moved out of the scene. I am looking for some alternate options for hosting this JAX-RS webservice. I don't want to make any changes to the webservice since it is a tested and proven code used in the TSM based solution.
I understand from the IBM MobileFirst Platform 7.0 documentation that JAX-RS support is now available on the MobileFirst Server and JAX-RS specification based Java adapters can be developed and deployed to the server.
Can I deploy the above mentioned webservice .WAR file as such to MobileFirst Server, without making any customizations?
If yes, what is the procedure for deploying the webservice (.WAR) to MobileFirst Server?
If no, what are the alternate options that can be considered?
As indicated in the comments above:
MFP Server is actually a Java EE application deployed to a supported Java EE application server, WebSphere Liberty or full WebSphere ND being the normal options, though TomCat is also supported.
In principle your own JAX/RS WAR file can be deployed to these same servers, the details will depend upon exactly what Java EE features you exploit and you will need to understand those Java EE servers' administration model. MFP itself is not affected by this, and you need no MFP knowledge to do it. You just need to understand the chosen Java EE server. Personally I would start with WebSphere Liberty.
A further question would be whether it is better to isolate your JAX/RS and Mobile First servers into their own Java EE server instances. It can be easier to manage and scale if you keep things separate, but technically there should be no interference if you do co-locate them. It is pretty trivial to spin up a dedicated Liberty server.
A more interesting question is whether there is value in actually exploiting the MFP Adapter capability to create JAX/RS services. In effect it's your familiar JAX/RS programming model but packaged slightly differently, deployed as a MFP adapter, and with the option explicitly to exploit the MFP security model and easily call other MFP adapters.
Personally, if I were coming to a project with no existing JAX/RS services and have commited to MFP and its security model then I would do my JAX/RS in the MFP Adapters.

Unable to jstat WebSphere Application Server PID

I've spent the entire day trying to find relevant resources about doing jstat on the WebSphere Process ID. I have WebSphere Application Server 7.0 installed on Windows 2003.
I did this command:
jstat -gcutil [PID] 1000
But I kept getting "[PID] not found" message.
Any idea how to resolve this issue? Or Java's jstat utility does not probe into IBM's derivative JVM?
Nicholas
Sun jstat does not work with the IBM JVM. The equivalent method for IBM JVMs is to utilize the Java Health Center.