FIRMS Deployment within the OMII Container

Community Grids Lab, Indiana University

 

 

This document provides details pertaining to the deployment of WS-ReliableMessaging Web Services ─ WsrmServiceA, WsrmServiceB ─ and the SOAPMonitor service within the OMII container and WS-Reliability Web Services ─ WsrServiceA, WsrServiceB and WsrTS. We have tested this software with version 2.3.1 & 2.3.3 of the OMII container. We leverage ANT to deploy and undeploy the aforementioned services. We assume that the users have successfully installed ANT on their machine.

 

We now list the directories relevant to this demo. The variable names here are self-descriptive.

OMII HOME: /usr/local/OMII or /home/<user_Id>/OMII

OMIICLIENT HOME: /root/OMIICLIENT or /home/<user_Id>/OMIICLIENT

 

OMII TOMCAT HOME: <omii_home>/jakarta-tomcat-5.0.25

 

OMII AXIS HOME: <omii_home>/axis-1_2beta

 

FIRMS Base (distribution) Directory: /root/webservices/FIRMS-1.0.0

 

FIRMS Client Directory: /root/webservices/FIRMS-1.0.0/dist/client

 

FIRMS Server Directory: /root/webservices/FIRMS-1.0.0/dist/server

 

 


Step 1: Execute the ANT target command build-all in the WSRM Base Directory (/root/webservices/FIRMS-1.0.0).

As depicted in the Figure 1 below this results in the creation of the client and server distribution.

 

 

Figure 1 Execution of build-all target command

 

Step 2:  Before proceeding to deployment of all the services within the OMII Container, create two databases wsrmone and wsrmtwo for Source and Sink node respectively in PostgreSQL.

For this, login as a “postgres” user on shell and start the Postgres server. Following Figure 2 depicts the execution of PostgreSQL server start up command.

Figure 2 Execution of PostgreSQL Server Startup Command

 

 

PART I:-  WS-RM Deployment

NOTE: - For WS-Reliability Deployment, go to step 13 onwards.

 

Step 3: Create two databases “wsrmone” and “wsrmtwo” for WSRM-Source and WSRM-Sink respectively by using command “createdb wsrmone” and “createdb wsrmtwo” in postgreSQL.

 

Step 4: Execute the ant target command “pgsql-createdb-source” in the WSRM base directory (/root/webservices/FIRMS-1.0.0) to create tables in source database “wsrmone.”

This command uses required properties from build.properties file. Please change following properties in build.properties file according to your database needs.

 

pg_database_JDBC_Driver=org.postgresql.Driver

pg_database_WSRM_Source_url=jdbc:postgresql://localhost:5432/wsrmone

pg_database_WSRM_username=test

pg_database_WSRM_password=test

 

Figure 3depicts the execution of the command “pgsql-createdb-source”.

Figure 3 Execution of "pgsql-createdb-source” ant target command

 

 

Step 5: Execute the ant target command “pgsql-createdb-sink” in the WSRM base directory (/root/webservices/FIRMS-1.0.0) to create tables in sink database “wsrmtwo.”

This command uses required properties from build.properties file. Please change following properties in build.properties file according to your database needs.

 

pg_database_JDBC_Driver=org.postgresql.Driver

pg_database_WSRM_username=test

pg_database_WSRM_password=test

pg_database_WSRM_Sink_url=jdbc:postgresql://localhost:5432/wsrmtwo

 

Figure 4 depicts the execution of the command “pgsql-createdb-sink”.

Figure 4 Execution of "pgsql-createdb-sink" ant target command

 

Step 6: We now proceed to deploy the WsrmServiceA on one machine, WsrmServiceB on other machine and SOAPMonitor services within Tomcat running on port 18080 (Here we note that this port number could be any other number and is under the user’s control) within the OMII Container. The user first needs to use the cd shell command to enter the WSRM Server Directory (/root/webservices/FIRMS-1.0.0/dist/server). User should be root user before executing following command. Next the user needs to execute the ANT target command deploy-firms. This command copies all the necessary files including jar files, classes and resource files to the relevant locations within the OMII Container.

The Figure 5 below depicts the result of the execution of this ANT target command. The successful completion of this command is a precursor to the deployment of web services within the OMII container.

 

 

 

 

Figure 5 Execution of “deploy-firms" ant target command


Step 7:  Next the user needs to start Tomcat. This can be done by accessing the OMII TOMCAT HOME directory and executing the startup.sh shell script. The result of this execution is depicted in Figure 6 below.

