Sunday, July 29, 2012

Extending TSAM using Eclipse

If you have been using Tivoli Service Automation Manager (TSAM) for Cloud provisioning, the usual way for service offering customization is to write Javascript and HTMLs directly on TSAM server.   With TSAM 7.2.2, there is an Eclipse based project available for self service offering customization.   Using this Eclipse project, you can perform Javascript customization right from your Eclipse IDE.  This artcile provides a high-level technical overview of this process.

To setup the Eclipse development environment,  you need to download/setup Eclipse first.  Even thought the latest versions of Eclipse should work, according to documentation, the Eclipse projects were tested with Helios (3.6) version and it is safe to use either Helios or Galileo versions.  Once Eclipse is setup, you simply have to download the project zip from TSAM install images located under TSAMBASE7300/samples/UI directory and import two Eclipse projects viz, custom_web and custom_web_build into Eclipse using Eclipse Import wizard. 

The custom_web project is used to make any javascript changes.  The custom_web_build project contains several ANT tasks that can be used to perform deployment to TSAM Server.   Connection to TSAM server is managed through SSH and you can specify the authentication parameters in build.properties. SSH authentication can use either SSH keys or password.

For testing you can use the quickdeploy ANT task that rebuilds the custom_web.war application as you publish the changes.  You can also backout the changes using undeploy task but that basically removes the custom_web.war from the TSAM server removing all custom changes.   For production deployments, you will have to rebuild the maximo.ear file using buildmaximoear.sh/cmd command.

You can find more information about this TSAM customization in TSAM 7.2.2 Extensibility Guide available at the following location.
http://publib.boulder.ibm.com/infocenter/tivihelp/v10r1/topic/com.ibm.tsam_7.2.2.doc/ext/c_sg_extensibility.html

Hope this helps you get started with TSAM customization. If you have any questions, please feel free to post it it in the comments.