We sell packaged Java web applications to some of our customers. It’s basically a collection of servlets, some SOAP web service and some static resources. We don’t do EJB nor any other Java Enterprise fancy stuff.
Some of our clients are running IBM WebSphere Application Server v5.1, hence we are limited to Java 1.4 for the run-time and the development. Of course, we would like to do our development using Java 5 (or even better Java 6). Doing SOAP in 1.4 requires an external lib (we use AXIS, but it’s aging). We can’t use enum, boxing, generics… It’s becoming harder to find 1.4 compliant third-party libraries.
The customers are currently satisfied with this old-but-working-well setup. We would like them to upgrade their Java run-time. In this case, it means upgrading to IBM WAS 6.1 or 7.0?
What can we tell them? What’s in it for them?
So far I’ve got:
- Better performance as JVM is much more efficient in Java 5 (even better with Java 6). I can’t put figures on it, though. Not sure if IBM VM has improved a lot (one of our client is running on AIX).
- Support. IBM WAS 5.1 can only be supported through special extended support programs.
They are big corporations, so they plan their solutions more than a year in advance. They select a mature product today and they deploy it years later. The product then has a few months before being end-of-life.
First of all, the only SDK that is supported with a given version of WAS is the SDK that actually ships with the product (in other words, IBM won’t support running WAS on another JDK, if this matters).
Secondly, WAS might actually not even start with a more recent version of the SDK (WAS 6.1 won’t start with IBM JDK 1.6 for example).
So requiring a more recent runtime will probably be synonym of big migration: qualification of the JDK and application server, training of admins, migration of platforms, migration of applications, update of monitoring, deployment tools, regression testing, etc. This is generally a complex and extremely slow process with big conservative companies.
In your case, you could maybe consider branching your software and offer different versions and:
There must be a good reason for your customers to adopt a newer version and it must out-weight the cost of a migration.