NIH | National Cancer Institute | NCI Wiki  

WIKI MAINTENANCE NOTICE

Please be advised that NCI Wiki will be will be undergoing maintenance on Monday, June 24th between 1000 ET and 1100 ET.
Wiki will remain available, but users may experience screen refreshes or HTTP 502 errors during the maintenance period. If you encounter these errors, wait 1-2 minutes, then refresh your page.

If you have any questions or concerns, please contact the CBIIT Atlassian Management Team.

Contents of this Page

Introduction

This document is a section of the LexEVS 5.x Installation Guide.

This section provides requirements, instructions, and troubleshooting information for installing the LexEVS Remote API environment.

Preliminary Considerations

  • The LexEVS 5.x Supported Platforms are the same for this environment as they are for the Local Runtime.
  • Before installing the LexEVS Remote API environment you must have a LexEVS Local Runtime installed and working.
  • It is not required that you load a terminology into the Local Runtime in order to complete the installation of the Remote API environment. However, using the Remote API requires that a terminology be loaded into the Local Runtime.
  • The Remote API environment has additional LexEVS 5.x Prerequisite Software Supported beyond the Local Runtime. The additional web application server does not have install steps given in this guide. The web application server can be on the same server or a different server from the Local Runtime.
  • Complete the #Downloading and Installing the LexEVS Remote API steps below.

Once you have completed the additional prerequisite software install, the Remote API environment install steps, and the verification test as described in this guide then you should be ready to start using the Remote API 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 Remote API

Step

Action

1. Download the latest version of the LexEVS Remote API WAR file from the right. You have a choice between WAR 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 Remote API
Includes the Java runtime and dependencies, the Java distributed API, and the caCORE SDK-generated services. This can be deployed to an Apache Tomcat or JBoss container.
lexevsapi51.tomcat.war
lexevsapi51.jboss.war

2. Shut down your application or servlet container. This presumes that you have already installed a web server as outlined in LexEVS 5.x Prerequisite Software Supported. 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.

3. Rename the WAR file. These files are distributed with an application server designation in their name for clarity while downloading them. Change to the SAVE_DIRECTORY and rename the file, like this:

rename {SAVE_DIRECTORY}/lexevsapi51.{WEB_SERVER}.war {SAVE_DIRECTORY}/lexevsapi51.war}

JBoss example:

  • Windows:
    rename c:\scratch\lexevsapi51.jboss.war lexevsapi51.war
  • Unix:
    move /scratch/lexevsapi51.jboss.war lexevsapi51.war

    Note

    Consider other names as well. Many application servers use the deployed name as part of the URL, so if you would rather it be a different name then you should rename the WAR file to that.

Command prompt showing rename of the WAR file.

4. Copy the WAR file to the appropriate web application server directory, like this:

copy {SAVE_DIRECTORY}\lexevsapi51.war {WEB_SERVER_HOME}\{DEPLOYMENT_HOME}

...where:
SAVE_DIRECTORY is the location of the downloaded file.
WEB_SERVER is the brand of the web server.
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\lexevsapi51.war c:\jboss-4.0.5.GA\server\default\deploy
  • Unix:
    copy /scratch/lexevsapi51.war /jboss-4.0.5.GA/server/default/deploy

Copy the WAR file to the JBoss deploy directory.

5. Create a text file named lexevs.properties in the WEB_SERVER_CLASSPATH to set the location of the LexEVS configuration. The WEB_SERVER_CLASSPATH is a location along the class path for your web application server. This whole path including the file name will be called LEXEVS_PROPERTIES_HOME for the rest of these instructions.
JBoss example:

  • Windows:
    c:\jboss-4.0.5.GA\server\default\conf\lexevs.properties
  • Unix:
    /jboss-4.0.5.GA/server/default/conf/lexevs.properties
    Set LG_CONFIG_FILE to the path of the lbconfig.props file of your LexEVS installation like this:
    LG_CONFIG_FILE={LEXEVS_HOME}\resources\config\lbconfig.props
    
    ... where LexEVS_HOME is the install directory of LexVES.
    Copy/paste the examples below as a starting point for this file:
  • Windows:
    LG_CONFIG_FILE=c:\\LexEVS\\5.1\\resources\\config
    lbconfig.props

    Note

    Notice the back slash escape character required for a Windows, Java environment

  • Unix:
    LG_CONFIG_FILE=/LexEVS/5.1/resources/config/lbconfig.props

Editing the LexEVS properties file.

6. (OPTIONAL) The lexevs.properties file is also used to add security for any coding scheme. This is not a highly used function. For each coding scheme a security implementation class name can be set to enable security like this:

{CODING_SCHEME_NAME}={SECURITY_IMPLENTATION}

...where CODING_SCHEME_NAME is the name or URI of the terminology.
SECURITY_IMPLENTATION is a class that implements the interface gov.nih.nci.system.dao.security.DAOSecurity.
For all ways of accessing the coding scheme, security must be set up. The example at the right shows access by Name, URI, and Formal Name, but others are possible too.

Note

Coding schemes can be added or changed later after a coding scheme or terminology is loaded into LexEVS.

MedDRA=gov.nih.nci.system.dao.security.MedDRASecurity
urn\:oid\:2\.16\.840\.1\.113883\.6\.163=gov.nih.nci.system.dao.security.MedDRASecurity
Medical\ Dictionary\ for\ Regulatory\ Activities\ Terminology\ \(MedDRA\)=gov.nih.nci.system.dao.security.MedDRASecurity

7. Adjust the properties-service.xml file.
This file is likely to be found in the following directory but may be different for some servers:

{WEB_SERVER_HOME}\{DEPLOYMENT_HOME}

JBoss example:

  • Windows:
    c:\jboss-4.0.5.GA\server\default\deploy\properties-service.xml
  • Unix:
    /jboss-4.0.5.GA/server/default/deploy/properties-service.xml
    Add a line to the file in the same part of the XML where other properties are set like this:
    <attribute name="Properties">org.LexGrid.LexBIG.caCore.Properties={LEXEVS_PROPERTIES_HOME}</attribute>
    
    ...where LEXEVS_PROPERTIES_HOME is the location and file name of lexevs.properties established in a previous step.
    In Tomcat placing the file in the conf dir or the /webapps/lexevsapi5x/WEB-INF/classes directory should suffice.
    JBoss example:
    <attribute name="Properties">org.LexGrid.LexBIG.caCore.Properties=C:\jboss-4.0.5.GA\server\default\conf\lexevs.properties</attribute>
    is added to this file between the <mbean> tags.

    Note

    In some server installations you may not have authority to modify this file. In that case you can simply move the lexevs.properties file somewhere on the web application servers class path.

Wordpad editing the JBoss properties service file.

Testing the LexEVS Remote API

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

http://{SERVER_ADDRESS}/{WAR_FILE_DEPLOYED}

...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.
For example:

http://localhost:8080/lexevsapi51

If you are using localhost then your browser must be running on the same server as LexEVS.

If you see the Enterprise Vocabulary Services "Welcome to LexEVS" web page then you have successfully installed the LexEVS Remote API.
Congratulations!

Troubleshooting

  • If the Local Runtime environment is properly installed and tested then the Remote API environment should have few problems.
  • If you receive deployment errors in JBoss and are unable to see the EVS home page then you may not have configured the properties attribute in JBoss's properties-service.xml.
    *You may also need to adjust the path in lexevs.properties where lbconfig.props location is defined.