February 26, 2014

Multiple Maximo 7.1 installations on the same administrative workstation

As you may already know IBM Maximo 7.1 does not fully support the installation of multiple environments on a single Administrative Workstation. This is partially true since IBM has developed a procedure based on the use of non-administrative system users (see TechNote 21421640). However, I find this as an overly complex technique so I have developed my own personal approach to this problem.

Note: This is an unsupported procedure. Use at your own risk. It is a quite complex procedure but is very effective in the real world.


Background Information

The installation of Maximo on a Windows system will basically create two components:
  • Deployment Engine: The IBM Autonomic Deployment Engine (DE) manages the installation of Maximo. It is typically located in C:\Program Files\IBM\Common\acsi. For more details refer to this video or this PDF.
  • TPAE: Maximo, SCCD and other TPAE-based products are installed in a specific directory that is typically named SMP (I usually install Maximo under D:\IBM\SMP) This contains all the scripts, Java classes and other stuff needed to manage the application and create the maximo.ear file that is deployed on the application server.

The technique described in this article consists in having a backup of those two directories to have the possibility of switching from one environment to another.

The backup is best performed with the robocopy command that is available on recent Windows systems. For Windows XP or Windows 2003 you can download it from here. It has great advantages over xcopy in terms of performances and reliability.


Installation Scenario

To demonstrate the technique I will walk through all the steps needed to install development, test and production environment from a single Admin Workstation. The example assumes you are working in D:\IBM directory.
  1. Install development environment - Launch the Maximo installer and install the development environment in D:\IBM\SMP
  2. Create environment identifiers files
    1. Create an empty file named DEV.txt in the SMP directory: D:\IBM\SMP
    2. Create an empty file named DEV.txt in the DE directory: C:\Program Files\IBM\Common\acsi
  3. Backup installation folders
    1. Copy the whole C:\Program Files\IBM\Common\acsi directory into a new directory C:\Program Files\IBM\Common\acsi_DEV
    2. Copy the whole D:\IBM\SMP directory into a new directory D:\IBM\SMP_DEV
  4. Tweak installation parameters - Update the following files to match the test environment configuration:
    1. D:\IBM\SMP\etc\install.properties
    2. D:\IBM\SMP\maximo\applications\maximo\properties\maximo.properties
  5. Install test environment - Do not launch the installer but clone the development environment
    1. Clone the development database into an empty test database
    2. Build maximo.EAR file and deploy it on the test application server
  6. Create environment identifiers files - Create two empty files named TEST.txt as described in step 2.
  7. Backup installation folder - Backup folder in XXX_TEST folders as described in step 3.
  8. Tweak installation parameters - See step 4.
  9. Install production environment - See step 5.
  10. Create environment identifiers files - Create two empty files named PROD.txt as described in step 2.
  11. Backup installation folder - Backup folder in XXX_PROD folders as described in step 3.

At the end of the process you will have the three environments up and running with a directory structure like this.
  • D:\IBM
    • SMP
    • SMP_DEV
    • SMP_PROD
    • SMP_TEST
Check that you have the correct DEV.txt, TEST.txt and PROD.txt files in each SMP_XXX directory Ensure you have PROD.txt file in the SMP main dir. This allows to identify which environment is currently active.

How to switch environments

Download the SmpSetEnv.cmd script and copy it in D:\IBM dir.
If you double click on the script the following prompt will appear.



The script allows you to switch from one environment to a new one. It will basically perform the following actions:
  1. Display the current active environment in D:\IBM\SMP
  2. Let you choose which environment to activate
  3. Backup D:\IBM\SMP into the appropriate D:\IBM\SMP_XXX directory
  4. Restore the appropriate D:\IBM\SMP_XXX into D:\IBM\SMP
  5. Stop the DE daemon
  6. Backup C:\Program Files\IBM\Common\acsi into the appropriate C:\Program Files\IBM\Common\acsi_XXX directory
  7. Restore the appropriate C:\Program Files\IBM\Common\acsi_XXX into C:\Program Files\IBM\Common\acsi


Remember! Always work in the main SMP directory. The SMP_XXX directories are only used as backups.

February 13, 2014

Windows Server firewall rules for Maximo/SCCD installation

Windows 2008 Server default firewall rules are very restrictive.
When installing Maximo or SmartCloud Control Desk on a remote WebSphere installed on a Windows 2008/20012 Server system you may hit some connectivity errors between the Maximo Administrative Workstation and the application server.

I have found out you have to open the following ports/protocols:
  1. Ping: this is used by the Deplyment Engine to check hostnames and availability or remote systems
  2. WebSphere SOAP (8879): Used to administer WAS remotely.
  3. HTTP/HTTPS (80/443): The HTTP Server
  4. WebSphere Administrative Console (9043): Needed to deploy MAXIMO.ear file

These are the commands that I have used to set the firewall rules.

netsh firewall set icmpsetting 8
netsh advfirewall firewall add rule name="WebSphere SOAP" dir=in action=allow protocol=TCP localport=8879
netsh advfirewall firewall add rule name="HTTP " dir=in action=allow protocol=TCP localport=80
netsh advfirewall firewall add rule name="HTTPS" dir=in action=allow protocol=TCP localport=443
netsh advfirewall firewall add rule name="WAS Administrative Console (secure)" dir=in action=allow protocol=TCP localport=9043


These commands must be ran from a command line with administration privileges. To do this right click on the Command Prompt shortcut and select Run as Administrator.

Depending on your environment you may need to open additional ports. Here is the complete list of WebSphere ports.

On the database server you need to open the ping and JDBC ports.
  • DB2: 50000
  • Oracle: 1521
  • SQL Server: 1433