Figure 6 Execution of "./startup.sh” command

 

Step 8: To deploy the SOAPMonitor Web Service the user needs to execute the ANT target command deploy-soapmonitor within the WSRM Server Directory. The command and the arguments that this command takes is depicted in the snippet below. Here <machine_name> corresponds to the machine hosting Tomcat and the OMII Container.

 

/root/webservices/FIRMS-1.0.0/dist/server>

ant  deploy-soapmonitor -Dwsrm.soapmonitor.axisadmin=-lhttp://<machine_name> :18080/axis /services/ AdminService -Dwsrm.soapmonitor.deploy.wsddfile=config/wsrm/deploy-Monitor.wsdd

 

A sample execution of this command is depicted in the Figure 7 below.

Figure 7 Execution of "deploy-soapmonitor" ant target command

 

A simple way to verify the deployment of the SOAP Monitor Web Service is by pointing the web browser to the following URL: http://<machine-name>:18080/axis/servlet/AxisServlet. A sample execution of the aforementioned step is depicted in the Figure 8 below.

Figure 8 Pointing Web Browser to "SOAPMonitor" service

 

Step 9: To deploy the WsrmServiceA the user needs to execute the deploy-serviceA ANT target command within the WSRM Server Directory.  The command and the arguments that this command takes is depicted in the snippet below.

 

/root/webservices/FIRMS-1.0.0/dist/server >

ant  deploy-serviceA -Dwsrm.serviceA.axisadmin=-lhttp://<machine_name> :18080/axis /services/ AdminService –Dwsrm.serviceA.deploy.wsdd=config/wsrm/wsdd/handler/ServiceADeploy.wsdd

 

The result of a sample execution of this command is depicted in Figure 9below.

Figure 9 Execution of "deploy-serviceA" ant target command

 

A simple way to verify the deployment of the WsrmServiceA is by pointing the web browser to the following URL: http://<machine-name-one>:18080/axis/servlet/AxisServlet. A sample execution of the aforementioned step is depicted in the Figure 10 below.

Figure 10 Pointing Web Browser to “WsrmServiceA"

 

 

Step 10: To deploy the WsrmServiceB on other machine, the user needs to execute the deploy-serviceB ANT target command within the WSRM Server Directory.  The command and the arguments that this command takes is depicted in the snippet below.

 

/root/webservices/FIRMS-1.0.0/dist/server >

ant deploy-serviceB -Dwsrm.serviceB.axisadmin=-lhttp://<machine_name_two>:18080/axis /services/ AdminService - Dwsrm.serviceB.deploy.wsdd=config/wsrm/wsdd/handler/ServiceBDeploy.wsdd

 

The result of a sample execution of this command is depicted in Figure 11 below.

 

Figure 11 Execution of "deploy-serviceB" ant target command

 

A simple way to verify the deployment of the WsrmServiceB is by pointing the web browser to the following URL: http://<machine-name-two>:18080/axis/servlet/AxisServlet. A sample execution of the aforementioned step is depicted in the Figure 12 below. For the user’s convenience we have highlighted the WsrmServiceB in this figure.

 

Figure 12 Pointing Web Browser to "WsrmServiceB"

 

Step 11: Verify the deployment of the SOAP Monitor Web Service by executing ant target command ”test-soapmonitor” within the WSRM Server Directory. The command and the arguments that this command takes is depicted in the snippet below. Here <machine_name> corresponds to the machine hosting Tomcat and the OMII Container.

/root/webservices/FIRMS-1.0.0/dist/server>ant test-soapmonitor -Dwsrm.servlet.url=http://<machine_name>:18080/axis/servlet/AxisServlet –Dwsrm.webservice.soapmonitor=SOAPMonitorService

 

A sample execution of the aforementioned step is depicted in the Figure 13 below.

Figure 13 Execution of "test-soapmonitor" ant target command

 

 

Verify the deployment of the WsrmSeviceA by executing the ant target command “test-wsrmserviceA” within the WSRM Server Directory. The command and the arguments that this command takes is depicted in the snippet below. Here <machine_name_one> corresponds to the machine hosting Tomcat and the OMII Container.

/root/webservices/FIRMS-1.0.0/dist/server>ant test-serviceA -Dwsrm.servlet.url=http://<machine_name>:18080/axis/servlet/AxisServlet –Dwsrm.webservice.serviceA=WsrmServiceA

A sample execution of the aforementioned step is depicted in the Figure 14 below.

Figure 14 Execution of "test-serviceA" ant target command

 

 

