National Cancer Institute   U.S. National Institutes of Health www.cancer.gov
caBIG® Knowledge Center: A part of the Enterprise Support Network

C3PR Administration Guide

From CTMS_WIKI

Jump to: navigation, search

Contents

C3PR Administration Guide

Version 2


Duke Comprehensive Cancer Center


Document Change History

Version Number Date Contributor Description
1.0 3/28/2007 Patrick McConnell Created template
1.1 3/28/2007 Manav Kher Added details
1.2 5/04/2007 Manav Kher Added section on CSM



Copyright and License page

‘’’Copyright Notice.’’’ Copyright 2006 Duke Comprehensive Cancer Center (“caBIG™ Participant”). C3PR was created with NCI funding and is part of the caBIG™ initiative. The software subject to this notice and license includes both human readable source code form and machine readable, binary, object code form (the “caBIG™ Software”). This caBIG™ Software License (the “License”) is between caBIG™ Participant and You. “You (or “Your”) shall mean a person or an entity, and all other entities that control, are controlled by, or are under common control with the entity. “Control” for purposes of this definition means (i) the direct or indirect power to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. ‘’’License.’’’ Provided that You agree to the conditions described below, caBIG™ Participant grants You a non-exclusive, worldwide, perpetual, fully-paid-up, no-charge, irrevocable, transferable and royalty-free right and license in its rights in the caBIG™ Software, including any copyright or patent rights therein that may be infringed by the making, using, selling, offering for sale, or importing of caBIG™ Software, to (i) use, install, access, operate, execute, reproduce, copy, modify, translate, market, publicly display, publicly perform, and prepare derivative works of the caBIG™ Software; (ii) make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of caBIG™ Software (or portions thereof); (iii) distribute and have distributed to and by third parties the caBIG™ Software and any modifications and derivative works thereof; and (iv) sublicense the foregoing rights set out in (i), (ii) and (iii) to third parties, including the right to license such rights to further third parties. For sake of clarity, and not by way of limitation, caBIG™ Participant shall have no right of accounting or right of payment from You or Your sublicensees for the rights granted under this License. This License is granted at no charge to You. Your downloading, copying, modifying, displaying, distributing or use of caBIG™ Software constitutes acceptance of all of the terms and conditions of this Agreement. If you do not agree to such terms and conditions, you have no right to download, copy, modify, display, distribute or use the caBIG™ Software.

  1. Your redistributions of the source code for the caBIG™ Software must retain the above copyright notice, this list of conditions and the disclaimer and limitation of liability of Article 6 below. Your redistributions in object code form must reproduce the above copyright notice, this list of conditions and the disclaimer of Article 6 in the documentation and/or other materials provided with the distribution, if any.
  2. Your end-user documentation included with the redistribution, if any, must include the following acknowledgment: “This product includes software developed by Duke Comprehensive Cancer Center.” If You do not include such end-user documentation, You shall include this acknowledgment in the caBIG™ Software itself, wherever such third-party acknowledgments normally appear.
  3. You may not use the names “Duke Comprehensive Cancer Center”, “The National Cancer Institute”, “NCI”, “Cancer Bioinformatics Grid” or “caBIG™” to endorse or promote products derived from this caBIG™ Software. This License does not authorize You to use any trademarks, service marks, trade names, logos or product names of either caBIG™ Participant, NCI or caBIG™, except as required to comply with the terms of this License.
  4. For sake of clarity, and not by way of limitation, You may incorporate this caBIG™ Software into Your proprietary programs and into any third party proprietary programs. However, if You incorporate the caBIG™ Software into third party proprietary programs, You agree that You are solely responsible for obtaining any permission from such third parties required to incorporate the caBIG™ Software into such third party proprietary programs and for informing Your sublicensees, including without limitation Your end-users, of their obligation to secure any required permissions from such third parties before incorporating the caBIG™ Software into such third party proprietary software programs. In the event that You fail to obtain such permissions, You agree to indemnify caBIG™ Participant for any claims against caBIG™ Participant by such third parties, except to the extent prohibited by law, resulting from Your failure to obtain such permissions.
  5. For sake of clarity, and not by way of limitation, You may add Your own copyright statement to Your modifications and to the derivative works, and You may provide additional or different license terms and conditions in Your sublicenses of modifications of the caBIG™ Software, or any derivative works of the caBIG™ Software as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
  6. THIS caBIG™ SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES (INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE) ARE DISCLAIMED. IN NO EVENT SHALL THE DUKE COMPREHENSIVE CANCER CENTER OR ITS AFFILIATES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS caBIG™ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


Resources

