Page History
...
As of release 1.1, the caNanoLab domain model has been caGrid enabled. In other words, a caNanoLab grid data service can be deployed and registered with caGrid production index server, allowing sharing of public nanomaterial information across the caGrid. In release 1.5, the caNanoLab grid service has been updated to use caGrid 1.3. For more information, see {+} https://cabig.nci.nih.gov/workspaces/Architecture/caGrid+.
Targeted Developer
The caNanoLab application development is best suited for an experienced Java developer who has some familiarity with the following J2EE and related technologies:
...
The following open source technologies power a caNanoLab release 1.5.4 web application:
Open Source Technologies
- Java Software Development Kit (JDK) version 6.0: http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
- JBoss version 5.1.0: http://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/
- Jakarta Ant version 1.7.x: http://archive.apache.org/dist/ant/binaries/
- MySQL version 5.1.x: http://dev.mysql.com/downloads/mysql/5.1.html
Info | ||
---|---|---|
| ||
In release 1.5.4, we have upgraded the technology stack for the web application, but the technology stack for the caNanoLab grid service has not been upgraded due to the requirements of caGrid 1.3. If you'd like to install caNanoLab grid service, please refer to the caNanoLab Release 1.5.3 Installation Guide for the required technology stack for installing the caNanoLab grid service. |
The caNanoLab web application has been tested within NCICBIIT against JBoss servers (version 5.1.0) hosted on Windows XP and RedHat Linux systems, and against MySQL 5.1.x databases hosted on RedHat Linux systems and Windows XP systems. Prior to release 1.2.1, the caNanoLab web application had been tested against Oracle 9i databases hosted on Sun Solaris systems, and Oracle 10g XE database hosted on Windows XP.
Download each of the tools listed in the bulleted list above and follow the installation instructions provided with each respective product for your environment. Assistance from a MySQL database administrator is expected to properly configure the MySQL database. For MySQL database configuration and maintenance, it is also helpful to download the MySQL workbench (suite of GUI tools) at http://www.mysql.com/downloads/workbench/
Grid Service
Setting up a caNanoLab grid service is optional. It is recommended that you install the grid service only after you successfully install the web application and become familiar with submitting and searching data through the web application.
...
Follow these steps to set the build and deploy properties required for building and deploying the caNanoLab system.
Step
...
...
Action
...
1.
...
Extract caNanoLab
Extract the caNanoLab_1.5.4.zip to a location on your local system, for
...
...
...
1
example, C:\caNanoLab_1.5.4. This location is referred as
...
...
...
<CANANOLAB_SOURCE> throughout the document. Verify that the following five
...
...
...
...
folders exist in the directory <CANANOLAB_SOURCE>:
...
...
...
...
build
...
...
...
...
cananolab-db
...
...
...
...
cananolab-grid
...
...
...
...
cananolab-webapp
...
...
...
...
common
...
...
...
Step 2. Edit Ant Properties
Edit the Ant properties file build.properties at
<CANANOLAB_SOURCE>/build by specifying values for the following properties:
- file.repository.dir: a directory on the system that hosts the JBoss application server for storing uploaded files, for example,
C:/apps/caNanoLab
Note: This directory should be writable by the user that starts the JBoss
server, and this directory should be created prior to starting the application. Either double back slashes
or a single forward slash / should be used as the file separator if working on Windows platform. - admin.email: the email address that receives requests for new user accounts, for example, NCICBIIT application support email for the NCICBIIT installation
- ldap.authentication.enabled: a Boolean flag for whether or not using LDAP for user authentication in caNanoLab, for example, true
Note: Please note that default value is true. If you are not using LDAP for user
authentication, please set this value to false and leave properties 4) through 9) blank. - ldap.host.url: the URL of the LDAP server used for user authentication
- ldap.searchable.base: the location in the directory from which the LDAP search begins
- ldap.userId.label: the uid label for LDAP, for example, cn
...
...
Step
...
Action
...
- superadmin.login.name: the LDAP login name for the user account who is the super admin of the UPT tool. See page 14 for details on setting up UPT
- superadmin.first.name: the LDAP first name for the user account who is the super admin of the UPT tool
- superadmin.last.name: the LDAP last name for the user account who is the super admin of the UPT tool
- database.server: the name of the server hosting the database, for example, localhost
- database.port: the database port number, for example, 3306
- database.user: the database user name used in the caNanoLab application, for example, cananolab_app
- database.password: the password for the database user specified above,
for example, go!234 - database.system.user: the system database user name that has privileges to create a database, create tables, grant user accesses to a database, for example, root
- database.system.password: the password for the system database user
specified above, for example, rootpass - jboss.server.dir: the JBoss server directory, for example,
C:/apps/jboss-5.1.0.GA/server/default
Note: The following properties 17) through 34) are only required if you setting up a grid service. These properties contain metadata about the grid service that are required for the grid index server to visually map the location of a grid service in the caGrid portal, and are useful during grid service auto-discovery. If you are not setting up a caNanoLab grid service, you may leave these properties blank. - application.base.path.linux: a directory on the Linux system that stores the downloaded external software, such as the Globus WS Core binary files, for example, ${user.home}/apps
Note: This property is currently optional for building the web application and
the database, and is only required for building the grid service on a Linux system. - application.base.path.windows: a directory on the Windows system that stores the downloaded external software, such as the Globus WS Core binary files, for example, C:/apps
- grid.indexserver: the grid index server from which the caNanoLab grid data services can be automatically discovered, for example, http://cagrid- index.nci.nih.gov:8080/wsrf/services/DefaultIndexService, NCICBIIT's production caGrid index server
- grid.service.hostname: virtual host name for the JBoss server hosting the grid service, for example, cananolab.nci.gov
- grid.service.port: port number configured for the JBoss server hosting the caNanoLab grid service, for example, 80
- grid.service.protocol: protocol configured for the JBoss server hosting the caNanoLab grid service, for example, http
- application.owner: owner of the caNanoLab grid service, for example,
NCICBIIT - country: the country in which the caNanoLab grid service is running, for
...
Step
...
Action
...
example, US
- city: the city at which the caNanoLab grid service is running, for example,
Rockville - zipcode: the zip code at which the caNanoLab grid service is running, for example, 20852
- state: the state at which the caNanoLab grid service is running, for
example, MD - street1: the first part of the street at which the caNanoLab grid service is running, for example, 2115 East Jefferson Street
- street2: the second part of the street at which the caNanoLab grid service is running
- affiliation: the affiliation of the person who is responsible for maintaining the caNanoLab grid service, for example, NCICBIIT.
- email: the email of the person who is responsible for maintaining the caNanoLab grid service, for example, NCICBIIT@pop.nih.gov
- phone: the phone number of the person who is responsible for maintaining the caNanoLab grid service
- first.name: the first name of the person who is responsible for maintaining the caNanoLab grid service
- last.name: the last name of the person who is responsible for maintaining the caNanoLab grid service.
- city: the city at which the caNanoLab grid service is running, for example,
Database Technology
Assumptions and Requirements
...
Step | Action |
1 | Execute the Ant build script build.xml located at |
2 | If you are NOT using LDAP for user authentication, you can skip this step. If you Successful execution of the Ant script updates the default UPT super admin with the user name entered in the build properties file on page 4. |
Verification
Once the MySQL database has been created, either through new setup or through data migration (described in the next section), verify that the following numbers of database objects are created:
...
Step | Action | ||
1 | Execute the Ant build script build.xml located at | Step | Action |
2 | If you are NOT using LDAP for user authentication, you can skip this step. If you | ||
3 | If you are NOT using LDAP for user authentication, you can skip this step. If you
|
After data migration, refer to the Verification section to verify that the migration has been successful.
...
Ant has been installed. Ant build properties have been set up, as described on pages 3 through 5. The database has been installed and verified, as described on pages 6 through 9. The JBoss application server has been installed on a system (local or remote) and can be started at a designated port. JBoss install directory is referred as <JBOSS_HOME> in the document. The JBoss application server host URL is referred as
<APP_SERVER_URL>, for example, cananolab-dev.nci.nih.gov:19080.
It is assumed that the default configuration is used for deploying caNanoLab web archive files. For example, in JBoss 5.1.0, the default configuration is located at the directory
<JBOSS_HOME>/server/default. The caNanoLab web archive file shall be deployed at the directory <JBOSS_HOME>server/default/deploy.
It is possible to configure Apache server to interface with the JBoss server and set up a virtual host for the caNanoLab application, if you need assistance, please contact NCICBIIT Application Support (info provided at the end).
...
Step | Action | |
1 | Set up an environment variable JBOSS_HOME to point to the JBoss installation directory. | |
2 |
| Execute the Ant build script build.xml located at |
Step | Action | |
<CANANOLAB_SOURCE>/target/dist/exploded/cananolab- webapp/caNanoLab.war | ||
3 | We recommend increasing the JBoss JVM heap size to 1G bytes and permanent generation (permgen) memory space to 256M bytes by updating the file | |
4 | When deploying the caNanolab application and the grid service in a production environment, we also recommend updating the default logging behavior of the JBoss server by turning off the unnecessary loggings thus reducing file system requirements for server log files. | |
Step | Action | |
<priority value="WARN"/> |
Verification
Once the deployment artifacts have been deployed and the JBoss application server is correctly configured, you can now start the JBoss application server, which in turn starts the caNanoLab application.
Open the URL http://<APP_SERVER_URL>/caNanoLab/ (for example,
http://localhost:8080/caNanoLab). You should see a Welcome/Login page.
...
Step | Action | |
1 | Launch the UPT tool at http://<APP_SERVER_URL>/uptlogin and login as the super admin. If you are NOT using LDAP for user authentication, the default user account/password for super admin is superadmin/superadmin. Use csmupt as the application name when prompted at the UPT log in. If you are using LDAP for user authentication, please use the LDAP login name and password of the user who has been assigned as the super admin as specified in the Ant build properties file on page 5. Note: The user superadmin with initial password superadmin was created as a part of the database setup. Only superadmin can assign users to be caNanoLab administrators. | |
2 | If you are using LDAP for user authentication, you can skip this step. If you are not using LDAP for authentication, you can follow this step to reset the password for superadmin: | |
3 | Logged in as the super admin, follow these steps to create a new user and assign it to be a caNanoLab administrator: | |
4 | Before the newly created user can log into the UPT application, logged in as the super admin, follow these steps to update the required database connection information for the csmupt and caNanoLab applications under the Application tab: | |
5 | Log out of the UPT tool and log back in as admin. Use caNanoLab as the application name when prompted at the UPT log in | .1. |
6 | Select User > Select an Existing User, and click Search. Select admin from the User list. |
Follow similar steps to create other application user accounts as appropriate.
...