Verify the deployment of the WsrmServiceB is by executing ant target command “test-serviceB” within the WSRM Server Directory. The command and the arguments that this command takes is depicted in the snippet below. Here <machine_name_two> corresponds to the machine hosting Tomcat and the OMII Container.

/root/webservices/FIRMS-1.0.0/dist/server >

ant test-serviceB -Dwsrm.servlet.url=http://<machine_name>:18080/axis/servlet/AxisServlet -Dwsrm.webservice.serviceB=WsrmServiceB

 

A sample execution of the aforementioned step is depicted in the Figure 15 below.

Figure 15 Execution of " test-serviceB" ant target command

 

Step 12: Users can also un-deploy ALL the Web Services (running within the container) mentioned in this document. We have included ANT target commands which perform this function for the user. Please note that the Tomcat within the OMII container should be up and running for these commands to take effect.

The snippet corresponding to the commands that un-deploy targeted services have been depicted here for the user’s perusal.

 

 

 

WsrmServiceA:

/root/webservices/FIRMS-1.0.0/dist/server>

ant undeploy-wsrmserviceA - Dwsrm.serviceA.axisadmin=- lhttp://<machine_name>: 18080/axis/services/AdminService -Dwsrm.serviceA.wsddfile=config/wsrm/wsdd/handler/ServiceAUndeploy.wsdd

 

WsrmServiceB:

/root/webservices/FIRMS-1.0.0/dist/server>ant undeploy-wsrmserviceB -

Dwsrm.serviceB.axisadmin=-lhttp ://<machine_name>:18080/axis/services/AdminService -Dwsrm.serviceB.wsddfile=config/wsrm/ wsdd/handler/ServiceBUndeploy.wsdd

 

SoapMonitor:

 /root/webservices/FIRMS-1.0.0/dist/server> ant undeploy-soapmonitor –Dwebservice.soapmonitor.axisadmin=-lhttp://<machine_name>:18080/axis/services/AdminService –Dwebservce.soapmonitor.wsddfile=config/undeploySoapMonitor.wsdd

 

 

A command which un-deploys all the Web Services and deletes all files related to these services is also available. For the correct execution of the command a user needs to ensure that the Tomcat process is no longer running. The snippet outlining this command is depicted below.

 

/root/webservices/FIRMS-1.0.0/dist/server>ant undeploy-firms

 

 

PART II: - WS-Reliability Deployment

 

Step 13: Create two databases “wsrone” and “wsrtwo” for source and sink respectively by using command “createdb wsrone” and “createdb wsrtwo” in postgreSQL.

 

Step 14: Execute the ant target command “createdb-postgresource” in the FIRMS base directory (/root/webservices/FIRMS-1.0.0) to create tables in source database “wsrone.”

This command uses required properties from the build.properties file. Please change following properties in build.properties file according to your database needs.

 

Postgredatabase_JDBC_Driver=org.postgresql.Driver

Postgredatabase_WSR_Source_url=jdbc:postgresql://localhost:5432/wsrone

Postgredatabase_WSR_username=test

Postgredatabase_WSR_password=test

 

Following Figure 16 depicts the execution of the command “createdb-postgresource”.

Figure 16 Execution of "createdb-postgresource” ant target command

 

Step 15: Execute the ant target command “createdb-postgresink” in the FIRMS base directory (/root/webservices/FIRMS-1.0.0) to create tables in sink database “wsrtwo.”

This command uses required properties from build.properties file. Please change following properties in build.properties file according to your database needs.

 

Postgredatabase_JDBC_Driver=org.postgresql.Driver

Postgredatabase_WSR_username=test

Postgredatabase_WSR_password=test

Postgredatabase_WSR_Sink_url=jdbc:postgresql://localhost:5432/wsrtwo

 

 

 

 

 

 

 

 

 

Following Figure 17depicts the execution of the command “createdb-postgresink”.

Figure 17 Execution of "createdb-postgresink" ant target command

 

Step 16: We now proceed to deploy the WsrServiceA on machine one, WsrServiceB on machine two, WsrTS on both machines and SOAPMonitor services within Tomcat running on port 18080 (Here we note that this port number could be any other number and is under the user’s control) within the OMII Container. The user first needs to use the cd shell command to enter the FIRMS Server Directory (/root/webservices/FIRMS-1.0.0/dist/server).  User should be the root user before executing the following command. Next the user needs to execute the ANT target command deploy-firms. This command copies all the necessary files including jar files, classes and resource files to the relevant locations within the OMII Container.