DEVELOPMENT TEAM
Development Administration Guide Program Management
Patrick McConnell Manav Kher Jamie Cuticchia
Ram Chilukuri Ram Chilukuri Bob Annechiarico
Ramakrishna Gundala Patrick McConnell Patrick McConnell
Kruttik Aggarwal Ran Chilukuri
Priyatam Mudivarti
Manav Kher


CONTACTS AND SUPPORT
Enter training contact Patrick McConnell (Patrick.mcconnell@duke.edu)
Enter customer support contact N/A



LISTSERV FACILITIES PERTINENT TO SOFTWARE TEAMS
LISTSERV URL Name
c3prv2-elaborator c3prv2-elaborators@gforge.nci.nih.gov C3PR Elaborators Forum
C3prv2-general c3prv2-general@gforge.nci.nih.gov C3PR General Forum
C3prv2-developers c3prv2-developers@gforge.nci.nih.gov C3PR Developers Forum

Introduction to the Administration Guide

About C3PRV2

Cancer Central Clinical Participant Registry version 2.0 (C3PRV2) aims to extend the existing C3PR system to enhance the capture and management of protocol/trials information, clinical trials registration, information on physicians, research sites, and organizations, and to enhance access to information.


Overview of the guide

This guide is intended for administrators of the C3PRV2 system. It will provide an overview of how to administer a pre-installed C3PRV2 system. Information of installation of C3PRV2 can be found in the Installation Guide Information on the project can also be found on our Gforge Homepage or through our mailing lists mentioned earlier in this guide.


Additional Documentation

Additional details on use cases, design, installation can be found in the following documents:

Document Type Link
c3pr_uml.eap UML Design gforge.nci.gov
C3PRv2-BRIDG.EAP Domain Model gforge.nci.nih.gov
C3prv2_use_cases.doc Use Cases gforge.nci.nih.gov
c3prv2_technical_specification_Integration Architecture gforge.nci.nih.gov
C3prv2_srs.doc SRS gforge.nci.nih.gov
c3prv2_technical_spec_servicemix.doc Design gforge.nci.nih.gov
C3PRv2 Installation Guide.doc Installation gforge.nci.nih.gov


Document Text Conventions

The following table shows various typefaces to differentiate between regular text and menu commands, keyboard keys, and text that you type. This illustrates how conventions are represented in this guide.


Convention Description Example
Bold & Capitalized

Command Capitalized command > Capitalized command

Indicates a Menu command

Indicates Sequential Menu commands

Admin > Refresh
TEXT IN SMALL CAPS Keyboard key that you press Press ENTER
TEXT IN SMALL CAPS + TEXT IN SMALL CAPS Keyboard keys that you press simultaneously Press SHIFT + CTRL and then release both.
Special typestyle Used for filenames, directory names, commands, file listings, source code examples and anything that would appear in a Java program, such as methods, variables, and classes. URL_definition ::= url_string
Boldface type Options that you select in dialog boxes or drop-down menus. Buttons or icons that you click. In the Open dialog box, select the file and click the Open
Italics Used to reference other documents, sections, figures, and tables caCORE Software Development Kit 1.0 Programmer’s Guide
Italic boldface type Text that you type In the New Subset text box, enter Proprietary Proteins.
Note: Highlights a concept of particular interest Note: This concept is used throughout the installation manual.
Warning! Highlights information of which you should be particularly aware Warning! Deleting an object will permanently delete it from the database.
{ } Curly brackets are used for replaceable items. Replace {root directory} with its proper value such as c:\cabio


Getting Started with this administrator’s guide

  • Review Chapter 1 to learn about the manual structure
  • Review Chapter 2 for a brief overview of the C3PRV2 software
  • Review Chapter 3 to learn about common administration tasks of C3PRV2

Overview of the Software

Software Overview

C3PRV2 consists of a Java web application that based on the J2EE Servlets infrastructure, WSRF-compliant web services that are built on top of caGrid infrastructure, and JBI components that are hosted by Apache ServiceMix JBI container.

For details on the implementing libraries, see Chapter 4.

More information about C3PRV2 can be found at:

  • The C3PR GForge site
  • The C3PR Wiki
  • CTMS Gforge site


System Requirements

Software Name Version Description URL
Java SE Development Kit JDK 5.0 The Java SE development kit with JRE, compilers and debuggers http://java.sun.com/javase/downloads/index.jsp
Apache Tomcat 5.5.17 or higher Servlet container for JSP http://tomcat.apache.org/download-55.cgi
Apache Ant 1.6 or higher Java-based build tool http://ant.apache.org/bindownload.cgi
Apache ServiceMix 3.1 JBI (JSR 208) container http://incubator.apache.org/servicemix/home.html
Globus Toolkit 4.0.x Grid Toolkit for caGrid services http://www.globus.org/toolkit
Apache Maven 2.x Software Build Tool http://maven.apache.org/download.html


