NIH | National Cancer Institute | NCI Wiki  

Contents of this Page

Introduction

This document is a section of the Installation Guide.

This section provides requirements, instructions, and troubleshooting information for installing LexEVS Grid Services.

Preliminary Considerations

  • Just like the Remote API install, it is not required that you load a terminology into the Local Runtime in order to complete the installation of the Grid Services environment. However, the Grid services are not very useful if they have nothing in the underlying Local Runtime to query against.

Once you have completed the Grid Services environment install steps and the verification test as described in this guide then you should be ready to start using the Grid Services features to meet the needs of your application. Not counting prerequisite software products the installation and verification should not take more than 30 minutes.

Downloading and Installing the LexEVS Data or Analytical Grid Services

Step

Action

1. Download the latest version of the LexEVS Analytical or Data Services ZIP file from the right. You have a choice between ZIP files tailored for JBoss or Apache Tomcat installations. The location you have chosen to save this on your computer will be referred to as the SAVE_DIRECTORY. Our command examples will use scratch as this directory.

Note

Access to the downloads does not require an account. If you are having trouble downloading files then you may need to disable pop-up blockers or check any firewall settings at your site.

LexEVS caGrid Analytical Services
Includes caGrid Analytical Services working in terms of the LexGrid model and LexEVS API. These can be deployed to an Apache Tomcat or JBoss container. Each ZIP file contains a wsrf.war file.
LexEVS_51_caGRIDServices_analytical_tomcat.zip
LexEVS_51_caGRIDServices_analytical_jboss.zip

LexEVS caGrid Data Services
Includes caGrid Data Services working in terms of the LexGrid model and LexEVS API. These can be deployed to an Apache Tomcat or JBoss container. Each ZIP file contains a wsrf.war file.
LexEVS_51_caGRIDServices_data_tomcat.zip
LexEVS_51_caGRIDServices_data_jboss.zip

LexEVS caGrid GUI
Provides a traditional graphical user interface that provides access to basic browse and query functions provided by LexEVS caGrid Services.
LexEVS_50_caGridGUI.zip

2. Unzip the file or files you have downloaded to SAVE_DIRECTORY.

Warning

Each ZIP contains a file by the same name. This is by design because you can not deploy the Data or Analytical Grid Services to the same server. Therefore you must do these one at a time or unzip them to multiple locations.

Note

Windows typically understands ZIP files and can extract files. Unix has an unzip command. Other utilities can be used such as WinZip or 7-Zip.

Unzipping the LexEVS services

3. Shut down your application or servlet container. This presumes that you have already installed a web server as outlined in the Prerequisite Software. The command to do the shut down will be web server specific. See the documentation for your web server for information on how to do this. There may be many alternatives.
JBoss example:

  • Windows:
    shutdown.bat -S
  • Unix:
    ./shutdown.sh -S
    If you experience Java errors then the server may already be down.

Shutting down the JBoss server

4. Create a directory for the web archive.
Create a directory called wsrf.war inside the following directory:

{WEB_SERVER_HOME}\{DEPLOYMENT_HOME}

...where WEB_SERVER_HOME is your application server home directory
DEPLOYMENT_HOME is the Web Archive deployment directory for your application server
JBoss example:

  • Windows:
    c:\jboss-4.0.5.GA\server\default\deploy
  • Unix:
    /jboss-4.0.5.GA/server/default/deploy
    For example:
  • Windows:
    mkdir wsrf.war
  • Unix:
    mkdir wsrf.war

Create the web archive directory

5. Unzip the wsrf.war file to the wsrf.war directory.
JBoss example:

  • Windows:
    From: c:\scratch\wsrf.war
    To: c:\jboss-4.0.5.GA\server\default\deploy\wsrf.war
  • Unix:
    From: /scratch/wsrf.war
    To: /jboss-4.0.5.GA/server/default/deploy\wsrf.war
    Windows does not see WAR files as compressed files, therefore you must obtain an unzip utility such as 7-zip or WinZip. In Unix you should be able to use the unzip command.

Deploying the services web archive file

6. Download LexEVS_51_client.zip from the right. This is from the client for a Remote API install.

LexEVS Remote API Client
Enables Java programs to establish a connection to an already-deployed LexEVS Remote API node.
LexEVS_51_client.zip

LexEVS Remote API Client 3rd Party dependencies
Contains all the code required by the LexEVS Remote API Client.
lexevsapi51-client-dependencies.zip

7. Unzip LexEVS_51_client.zip to the SAVE_DIRECTORY.

Unzipping the Remote API client.