Figure 18Figure 5 below depicts the result of the execution of this ANT target command. The successful completion of this command is a precursor to the deployment of web services within the OMII container.

 

Figure 18 Execution of “deploy-firms" ant target command


Step 17:  Next the user needs to start Tomcat. This can be done by accessing the OMII TOMCAT HOME directory and executing the startup.sh shell script. The result of this execution is depicted in Figure 19 below.

Figure 19 Execution of "./startup.sh” command
Step 18: To deploy the SOAPMonitor Web Service the user needs to execute the ANT target command deploy-soapmonitor on both machines within the FIRMS Server Directory. The command and the arguments that this command takes is depicted in the snippet below. Here <machine_name> corresponds to the machine hosting Tomcat and the OMII Container.

 

/root/webservices/FIRMS-1.0.0/dist/server>

ant  deploy-soapmonitor -Dsoapmonitor.axisadmin=-lhttp://<machine_name> :18080/axis /services/ AdminService -Dsoapmonitor.wsddfile=config/deploySoapMonitor.wsdd

 

A sample execution of this command is depicted in the Figure 20below.

Figure 20 Execution of "deploy-soapmonitor" ant target command

 

A simple way to verify the deployment of the SOAP Monitor Web Service is by pointing the web browser to the following URL: http://<machine-name>:18080/axis/servlet/AxisServlet. A sample execution of the aforementioned step is depicted in the Figure 21below.

Figure 21 Pointing Web Browser to "SOAPMonitor" service

 

Step 19: To deploy the WsrServiceA the user needs to execute the deploy-wsrserviceA ANT target command on machine one within the FIRMS Server Directory.  The command and the arguments that this command takes is depicted in the snippet below.

 

/root/webservices/FIRMS-1.0.0/dist/server >

ant  deploy-wsrserviceA -Dwsr.serviceA.axisadmin=-lhttp://<machine_name> :18080/axis /services/ AdminService -Dwsr.serviceA.wsddfile=config/wsr/ServiceADeploy.wsdd

 

The result of a sample execution of this command is depicted in Figure 22 Figure 9below.

Figure 22 Execution of "deploy-wsrserviceA” ant target command

A simple way to verify the deployment of the WsrServiceA is by pointing the web browser to the following URL: http://<machine-name-one>:18080/axis/servlet/AxisServlet. A sample execution of the aforementioned step is depicted in the Figure 23 below.

Figure 23 Pointing Web Browser to “WsrServiceA"

 

Step 20: To deploy the WsrServiceB on the machine two, the user needs to execute the deploy-wsrserviceB ANT target command within the FIRMS Server Directory.  The command and the arguments that this command takes is depicted in the snippet below.

 

/root/webservices/FIRMS-1.0.0/dist/server >

ant deploy-wsrserviceB -Dwsr.serviceB.axisadmin=-lhttp://<machine_name>:18080/axis /services/ AdminService - Dwsr.serviceB.wsddfile=config/wsr/ServiceBDeploy.wsdd

 

The result of a sample execution of this command is depicted in Figure 24 below.

 

Figure 24 Execution of "deploy-wsrserviceB" ant target command

A simple way to verify the deployment of the WsrServiceB is by pointing the web browser to the following URL: http://<machine-name-two>:18080/axis/servlet/AxisServlet. A sample execution of the aforementioned step is depicted in the Figure 25 below. For the user’s convenience we have highlighted the WsrServiceB in this figure.

 

Figure 25 Pointing Web Browser to "WsrServiceB"

 

Step 21: To deploy the Target Service (WsrTS) Web Service on both machines, the user needs to execute the deploy-wsrts ANT target command within the FIRMS Server Directory.  The command and the arguments that this command takes is depicted in the snippet below.

 

/root/webservices/FIRMS-1.0.0/dist/server >

ant deploy-wsrts -Dwsr.ts.axisadmin=-lhttp://<machine_name>:18080/axis /services/ AdminService - Dwsr.ts.wsddfile=config/wsr/reliabilityTS.wsdd

The result of a sample execution of this command is depicted in Figure 26 below.

Figure 26 Execution of "deploy-wsrts" ant target command

A simple way to verify the deployment of the WsrTS Web Service is by pointing the web browser to the following URL: http://<machine-name>:18080/axis/servlet/AxisServlet. A sample execution of the aforementioned step is depicted in the figure below. For the user’s convenience we have highlighted the WsrTS service in this Figure 27.

 

Figure 27 Pointing Web Browser to " WsrTS" service

 