Database Requirements

C3PRV2 requires access to a properly-configured database. The application is built with database-independence in mind and has been tested on the following:


Database Name Version Description URL
PostgreSGL 8 PostgreSQL is a powerful, open source relational database system http://www.postgresql.org/download/
Oracle 9i Industry-leading, commercial database product http://www.oracle.com/technology/software/products/oracle9i/index.html


For more details, please see the Installation Guide.


Design and Architecture

C3PRV2 is based on the J2EE n-tier architecture where business logic is partitioned in its own distinct re-usable layer. Each layer communicates with its adjacent layer only. This architecture promotes reusability, scalability and ease of implementation (See Figure 2)


Figure 2 High-level overview of the C3PR system

C3PRV2 Administration

This section describes common administrative tasks that can be executed with C3PRv2.


User Logins

By default, C3PRV2 will redirect users to a login page where users are asked to enter their username and password. C3PRv2 uses caCORE Common Security Module (CSM version 3.2) and Acegi Security for authentication and authorization. By default the c3prv2 system ships with the following logins and roles:


Login Name Default Password User Group
c3pr_admin c3pr_admin System Administrator
c3pr_registrar c3pr_registrar Registrar
c3pr_study_coordinator c3pr_study_coordinator Study Coordinator


Depending on what User Group the User belongs to, the user has certain privileges and will not be able to access certain sections of the C3PRV2 web application. More details can be found in the C3PRv2 design document. To administer the authorization module of C3PRV2 you have to use the CSM User Provisioning tool (UPT). To download and install UPT please visit the NCICB Download Site.

Authorization is configurable at build time by setting the enableAuthorization flag. For more information refer the design document and/or the C3PRV2 installation guide.


Logging

C3PRV2 system uses Log4J for logging. By default the logging is set to a minimum so that only errors and severe problems encountered during the runtime are logged. But there might be situations where you would like to get some detailed information on system failures. To change any of the log4j settings for C3PRV2 system you will have to edit the log4j.properties file. This file for a pre-deployed C3PRV2 system will be typically in the WEB-INF folder of your web application. To make edits to the WEB-INF/log4j.properties file you will need to be familiar with the Log4j API. More information on this can be found here

‘’’Note:’’’ You will have to restart your application server (tomcat) for the new logging rules to take effect.


Database connection

As seen in Figure 2, C3PRV2 relies on a relational database for persisting information. There might be situation when a pre-deployed C3PRV2 systems database connection details need to be modified. To change the database connection details you will have to edit the build.properties (in the antfiles directory) and re-deploy C3PRV2. For more information on deploying C3PRV2 follow the Installation Guide.

This will be changed in a future iteration to enable making this change without having to re-build C3PRV2.


ESB Communication

C3PRV2 has the capability to communicate using an ESB (caAdapter) with other CTMSi applications. For more information on the design refer the Integration Design Document

C3PRV2 has two channels of communications with the ESB. It has the ability to send messages and also receive messages.


Sending Messages

The properties related to sending messages are:

  • esb.brokerUrl - This property represents the URL of the ESB (caAdapter). There are situations where this can change or you would like to use a different ESB.
  • broadcastEnable – This property will disable or enable sending messages to the ESB. A value of “false” will stop sending messages to the ESB.

Note: You will have to re-deploy the C3PRV2 system for these new properties to take effect.


Receiving messages

C3PRV2 also has the capability to receive messages from the ESB. This is done by deploying a special grid service that will accept messages from the ESB. To disable receiving messages, simply shut down or remove the RegistrationConsumer grid service. This will typically be deployed in $CATALINA_HOME/webapps/wsrf

Note: This grid service is not deployed by default in the present iteration of C3PRV2

Appendix B: Glossary

Term Definition
CSM Common Security Module
IdP Identity Provider
API Application Programming Interface
CDE Common Data Element
GUI Graphical User Interface
UML Unified Modeling Language
JMS Java Message Service
caBIG cancer Biomedical Informatics Grid
DAO Data Access Objects
HTTP Hypertext Transfer Protocol
JDBC Java Database Connectivity
JSP JavaServer Pages
ORM Object Relational Mapping
RDBMS Relational Database Management System
SDK Software Development Kit
HASTE High-level Automated System Test Environment
WSRF Web service resource framework
ESB Enterprise Service Bus
AJAX Asynchronous JavaScript a
BC Binding Component
SE Service Engine
NMR Normalized Message Router
JAAS Java Authentication and Authorization Service
GAARDS Grid Authentication and Authorization with Reliably Distributed Services
DWR Direct Web Remoting
KC Projects