Search code examples
javatomcatjbossmigrationwebsphere

How to plan the migration from WebSphere to a cheaper application server like JBoss, Tomcat or Payara


I am planning to migrate a Java application from WebSphere to a different application server. The main motivation for this is to save licence fees.

I know that the source code uses EJB's and that they are not supported by Tomcat directly. There are two major questions that I would like to ask (and they are interrelated, so I ask them in one question):

A) How can I identify which migration / re-programming tasks I have to plan? From various sources I found that I probably should take the following steps. My question is: What else should be on this list:

  1. If the code uses EJBs either replace them (e.g. using Spring) or use an application server that supports them (like JBoss or TomcatEE)
  2. Search the source code for imports starting with "com.ibm".
  3. I understood that I need to check to which extend Monitoring/Logging/Administration is currently done using WebSphere features. What I do not yet know is: How do I find all of this configuration?

B) What is the best approach to get a reasonable estimation of the total effort? I guess I can just start and try to do the migration to get a first idea. But what would be the major points to look into to get a feeling for the total effort?

I found this guide: How to migrate from Websphere to Tomcat, which already provides some hints. However, it does not really go much into detail in particular it does not mention how to find out which WebSphere specific features are used.

I also found this guide on [How to migrate to JBoss](How to migrate to JBoss: https://docs.jboss.org/author/display/AS72/How%20do%20I%20migrate%20my%20application%20from%20WebSphere%20to%20EAP%206.html). This is much more detailed, but it feels like I have to do almost the entire migration in order to get an estimate.


Solution

  • I did something similar in the past year and my "save money" "save time" was moving from websphere application server nd to websphere liberty or open liberty because liberty and websphere liberty share the same code base the biggest differece is the JVM runtime in terms of funciontality and configuration ( for example SSL provider for keystore ).

    To do that I kindly suggest to use this tool

    https://www.ibm.com/garage/method/practices/learn/ibm-transformation-advisor

    I tried other way but they works only if there is a perfect indipendence of the EAR from the application server.