Step 22: Verify the deployment of the SOAP Monitor Web Service by executing ant target command ”test-soapmonitor” within the FIRMS Server Directory. The command and the arguments that this command takes is depicted in the snippet below. Here <machine_name-one/two> corresponds to the machine hosting Tomcat and the OMII Container.

/root/webservices/FIRMS-1.0.0/dist/server>ant test-soapmonitor -Dservlet.url=http://<machine_name>:18080/axis/servlet/AxisServlet -Dwebservice.soapmonitor=SOAPMonitorService

 

A sample execution of the aforementioned step is depicted in the Figure 28 below.

Figure 28 Execution of "test-soapmonitor" ant target command

 

Verify the deployment of the WsrSeviceA by executing ant target command ”test-wsrserviceA” within the FIRMS Server Directory.  The command and the arguments that this command takes is depicted in the snippet below. Here <machine_name_one> corresponds to the machine hosting Tomcat and the OMII Container.

/root/webservices/FIRMS-1.0.0/dist/server>ant test-wsrserviceA -Dwsr.servlet.url=http://<machine_name>:18080/axis/servlet/AxisServlet -Dwsr.webservice.serviceA=WsrServiceA

 

A sample execution of the aforementioned step is depicted in the Figure 29 below.

Figure 29 Execution of "test-wsrserviceA" ant target command

 

Verify the deployment of the WsrServiceB by executing ant target command ”test-wsrserviceB” within the FIRMS Server Directory. The command and the arguments that this command takes is depicted in the snippet below. Here <machine_name_two> corresponds to the machine hosting Tomcat and the OMII Container.

/root/webservices/FIRMS-1.0.0/dist/server >

ant test-wsrserviceB -Dwsr.servlet.url=http://<machine_name>:18080/axis/servlet/AxisServlet -Dwsr.webservice.serviceB=WsrServiceB

 

A sample execution of the aforementioned step is depicted in the Figure 30 below.

Figure 30 Execution of " test-wsrserviceB" ant target command

 

Verify the deployment of the TargetWeb Service is by executing ant target command”test-target” within the FIRMS Server Directory. The command and the arguments that this command takes is depicted in the snippet below. Here <machine_name_one/two> corresponds to the machine hosting Tomcat and the OMII Container.

/root/webservices/FIRMS-1.0.0/dist/server>ant test-target -Dwsr.servlet.url=http://<machine_name>:18080/axis/servlet/AxisServlet -Dwsr.webservice.target=WsrTS

 

A sample execution of the aforementioned step is depicted in the Figure 31 below.

Figure 31 Execution of "test-target" ant target command

 

Step 23: Users can also un-deploy ALL the Web Services (running within the container) mentioned in this document. We have included ANT target commands which perform this function for the user. Please note that the Tomcat within the OMII container should be up and running for these commands to take effect.

The snippet corresponding to the commands that un-deploy targeted services have been depicted here for the user’s perusal.

 

 

 

WsrServiceA:

/root/webservices/FIRMS-1.0.0/dist/server>

ant undeploy-wsrserviceA - Dwsr.serviceA.axisadmin=- lhttp://<machine_name>: 18080/axis/services/AdminService -Dwsr.serviceA.wsddfile=config/wsr/ServiceAUndeploy.wsdd

 

WsrServiceB:

/root/webservices/FIRMS-1.0.0/dist/server>ant undeploy-wsrserviceB -

Dwsr.serviceB.axisadmin=-lhttp ://<machine_name>:18080/axis/services/AdminService -Dwsr.serviceB.wsddfile=config/wsr/ServiceBUndeploy.wsdd

 

WsrTS:

/root/webservices/FIRMS-1.0.0/dist/server>ant undeploy-wsrts -Dwsr.ts.axisadmin=-lhttp://<machine_name>: 18080/axis/services/AdminService -Dwsr.ts.wsddfile=config/wsr/undeployTS.wsdd

 

SoapMonitor:

 /root/webservices/FIRMS-1.0.0/dist/server> ant undeploy-soapmonitor –Dsoapmonitor.axisadmin=-lhttp://<machine_name>:18080/axis/services/AdminService –Dsoapmonitor.wsddfile=config/undeploySoapMonitor.wsdd

 

 

A command which un-deploys all the Web Services and deletes all files related to these services is also available. For the correct execution of the command a user needs to ensure that the Tomcat process is no longer running. The snippet outlining this command is depicted below.

 

/root/webservices/FIRMS-1.0.0/dist/server>ant undeploy-firms