8. Copy the application-config-client.xml file out of the unzipped client and into the deployed wsrf.war directory structure.

copy {SAVE_DIRECTORY}\LexEVS_51_client\conf\application-config-client.xml {WEB_SERVER_HOME}\{DEPLOYMENT_HOME}\wsrf.war\WEB-INF\classes

...where SAVE_DIRECTORY is the location of the downloaded file. WEB_SERVER_HOME is your application server home directory. DEPLOYMENT_HOME is the Web Archive deployment directory for your application server.
JBoss example:

  • Windows:
    copy c:\scratch\LexEVS_51_client\conf\application-config-client.xml c:\jboss-4.0.5.GA\server\default\deploy\wsrf.war\WEB-INF\classes
  • Unix:
    copy /scratch/LexEVS_51_client/conf/application-config-client.xml c:/jboss-4.0.5.GA/server/default/deploy/wsrf.war/WEB-INF/classes

    Note

    If you are repeating these steps for the other services WAR file then it will have its own separate application-config-client.xml file that will be similarly placed in the WEB-INF/classes folder of the exploded WAR file.

Copy the applications client configuration file to classes home directory.

9. Edit the application-config-client.xml file. There are three lines where you need to have the proper URL as a value. The three lines are found:

  1. in the EvsServiceInfo bean with this text <entry key="APPLICATION_SERVICE_URL"
  2. in the AppService bean with this text <property name="serviceUrl"
  3. (OPTIONAL) in the EvsAuthenticationProvider bean with this text <property name="serviceUrl"
    The values each have a URL like this:
    http://{SERVER_ADDRESS}/{WAR_FILE_DEPLOYED}/
    
    For each, you must change the SERVER_ADDRESS and WAR_FILE_DEPLOYED only.
    ...where SERVER_ADDRESS is the address of your server (domain and optionally the port number). WAR_FILE_DEPLOYED is the name of the WAR file you placed in the server directories for deployment.
    Example lines for the file:
    <entry key="APPLICATION_SERVICE_URL" value="http://localhost:8080/lexevsapi51/http/applicationService"/>}}
    
    {{<property name="serviceUrl" value="http://localhost:8080/lexevsapi51/http/applicationService"/>}}
    
    <property name="serviceUrl" value="http://localhost:8080/lexevsapi51/http/applicationService"/>
    

Editing the applications client configuration file with circles around locations to change.

10. There are 8 JAR files that must be copied from the LexEVS Subversion repository to your application server's class path. Open a browser to here:
https://ncisvn.nci.nih.gov/svn/lexevs/base/v5/trunk/lexevs_service_cagrid/LexEVSAnalyiticalService/gs.lib/, and copy each of the JAR files to here:

{WEB_SERVER_HOME}\{LIB_HOME}

...where WEB_SERVER_HOME is your application server home directory. LIB_HOME is the server's library directory.
JBoss example:

  • Windows:
    c:\jboss-4.0.5.GA\server\default\lib
  • Unix:
    /jboss-4.0.5.GA/server/default/lib/
    Each service is in its own server. These files must be copied into each server. If your web application server supports it there may be a way to place a single set of these files into a common location for all your application servers.

    Note

    Also, watch out for port conflicts by making sure you select an alternate range for binding the ports on a separate server. When the Data or Analytical Grid Services server runs at the same time they each must have unique port numbers to use.

Starting the JBoss server.

11. Repeat these steps for the other service if you are doing them one at a time.

 

Testing the LexEVS Grid Services

1. Start your application or servlet container if it is not already started. The start command will be web server specific. See the documentation for your web server for information on how to do this.
JBoss example:

  • Windows:
    Run.bat -c default
  • Unix:
    ./Run.sh -c default

Starting the JBoss server.

2. Verify the installation by opening a browser to either

http://{SERVER_ADDRESS}/wsrf/services/cagrid/LexEVSDataService

or

http://{SERVER_ADDRESS}/wsrf/services/cagrid/LexEVSGridService

...where SERVER_ADDRESS is the address of your server (domain and optionally the port number)
For example:
http://localhost:8080/wsrf/services/cagrid/LexEVSDataService
or
http://localhost:8080/wsrf/services/cagrid/LexEVSGridService
If you are using localhost then your browser must be running on the same server as LexEVS

Default web page after successful start of LexEVS Grid Services.

If you see the typical Axis service message then you have successfully installed the LexEVS Grid Service.
Congratulations!

Troubleshooting

Deployment errors may occur if all instances of references in the application-config-client.xml are not correctly configured with the web address of a Remote API install.