Monday, April 14, 2008

Moving the installation directory of WebSphere installations

To a Java EE developer who is used to lightweight containers like JBoss, WebSphere seems like a partially more powerful, yet monstrous monolithic block.

One of the strengths of the WebSphere stack is its internal product registry which automatically tracks all installations of application servers, feature packs and fix packs. Whenever you set up a new application server or server profile unused TCP/IP ports are suggested automatically to avoid conflicts with other profiles. However, this registry might turn into a pitfall whenever you want to modify installations manually.

For instance, if you want to move the installation directory of an application sever all you have to do with JBoss is move the installation directory. The same attempt with WebSphere will most likely lead to incorrect server startup, the impossibility to apply fix packs and other "inconveniences".

The product registry is the most obvious hindrance to ease-of-use. After all, I managed to move my WebSphere Process Server 6.1 installation to another directory on a Windows system. The steps described below should be treated as hints for those who plan to do something similiar and not as a complete and definite guide to tampering with WebSphere installations.
  1. I started with physically moving the complete installation directory of WebSphere Process Server to the desired destination.
  2. Since the WebSphere setup routines enter absolute path descriptions in the shell scripts that reside in the bin directories of the server and its profiles it is advisable to perform a search & replace operation on all files in the new server installation directory. Replace the old absolute path description by the new absolute path description. On Windows systems, it is crucial to perform the operation twice: once with backslashes and once with forward slashes.
  3. Open the Windows registry editor (regedit.exe) and navigate to the following path:
    HKEY_CURRENT_USER\Software\IBM
    Expand the the product entry of the moved product, expand it and select the appropriate product version. Alter the path descriptions in the BinPath, InstallLocation and LibPath entries appropriately.
    Note to Linux users: if you use the Red Hat Package Manager, the product might be registered there in a similar manner.
  4. Move to the Windows directory (most likely C:\WINNT or C:\WINDOWS). You will find a text file called .nifregistry. Replace the old path descriptions in the file by the new ones.
    Note to Linux users: the file should be located under /opt/.ibm/.nif/.nifregistry.
  5. In the same directory, you will find a file called vpd.properties. Apply the same search & replace operation to it. The last two steps will allow for the IBM Update Installer and the Profile Management Tool being able to pick up the new location of the application server.
  6. If your product was installed using the IBM Installation Manager move to your user home directory (e.g. C:\Documents and Settings\All Users\Application Data) and open the IBM\Installation Manager sub directory. Also perform a search & replace on the files contained there and in all sub directories.
I know its a bit of an ordeal - however, it seems to be manageable in the end!

Best regards,
Matthias

"Apply the integration test client update to the server" message in WID 6.1

It is rumored that some people who develop SCA components in WebSphere Integration Developer (WID) also want to test their components. Well, as I admit, I am one of them.

If you are also one of them and if you use WID version 6.1 along with a standalone instance of WebSphere Process Server (WPS) 6.1 then you might have stumbled across a neat error message in the Integration Test Client. It says

Apply the integration test client update to the server.

Moreover, if you then decided to delve further into the wherefores and possible solutions to this kind of problem you might have found fixes for WID versions 6.0.1.2 and 6.0.2.2 on http://www-1.ibm.com/support/docview.wss?rs=2308&context=SSQQFK&q1=4010662&uid=swg24010662

But what about WID and WPS versions 6.1? As it turns out, IBM released a fix for WPS 6.1 on 4/1/2008. Please visit http://www-1.ibm.com/support/docview.wss?rs=2308&uid=swg24017940 to download it. At the time of this writing the page wasn't listed in Google.

You also ought to make sure that you have installed the Interim Fix 001 for WID 6.1 which can be downloaded on http://www-1.ibm.com/support/docview.wss?rs=2308&uid=swg27011454.

Please note that the error message mentioned above does not occur if you use the integrated testing environment that ships with WID 6.1. Only standalone servers are affected - regardless of whether they reside on the same machine as WID or on a remote machine.

Best regards,
Matthias