Back in September when I announced my move to Development to work on installation, Windows and common libraries, I glibly invited the massed ranks of blog readers (both of you) to send feedback:
I am interested in any feedback and suggestions you might have regarding the IDS installation process (on any platform) - does it meet your needs?
Gerardo Santana took me at my word and left some thought provoking comments:
About the installation process, last time I checked I had to unpack a tar file into $INFORMIXDIR before running the installer. I fail to see the reason for that requirement, and it bugs me because it makes me give /usr more space than it needs. I want to start the installation process from anywhere I want (my home for instance).
And why should it use Java anyways? It would be nicer that IBM could offer packages for the package managers of the platforms it supports (RPM is not enough). As if the Informix installation was so complicated anyways (a bunch of files dropped in a single directory). Or am I missing something?
I made a vague commitment to reply to these comments, and since then more than one person has asked me when I'm going to get around to it. Admittedly it has taken rather a long time to reply. In part because I usually tend to write blog posts in a hurry (can you tell?) and this was something that deserved a considered response. After all, Gerardo makes an excellent point - Install should be simple.
Firstly, there is more than copying a bunch of files to a directory, setting file permissions and linking libraries. For a UNIX DBA who knows the operating system and has everything set up, this might be sufficient, but there are various additional requirements that clients, partners, and other IBM teams ask for, including (in no particular order):
- Checking library and OS prerequisite versions
- Silent install for embedding and mass deployment
- Recorded install that can be played back
- Unified look and feel across UNIX platforms, and Windows
- Licence agreements - unified across Software Group products
- Componentized install - choosing a subset of features
- Support for GUI and non-GUI install
- Configurable uninstall
- Creating a Demo instance
- Logging install actions and installed features
For these reasons it becomes more cost-effective and reliable to choose an install framework that has support for many of the above features built-in, can support multiple platforms, and is straightforward to extend and customize. Currently Installshield is the install framework used by IDS on Windows, and Installshield Multi-Platform (ISMP) is used on UNIX.
One price that comes with an Installshield framework is a Java Runtime dependency. A Java Runtime Environment is bundled in the install media so for most users this is transparent. Java makes a good choice to write a multi-platform install framework - it has been around for a while and many of the platform specific issues go away.
That is not to say there are not other choices, both Java and non-Java. We continue to evaluate install frameworks to identify which has the best combination of cost-effectiveness, usability, reliability and platform support. We are looking at both home-grown solutions and 3rd party install frameworks used by other IBM Software Group development teams. We are also actively looking into how we can provide simpler options for embedding IDS and deploying instances to multiple machines.
Regarding wanting to start the install process from anywhere. That sounds like a reasonable request and if the demand is there it aught to be fixable.
Thanks for the comments Gerardo, and please leave more. Thanks also PJ in the install team for providing insight into current ISMP functionality.