Saturday, August 05, 2006

JEE installation - why is it so difficult?

Seems like one of the major penalties of JEE over DotNet and many other programming languages and platforms is the installation / deployment phase. For some reason, JEE commitee (and vendors ...) didn't get to this painful point yet, while other platforms have already solved many of the issues there.
I'd like first to describe the scope of the problem and then discuss some faults I see in the current situation.
An installation of a JEE based application should include the following parts: platform (application server) and application. In order to install an application, there are several required configurations that occasionaly need to take place - resources (JMS, JDBC), security, logging etc. Note that some of the configurations are on the platform level while others are on the application level.
I see the platform part of the installation as in many cases the platform is OEMed as part of a complete solution and should be shipped and installed along with the application.
If the SMB market is a target for the JEE platform (and it is - see Oracle, IBM, BEA and others), the installation process must be clear and simple for the end user.
So, what are we doing today?
Many of us are building ant build files for the installation and configuration. Most platforms support scripting based configuration which enables scripted deployment (build files) to configure the platform for the installation.
So, combining InstallShield like installers with Ant capabilities provides a solution, but certainly this is not enough.
Consider a multi platform solution - IBM, BEA, Oracle, JBoss ... you need to create a different installer with different scripts for each platform. No so easy to maintain.
IBM took a move recently (couple of months), issuing an IBM Installation Factory product, works with WebSphere platform only ofcourse.
This is a very interesting move, which includes not only the platform itself but also the fixes and refresh packs to allow a complete installation process. The tool supports WebSphere 6.0.2 and 6.1 versions and my feeling is that other vendors will have to provide a similar tool to support their installation procedures as well.
How much time will it take them? Will we see some standards in this area?

No comments: