![](media/image1.jpeg){width="7.875in" height="0.4798611111111111in"}

Document Change History

  ----------------- ------------ ------------------ ----------------------
  **Version         **Date**     **Contributor**    **Description**
  Number**                                          

  0.1               5/4/2007     Srini Akkala       Final Draft

  1.0               5/23/2007    Patrick McConnell  Final Release
  ----------------- ------------ ------------------ ----------------------

Copyright and License page

**Copyright Notice.** Copyright 2006 Duke Comprehensive Cancer Center
("caBIG™ Participant"). caTRIP 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.

  ----------------------- ----------------------- -----------------------
  ***Development Team***                          

  ***Development***       ***User's Guide***      ***Program
                                                  Management***

  Patrick McConnell^1^    Patrick McConnell^1^    Jamie Cuticchia^1^

  Ram Chilukuri^2^                                Bob Annechiarico^1^

  Srini Akkala^2^                                 Patrick McConnell^1^

  Bill Mason^3^                                   Ram Chilukuri^2^

  Sanjeev Agarwal^2^                              

  Mark Peedin^1^                                  

  Christopher Hubbard^1^                          

  ^1^Duke Comprehensive                           
  Cancer Center                                   

  ^2^Semantic Bits                                

  ^3^5AM Solutions                                
  ----------------------- ----------------------- -----------------------

  ---------------------------------- --------------------------------------
  ***Contacts and Support***         

  Enter training contact             <catrip-training@gforge.nci.nih.gov>
  ---------------------------------- --------------------------------------

  ------------------- ---------------------------------------------------------------------------------------- ---------------------
  ***LISTSERV                                                                                                  
  Facilities                                                                                                   
  Pertinent to                                                                                                 
  software teams***                                                                                            

  ***LISTSERV***      ***URL***                                                                                ***Name***

  catrip-users        [catrip-users@gforge.nci.nih.gov](https://list.nih.gov/archives/cabio_users.html)        caTRIP Users Forum

  catrip-general      [catrip-general@gforge.nci.nih.gov](https://list.nih.gov/archives/cabio_users.html)      caTRIP General Forum

  catrip-developers   [catrip-developers@gforge.nci.nih.gov](https://list.nih.gov/archives/cabio_users.html)   caTRIP Developers
                                                                                                               Forum
  ------------------- ---------------------------------------------------------------------------------------- ---------------------

**Table of Contents**

[Introduction 1](#introduction)

[Overview of caTRIP 1](#overview-of-catrip)

[Design and Architecture 2](#__RefHeading___Toc166040369)

[GUI Design 2](#gui-design)

[Basic Query Builder 3](#basic-query-builder)

[Advanced Query Builder 5](#advanced-query-builder)

[Federated Query Engine 6](#federated-query-engine)

[DCQL 6](#dcql)

[Federated Query Engine Execution 8](#federated-query-engine-execution)

[Security and Security Management 12](#security-and-security-management)

[Authentication 12](#authentication)

[Authorization 13](#authorization)

[Delegation 13](#delegation)

[Foreign CDEs 13](#foreign-cdes)

[Information Models 13](#information-models)

[Grid Services 14](#grid-services)

[Installing caTRIP 15](#installing-catrip)

[caTRIP Minimal System Requirements
15](#catrip-minimal-system-requirements)

[Minimal System Requirements 15](#minimal-system-requirements)

[caTRIP Software and Technology Requirements
16](#catrip-software-and-technology-requirements)

[Software Requirements 16](#software-requirements)

[Preliminary Considerations 17](#preliminary-considerations)

[Installing Prerequisites 17](#installing-prerequisites)

[Downloading caTRIP 20](#downloading-catrip)

[Installing the Components 20](#installing-the-components)

[Database setup 20](#database-setup)

[Database Test Data 21](#database-test-data)

[Web Services 21](#web-services)

[Hibernate Configuration Files 22](#hibernate-configuration-files)

[caTRIP Configuration Files 23](#catrip-configuration-files)

[For more information on configuration files, refer Configuration files
section in Creating new data service
24](#for-more-information-on-configuration-files-refer-configuration-files-section-in-creating-new-data-service)

[Creating new data service 24](#creating-new-data-service)

[Domain model setup 24](#domain-model-setup)

[Create data service using Introduce toolkit
26](#create-data-service-using-introduce-toolkit)

[Query Builder Configuration Files
31](#query-builder-configuration-files)

[Testing the Application 38](#testing-the-application)

[Creating a Webstart Application 40](#creating-a-webstart-application)

[Security 41](#security)

[NT Authentication 41](#nt-authentication)

[Default Dorian Authentication 42](#default-dorian-authentication)

[Authorization 42](#authorization-1)

[Running the Application 43](#running-the-application)

[Appendix I caTRIP Components 44](#appendix-i-catrip-components)

[Contacting Technical Support 44](#contacting-technical-support)

[caTRIP Application Support 44](#catrip-application-support)

####  {#section .unnumbered}

## Introduction 

> This manual is intended as a guide to describe the technical details
> of caTRIP. It includes a description of the architecture, installation
> instructions for system administrators attempting to install caTRIP at
> their organization, and details on configuration for customizing
> caTRIP. It assumes prior understanding of what caTRIP is, and what it
> is trying to do. A brief introduction of caTRIP is included in the
> following section; however, we recommend that you read the
> Requirements specification and Design specification documents found at
> the caTRIP website at <https://gforge.nci.nih.gov/projects/catrip/>.
>
> This manual is geared towards:

-   Technically savvy end users that would like a better understanding
    > of the caTRIP architecture and components. These users should have
    > an understanding of N-tier architecture and service oriented
    > architecture.

-   System administrators that would like to install caTRIP locally and
    > configure caTRIP. These users should have an understanding of
    > Java, service containers, running command-line commands, Ant, and
    > security (authentication, authorization, certificates).

## Overview of caTRIP

> In order to have an impact in society, discoveries in cancer research
> need to be translated into knowledge that can be directly applied to
> treatment and prevention.  These discoveries usually start within the
> basic sciences, from experiments developed at the molecular level,
> slowly progressing to clinical research.  Although this translational
> process is at the very basis of our ability to generate new biomedical
> knowledge, to date few tools have been developed to successfully link
> the basic and clinical science fields in a way so that researchers
> from both arenas can easily make connections between the two.  More
> specifically, cancer research would benefit from the development of
> applications that could aggregate clinical and molecular data in a
> repository that is user-friendly, easily accessible, as well as
> compliant with regulatory requirements of privacy and security.\
> \
> In line with the requirements outlined above, the Duke Comprehensive
> Cancer Center, in collaboration with SemanticBits LLC, has developed
> the Cancer Translational Research Informatics Platform, a
> translational research system for the Cancer Biomedical Informatics
> Grid (caBIG) project. caTRIP allows users to query across a number of
> caBIG data services, join on common data elements (CDEs), and view
> their results in a user-friendly interface.  Having as its initial
> focus the enabling of outcomes analysis, caTRIP allows clinicians to
> query across data from existing patients with similar characteristics
> to find treatments that were administered with success.  In doing so,
> caTRIP can help inform treatment and improve patient care, as well as
> enable the searching of available tumor tissue, locating patients for
> clinical trials, and investigating the association between multiple
> predictors and their corresponding outcomes such as survival.  Of
> importance, caTRIP relies on the vast array of open source caBIG
> applications, including (1) Tumor Registry, a clinical system that is
> used to collect endpoint data; (2)  the cancer Text Information
> Extraction System (caTIES, <https://cabig.nci.nih.gov/tools/caties>),
> a locator of tissue resources that works via the extraction of
> clinical information from free text surgical pathology reports while
> using controlled terminologies to populate caBIG-compliant data
> structures; (3) caTissue CORE (
> <https://cabig.nci.nih.gov/tools/catissuecore>), a tissue bank
> repository tool for biospecimen inventory, tracking, and basic
> annotation; (4) Cancer Annotation Engine (CAE) (
> <https://cabig.nci.nih.gov/tools/cae>), a system for storing and
> searching pathology annotations; (5) caIntegrator (
> <http://gforge.nci.nih.gov/projects/caintegrator/>), a tool for
> storing, querying, and analyzing translational data, including SNP
> data.

## Design and Architecture

The caTRIP application is divided into three major components: domain
services, the distributed query engine, and the graphical user
interface. The domain services are grid services that expose information
models that encapsulate the translational data. The distributed query
engine (DQE) takes in distributed common query language (DCQL) queries,
decomposes the query into individual common query language queries
(CQL), issues those queries to the domain services, aggregates the
results, and returns it to the caller. The graphical user interface
(GUI) provides a metadata driven interface for building DCQL to be
issued against the DQE, as well as reporting utilities for data
visualization. This N-tier architecture is developed using Java such
that it can be deployed on any operating system. It is suitable to
deployed locally at a single cancer, multiple instances at a single
cancer center, or across cancer centers depending on the translational
problem being faced.

![](media/image2.jpeg){width="5.041666666666667in"
height="3.3333333333333335in"}

> The following sections describe the major components of caTRIP
> top-down (UI to grid services).

## GUI Design

The primary purpose of the caTRIP GUI is to enable users to create
federated queries in a visual manner. The queries are converted into
DCQL (distributed common query language), sent to the Federated Query
Engine for processing, and the result is shown to the user in a tabular
fashion.

caTRIP has two flavors of GUIs:

*Advanced Query Builder*: Targeted towards advanced users who are
familiar with the UML domain modeling and technologies such as
drag-and-drop. Data Managers and developers are the primary users of
this interface.

*Basic Query Builder*: Targeted towards non technical users, who are not
familiar with UML models. Clinicians and basic science researchers are
the primary users of this interface.

### Basic Query Builder

The diagram below explains the process of loading the configuration file
and Domain model Metadata extract that is being bundled with the caTRIP
user interface.

![](media/image3.wmf){width="6.490277777777778in"
height="3.109722222222222in"}

Currently, five Grid Data services are integrated with the Simple GUI,
which are included out-of-the-box in the configuration files. Along with
the simple GUI configuration file, the GUI also ships with the Domain
Model metadata extract for these five services so that the relevant
Semantic information can be shown in the GUI.

When a user launches the GUI, he or she is given a choice to use the
default (Basic Query Builder) or Advanced Query Builder, which is
explained in next section. When the user chooses the default option, the
class SimpleSearchPanel, which is responsible for generating the Simple
Query Interface, loads all the Metadata and simple GUI configuration
during the Initialization process.

The SimpleSearchPanel class calls methods on SimpleGuiRegistry class,
which is a storage of information about the Domain model and the simple
GUI configuration. The SimpleGuiRegistry class than gets the list of
Domain models for the services configured in the configuration file and
load the metadata using utility classes (eg.
XMLDomainModelRetrievalStrategy) and binds the model and semantic
information with a Domain Model Metadata registry. The Domain Model
Metadata registry has methods to bind and lookup the classes based on
the unique class RefIds and fully classified class names. After the
domain model metadata extract is loaded, the filters and other
information about the services are loaded from the Simple GUI
configuration file with the help of the class ObjectGraphProcessor and
the information is bound to the Simple GUI Registry.

**Execution of the Query**

The UML sequence diagram below explains the event flow for the query
execution in the Simple GUI.

![](media/image4.wmf){width="6.497222222222222in"
height="3.7006944444444443in"}

As soon as the user adds a filter to the query, the filter information
gets added to the Simple GUI registry as well. The Registry has
information about the filters, their respective classes and the service
URLs, and other semantic information. Once the user clicks the Execute
button, the Simple GUI Registry is asked to prepare for DCQL generation.
This is an important step in the Simple GUI, as the associations and
linking between the various filters across services is performed here.
As per the CQL design, a CQL query has a Target Object and then an
association structure specifying the filters in the form of attributes
of other classes. The same association tree is built in this step of the
query execution in the Simple GUI as opposed to the Advanced GUI where
the user who is building the query associates the object on the graph
manually.

Once the association tree is generated and a target node is assigned and
bound to the DCQL Registry, the DCQL generator just picks up the Target
Node reference and then traverses through the association tree to create
appropriate DCQL with associations and foreign associations spanning
across multiple Grid services.

After the DCQL generator generates a DCQL document (an XMLBeans
generated object representing xml form of DCQL), it is passed to the
Federated Query Engine (FQE) for execution.

The CQL Results returned from the FQE are then parsed via java
Reflection and displayed on the output panel of the GUI.

### Advanced Query Builder

The Advanced Query Builder is targeted towards more technically savvy
users who are aware of the UML domain models of the Grid services being
used in the caTRIP, as well as other technologies such as drag-and-drop
and tree traversal.

##### 

The figure below explains the process of loading the caTRIP
configuration file, the service specific domain model metadata, and
building the class/CDE tree.

![](media/image5.jpeg){width="6.497222222222222in"
height="2.5555555555555554in"}

*Advanced GUI: Loading of the configuration and metadata extract and
Tree building*

In the case of Advanced GUI, there are two options to load the services.
The GUI can be configured to point to an Index service, which can then
be used to discover services at run-time using the caGrid discovery API.
It can also retrieve the list of services from a configuration file. In
the first case, domain model metadata is accessed using the discovery
API, but the in the later case it is stored locally on the file system
as an XML extract. This is controlled by a configuration parameter in
the GUI configuration file "catrip-config.xml".

For both the options, the user is asked to search the services based on
some parameters, or the user can perform a "Search All" operation.

If the discovery option using an Index service is selected, there is a
Service locator that uses Discovery APIs to locate all the published
services in the selected Index Service. The list is then shown to the
user for selection. A Domain Model Retrieval Strategy class iterates
over each selected service and also uses Discovery APIs to retrieve the
Domain Model metadata extract to the client machine. Once the Domain
model is downloaded, it is parsed, and the Domain Model Metadata
Registry is populated with metadata information, which is then used to
build the class tree.

**Execution of the Query**

The Query Execution process for the Advanced GUI is similar to the
Simple GUI, except for the fact that the user links the class nodes on
the Graph panel and creates an Association Tree. The user can select any
class node as the Target Node by using the context menu option and thus
bind it to the DCQLRegistry. Once there is a Target Node selected and
the Association tree is defined on the Graph panel, the execution
process follows the same path as in Simple GUI.

## Federated Query Engine

The primary responsibility of federated query engine is to execute
federated queries across the chosen caGRID data services. Queries
written in the DCQL (distributed caBIG query language CQL) are the
primary input to the engine. Federated Query Engine decomposes DCQL
queries into individual CQL queries . These CQL queries are passed to
individual data services where they get executed and results are passed
back to federated query engine. The federated query engine aggregates
the results from multiple services and sends back the result to client.

### DCQL

DCQL is designed on top of the CQL query language. DCQL is defined in an
XML document conforming to a well-defined schema, which is extended from
CQL schema (see Figure DCQL schema).

![](media/image6.png){width="5.30625in" height="3.542361111111111in"}

*DCQL schema*

**DCQLQuery:** DCQLQuery is a simple wrapper element at the head of
every DCQL query document. It contains the target element.

**TargetObject:** The TargetObject element is of the type Object, and
describes the data type that the query will return from a data service
specified in the serviceURL property.

**Object:** The Object element contains the required attribute 'name.'
This attribute's value defines the caDSR class of the object. When the
Object is the top level of a DCQL query, it identifies the target data
type that will be returned by the caGrid Data Service. The Object allows
for a choice between four child elements. The possible child elements
are Attribute, Association, ForeignAssociation, and Group. Objects may
have at most one of these child elements.

**Attribute:** Extended from CQL Attribute. An Attribute type in DCQL
describes a restriction on an attribute of an Object. The Attribute
contains three XML attributes, which define the restriction. The
attribute 'name' defines the name of the attribute to be restricted. The
attribute 'value' defines the restriction on the attribute. The
attribute 'predicate' describes what type of restriction the attribute
defines. Allowable predicates are defined by the schema's simple type
'Predicate', which defines an enumeration of allowable values. The
predicate values are generally self-descriptive:
"EQUAL_TO\","NOT_EQUAL_TO\", "LIKE\", \"LESS_THAN\",
\"LESS_THAN_EQUAL_TO\", "GREATER_THAN\", and "GREATER_THAN_EQUAL_TO.\"
Two additional predicates, \"IS_NULL\", and "IS_NOT_NULL\" check only
for the presence or absence, respectively, of an attribute, and do not
restrict its value at all. Therefore, any 'value' attribute will be
ignored when using these predicates.

**Association:** An association describes a related Object, which
defines the associated object's restrictions for the query, as well as
the relationship from one object to another. Specifically, it defines
the relationship down the object model tree. The Association complex
type is an extension of Object. The Association has a single, optional
attribute named 'roleName.' This attribute identifies which associated
object field the Association is defining.

**Group:** Groups define logical joints of two or more conditions, and
operate against the Object to which they are attached. Groups must have
two or more children, which may be a mixture of type Attribute,
Association, or Group. Groups also have an attribute named
'logicOperator,' whose type is defined in the schema's simple type
LogicalOperator. This type is an enumeration of the values "AND" and
"OR." The operator is applied to all children in the group. The "AND"
operator requires that all conditions in the group be true for the group
to evaluate as true. The "OR" operator requires that any condition in
the group evaluate as true.

**ForeignAssociation:** A ForeignAssociation describes the relationship
between data services.

JoinCondition defines the touch points between the services.

LeftJoin defines Object name and property name of local object

RightJoin defines Object name and property name of remote object.

The ForeignObject in ForeignAssociation becomes a "TargetObject" on the
Foreign Service.

## **Federated Query Engine Execution**

![](media/image7.jpeg){width="5.997916666666667in"
height="3.901388888888889in"}

**FederatedQueryProcessor**

The Federated Query Processor decomposes the DCQL query into individual
data service queries. After decomposing the query, federated query
processor passes each CQL query and service URL of the data service to
Federated Query Executor. After processing all the federated queries,
the federated query processor builds a final CQL query and returns to
Federated Query Engine.

**FederatedQueryExecutor**

Using a CQL query, the federated query processor generates, the
federated query executor issues a data source specific query to
corresponding data source. It uses the Service Client Factory to obtain
a reference to an appropriate data source query handler that actually
executes the query. Results obtained from a foreign data service are
passed to the Result Aggregator for processing. Criteria group Result
Aggregator is used as a 'where' clause to the higher level Query.

**ResultAggregator**

The Result Aggregator processes result sets obtained by executing data
source specific queries. The Result Aggregator performs right and left
joins on CDEs and builds criteria and returns the criteria as Group.

**Data Services Design**

caTRIP heavily relies on the caGrid 1.0 data services infrastructure.
The domain systems such as caTissue Core and caTissue CAE are wrapped as
data services and exposed to the FQE. Diagram below illustrates the
steps involved in executing a query represented in CQL using a caGrid
data service.

![](media/image8.png){width="0.33818897637795275in"
height="0.5015748031496063in"}

1.  Client builds a CQL Query

2.  CQL query is submitted as part of request to the query() method of
    the caGrid data service via standard grid protocol

3.  Data service deserializes an XML representation of the CQL query
    into a CQLQuery object and then passes it to the configured CQL
    Query Processor implementation class

4.  CQL query processor converts CQL into HQL and queries the underlying
    data source to generate the result set.

5.  Results are serialized as XML and returned to the client as a single
    CQLQueryResults object.

6.  Introduce generated data service client iterates thru the result set
    and deserializes the XML into java objects if desired.

In caTRIP, we have two types of data services: caCORE SDK based and non
caCORE SDK based. The following sequence diagram illustrates the various
classes and interactions between them for a data service that is based
on caCORE SDK generated data access API. The HQLCoreQueryProcessor
(provided by the caGrid 1.0 infrastructure) translates the CQL query
into an HQL query and uses the caCORE SDK's application service class to
execute it. This results in an additional network call, as the caCORE
SDK's application service is deployed in a different JVM.

![](media/image9.wmf){width="6.496527777777778in"
height="3.3020833333333335in"}

The following sequence diagram illustrates the various classes and the
interactions for a data service that is not based on caCORE SDK
generated data access API. The LocalHQLCoreQueryProcessor, which is an
extension of HQLCoreQueryProcessor, translates the CQL query into an HQL
query and uses the Hibernate query API to execute it. This eliminates an
additional network call as the data access layer is packaged with the
data service itself resulting in significant performance improvements.

![](media/image10.wmf){width="4.663888888888889in"
height="3.314583333333333in"}

## 

## Security and Security Management

### Authentication

The first step in the security workflow is authentication, which is the
process by which a trusted organization claims a user is who they claim
to be. This is implemented using the caGrid AuthenticationService (see
the diagram below). The goal is for the user to get a grid user
certificate to be used in authorization. The user submits their
credentials (user name and password) to the AuthenticationService, which
has an institutional IdP plugged in. This component performs the
necessary steps to determine that the user credentials are valid. In the
case of the Duke IdP plugin, the user name and password are validated
against the Duke Domain Controller, which uses NT Security. Once
validated, the AuthenticationService returns a SAML Assertion to the
user, which asserts that the user is who they claim to be. The SAML
Assertion can then be passed off to a Dorian Service to generate a grid
user certificate.

![](media/image11.png){width="5.5881944444444445in" height="2.6875in"}

*High-level overview of the caTRIP security architecture*

### Authorization

The second step in the security workflow is authorization, which is the
process by which a system grants the user access to specific resources.
This is implemented using the CSM plug-in to the grid data service. The
grid user is mapped to an application user. When a data field is
accessed on behalf of the user, an authorization structure is queried to
determine if the user has permission to access it. If not, then a
security exception is returned to the client. Authorization is made
possible because a trust fabric exists between the service serving the
data resource and the AuthenticationService.

### Delegation

One twist on the security workflow is delegation, which is the process
by which a service acts on behalf of the user. This impacts caTRIP
because the DQE service queries domain services using the user's
certificate. The architecture of delegation has not yet been fully
described or implemented by the caGrid team. As the delegation
architecture is fleshed out, more details will be provided.

## Foreign CDEs

Another twist on the security workflow is the use of "foreign CDEs" for
the purpose of joining data. It is conceivable that a user does not have
permission to view a CDE that is used for joining between two different
domain services. The classic example of this is to join patients across
services using the MRN. In this case, a special security workflow must
be undertaken during authorization. A special trust fabric will be
instantiated between the DQE service and the domain service such that
foreign CDEs will be returned to the DQE service with the understanding
that the delegated user is not authorized to view them but is authorized
to join on them. The exact mechanism by which this is accomplished is
not yet completely clear.

## Information Models

Information models are leveraged to create our domain services, as well
as register metadata in the caDSR and EVS. The following information
models are used:

-   caTissue CORE (Washington University): caTRIP has leveraged this
    model in its entirety without any modification.

-   CAE (Pittsburgh University): caTRIP has modified this model by
    adding a small number of attributes and classes.

-   caTIES (Pittsburgh University): caTRIP has leveraged this model in
    its entirety without any modification.

-   caIntegrator SNP (NCICB): The caTRIP has leveraged this model in its
    entirety without any modification.

-   Tumor Registry (Duke): This model is created from scratch by the
    caTRIP team.

The information models themselves are UML-based and created using
Enterprise Architect (EA). They can be found at:

<http://gforge.nci.nih.gov/plugins/scmcvs/cvsweb.php/catrip/documentation/models/?cvsroot=catrip>

The Hibernate mappings are generated for the domain services using the
caCORE SDK. The caCORE-generated APIs themselves are not used in caTRIP.
Grid services are generated from metadata registered in the caDSR using
the caGrid Introduce toolkit. An XMI file is generated from the
information model (UML), semantically annotated, registered in the
caDSR, and the caCORE-like service is generated.

One key facet of the caTRIP information models is that they are loosely
coupled using the classes of Participant, Accession, and Biospecimen.
Currently, only ParticipantMedicalRecordNumber is used to perform
distributed joins across services.

## 

## 

## Grid Services

The five grid data services described below were developed for caTRIP:
The Introduce toolkit provided by the caGrid 1.0 infrastructure was
leveraged extensively for developing these services. The query
processor, which converts CQL statements into Hibernate Query Language
(HQL) statements and executes them, was extended to support extra
features.

**caTissue Core Data Service**

This data service is based on the caCORE SDK generated API of the
caTissue Core 1.01 application.

**caTissue Clinical Annotation Engine (CAE) Data Service**

This data service is based on the CAE 1.2 domain model. It exposes only
a subset of domain objects, specifically relevant to the breast
annotations.

**Cancer Text Information Extraction System (caTIES) Data Service**

This data service is based on the caTIES domain model. It exposes only a
subset of domain objects, specifically relevant to the identifiable
portion of the model.

**Tumor Registry Data Service**

This data service is based on the Duke University tumor registry domain
model, which was developed as a part of caTRIP phase 1 effort.

**CGMES Data Service**

This data service is based on the CGEMS domain model, which is a part of
the NCICB's caIntegrator project.

The grid services themselves are designed as an N-tier architecture (see
the below Figure). The lowest tier is the underlying RDBMS, which can be
provided by any number of vendors. caTRIP has been developed extensively
leveraging Oracle and MySQL, but any relational database can be used.
The next tier is Hibernate, which provides an object-relational mapping
to the domain model. The final tier is the caGrid data service, which
maps CQL queries to HQL queries using a CQL processor.

![](media/image12.jpeg){width="3.5277777777777777in"
height="3.638888888888889in"}

*Architecture of a Grid Service*

## 

## Installing caTRIP

### **caTRIP Minimal System Requirements**

+-------------+--------------------------------------------------------+
| #           | -   Internet connection                                |
| #### Minima |                                                        |
| l System Re | -   Server specs listed in Table 1                     |
| quirements  |                                                        |
+-------------+--------------------------------------------------------+

> caTRIP has been tested on the platforms shown in Error: Reference
> source not found .

+------------+-------------------------+------------------------------+
|            | ***Linux Server***      | ***Windows***                |
+------------+-------------------------+------------------------------+
| *          | HP Proliant ML 330      | Dell GX 270                  |
| **Model*** |                         |                              |
+------------+-------------------------+------------------------------+
| ***CPU***  | 1 x Intel® Xeon™        | 1 x Intel® Pentium™          |
|            | Processor 2.80GHz       | Processor 2.80GHz            |
+------------+-------------------------+------------------------------+
| **         | 4 GB                    | 1 GB                         |
| *Memory*** |                         |                              |
+------------+-------------------------+------------------------------+
| ***Local   | System 2 x 36GB         | System 1 x 36GB              |
| Disk***    |                         |                              |
|            | (RAID 1)                |                              |
|            |                         |                              |
|            | Data = 2 x 146 (RAID 1) |                              |
+------------+-------------------------+------------------------------+
| ***OS***   | Red Hat Linux ES 3 (RPM | Windows XP/2000 Professional |
|            | 2.4.21-20.0.1)          |                              |
+------------+-------------------------+------------------------------+

Table 1 Platform Testing Environment

## 

### caTRIP Software and Technology Requirements

#### Software Requirements

+-------------+--------------------------------------------------------+
| **Required  | > You must download and install the required software  |
| Sof         | > that is not included with caTRIP (listed in Error:   |
| tware---Not | > Reference source not found.) The software name,      |
| Included in | > version, description, and URL hyperlinks (for        |
| caTRIP**    | > download) are indicated in the table. Java is        |
|             | > required for running the client, and the rest of the |
|             | > listed software is required for running the services |
+-------------+--------------------------------------------------------+

(Required software that *is* included with the caTRIP is listed in
Appendix I)

  ----------------------------------------------------------------------------------------------------------------------------------------
  ***Software      ***Version***   ***Description***         ***URL***
  Name***                                                    
  ---------------- --------------- ------------------------- -----------------------------------------------------------------------------
  Java Software    j2sdk1.5.2_06   The J2SE Software         [http://java.sun.com/j2se/1.4.2/ download.html]{.underline}
  Devel­opment Kit  or higher       Develop­ment Kit (SDK)     
  (SDK):Java 2                     supports creat­ing J2SE    
  Standard Edition                 applications              
  (J2SE)                                                     

  Globus Toolkit   4.0.3           An open source software   [http://www.globus.org/toolkit/downloads/]{.underline}
                                   toolkit used for building 
                                   Grid systems and          
                                   applications              

  Apache Tomcat    5.0.28          Apache Tomcat is an open  [http://tomcat.apache.org/download-55.cgi]{.underline}
                                   source servlet container. 

  Apache Ant       1.6 or higher   Apache Ant is a           [http://ant.apache.org/bindownload.cgi]{.underline}
                                   Java-based build tool     

  Oracle Database  9i or 10g       Oracle is a               [http://www.oracle.com/technology/products/oracle9i/index.html]{.underline}
                                   commercially-available,   
                                   alternative relational    
                                   database management       
                                   system (RDBMS)            

  MysSQL           4.1             Open source relational    [http://dev.mysql.com/downloads/]{.underline}
                                   database                  
  ----------------------------------------------------------------------------------------------------------------------------------------

Table 2 Required software

### Preliminary Considerations

+---+------------+--------------------------------------------------------+
|   | !          | caTRIP has been tested with the operating systems and  |
|   | [](media/i | hardware specified on pages [Error: Reference source   |
|   | mage13.wmf | not found](#_Ref108495690) through 3 of this guide. We |
|   | ){width="0 | cannot guarantee caTRIP will work If you are using     |
|   | .594444444 | variations of these operating systems and/or hardware. |
|   | 4444444in" |                                                        |
|   | height="0  |                                                        |
|   | .59375in"} |                                                        |
|   |            |                                                        |
|   | BEFORE YOU |                                                        |
|   | BEGIN      |                                                        |
+---+------------+--------------------------------------------------------+
| # |            |                                                        |
| # |            |                                                        |
| # |            |                                                        |
| # |            |                                                        |
| # |            |                                                        |
|   |            |                                                        |
+---+------------+--------------------------------------------------------+

### Installing Prerequisites

+--------+-------------------------------------------------------------+
| Step   | Action                                                      |
+--------+-------------------------------------------------------------+
| e.     | Jakarta Ant - Extract the contents of the Ant zip file,     |
|        | apache-ant-1.6.2-bin.zip and save it to your computer. For  |
| 1      | example, if your root directory in Windows is C:\\, then    |
|        | extract your Ant home directory to C:\\apache-ant-1.6.2.    |
+--------+-------------------------------------------------------------+
| f.     | Java JRE - Download version 1.5 or higher and install it to |
|        | a desired location e.g. C:\\jdk1.5.0_06.                    |
| 2      |                                                             |
+--------+-------------------------------------------------------------+
| g.     | Verify that the environment variables ANT_HOME and          |
|        | JAVA_HOME are set and that your PATH statement includes the |
| 3      | locations of the Ant and Java bina­ries. For example, PATH   |
|        | should include C:\\apache-ant-1.6.2\\bin; C:\\              |
|        | jdk1.5.0_06\\bin.                                           |
|        |                                                             |
|        | To do this in Windows:                                      |
|        |                                                             |
|        | a.  Select **My Computer \> Properties** (from the shortcut |
|        |     menu) **\> Advanced** tab.                              |
|        |                                                             |
|        | b.  Click the **Environment_Variables\...** button.         |
|        |                                                             |
|        | c.  **ANT_HOME** and **JAVA_HOME** must each be listed in   |
|        |     one or the other of the panels of the dialog box. To    |
|        |     add either, below one of the panels, click the **New**  |
|        |     button.                                                 |
|        |                                                             |
|        | d.  In the New User Variable dialog box, add the            |
|        |     **Variable** and **Variable Value**.                    |
|        |                                                             |
|        | > Examples:                                                 |
|        | >                                                           |
|        | > **Variable** = ***ANT_HOME***; **Variable Value** =       |
|        | > ***C:\\apache-ant-1.6.2***                                |
|        | >                                                           |
|        | > **Variable** = ***JAVA_HOME***; **Variable Value** =      |
|        | > ***C:\\*** ***jdk1.5.0_06***                              |
|        |                                                             |
|        | e.  Verify that the **PATH** statement listed in the        |
|        |     Environment Variables dia­log box includes both the      |
|        |     **ANT_HOME** and **JAVA_HOME** binaries and that they   |
|        |     read as follows: ***C:\\***                             |
|        |     ***jdk1.5.0_06\\bin;C:\\apache-ant-1.6.2\\bin***. (To   |
|        |     easily review these, copy them to a text editor.) If    |
|        |     necessary, click the **Edit** button and enter the      |
|        |     correct information.                                    |
+--------+-------------------------------------------------------------+
| h.     | Tomcat Installation -- extract the zip file to the c:\\     |
|        | drive. After unzipping add the variable CATALINA_HOME =     |
| 4      | \<your tomcat home\> e.g.                                   |
|        |                                                             |
|        | **CATALINA_HOME = c:\\ tomcat_cagrid_5.0.28**               |
+--------+-------------------------------------------------------------+
| i.  88 | Globus installation -- extract the zip file to the c:\\     |
|        | drive.                                                      |
| 5      |                                                             |
|        | Add the environment variable GLOBUS_HOME=c:\\\<globus       |
|        | location\> for example:                                     |
|        |                                                             |
|        | **GLOBUS_LOCATION = c:\\ ws-core-4.0.3**                    |
|        |                                                             |
|        | Next install the Globus container into Tomcat. Change to    |
|        | the globus directory c:\\\<globus location\>\\ . To install |
|        | the container run the following:                            |
|        |                                                             |
|        | ant -f share\\globus_wsrf_common\\tomcat\\tomcat.xml        |
|        | deployTomcat -Dtomcat.dir=\"\<tomcat location\>\"           |
|        |                                                             |
|        | Output of the Globus installation:                          |
|        |                                                             |
|        | ![](media/image14.png){width="5.03125in" height="2.425in"}  |
|        |                                                             |
|        | The Globus installation will add a new directory 'wsrf' in  |
|        | the Tomcat directory under 'webapps'                        |
|        |                                                             |
|        | ![](media/image15.png){width="3.082638888888889in"          |
|        | height="1.625in"}                                           |
+--------+-------------------------------------------------------------+
| j.     | Download and install MySQL 4.1 to a desired location e.g.   |
|        | c:\\mysql4.1                                                |
| 6      |                                                             |
|        | <http://dev.mysql.com/downloads/>                           |
+--------+-------------------------------------------------------------+
| k.     | Download and install Oracle 9i or 10g to a desired location |
|        | e.g. c:\\oracle                                             |
| 7      |                                                             |
|        | <htt                                                        |
|        | p://www.oracle.com/technology/products/oracle9i/index.html> |
+--------+-------------------------------------------------------------+

### Downloading caTRIP

+---+------------+--------------------------------------------------------+
|   | !          | To best understand the installation and testing        |
|   | [](media/i | procedures for the caTRIP, it is recommended that you  |
|   | mage13.wmf | follow the proce­dures described in this section with   |
|   | ){width="0 | minimal deviation.                                     |
|   | .594444444 |                                                        |
|   | 4444444in" |                                                        |
|   | height="0  |                                                        |
|   | .59375in"} |                                                        |
|   |            |                                                        |
|   | SUGGESTION |                                                        |
+---+------------+--------------------------------------------------------+
| # |            |                                                        |
| # |            |                                                        |
| # |            |                                                        |
| # |            |                                                        |
| # |            |                                                        |
|   |            |                                                        |
+---+------------+--------------------------------------------------------+

> Complete the following steps to download caTRIP;

+--------+-------------------------------------------------------------+
| Step   | Action                                                      |
+========+=============================================================+
| l.     | Go GForge web site to download caTRIP:                      |
|        |                                                             |
| 1      | <https://gforge.nci.nih.gov/frs/?group_id=131>              |
+--------+-------------------------------------------------------------+
| m.     | Save it to a directory on your computer (for example,       |
|        | C:\\caTRIP in Windows). This may take several minutes.      |
| 2      |                                                             |
+--------+-------------------------------------------------------------+
| n.     | Extract the contents of the caTRIP distribution zip file to |
|        | your root directory. For example, if your root direc­tory in |
| 3      | Windows is C:\\, then your caTRIP home directory is         |
|        | C:\\caTRIP.                                                 |
|        |                                                             |
|        | **Note:** This directory name cannot contain any spaces or  |
|        | this will cause errors in Windows. For instance, do not     |
|        | place the caTRIP directory in the Program Files directory.  |
+--------+-------------------------------------------------------------+

### Installing the Components

After downloading and unzipping caTRIP the following components need to
be edited or installed:

-   Install Oracle and MySQL databases

-   Install Web Services

-   Edit Hibernate configuration files

-   Edit caTRIP Configuration Files

#### Database setup

Database scripts for both Oracle and MySQL are available to create the
user and schemas. All sql scripts can be found in the directory:
codebase\\projects\\db_scripts

  ---------------------------------------------------------------------------------
  *File Name*                          *Description*
  ------------------------------------ --------------------------------------------
  Tumor_registry_oracle_creation.sql   This file contains SQL statements that can
                                       be used to create the user and database for
                                       the Tumor Registry database in Oracle

  CAE_oracle_creation.sql              This file contains SQL statements that can
                                       be used to create the user and database for
                                       Clinical Annotations Engine (CAE) database
                                       in Oracle

  CGEMS_oracle_creation.sql            This file contains SQL statements that can
                                       be used to create the user and database for
                                       Cancer Genetic Markers of Susceptibility
                                       (CGEMS) database in Oracle

  Query_share_oracle_creation.sql      This file contains SQL statements that can
                                       be used to create the user and database for
                                       the query sharing database in Oracle

  Catissuecore_mysql_creation.sql      This file contains SQL statements that can
                                       be used to create the user and database for
                                       caTIssueCore database in MySQL

  caties_mysql_creation.sql            This file contains SQL statements that can
                                       be used to create the user and database for
                                       Text Information Extraction System (caTIES)
                                       database in MySQL
  ---------------------------------------------------------------------------------

#### Database Test Data

Test data for the Oracle databases CAE and Tumor Registry are available
in the directory: codebase\\projects\\db_scripts\\sampleData

#### Web Services

After the databases have been installed it is time to create the caTRIP
services. The services will be deployed to Tomcat in the Globus
directory *wsrf\\WEB-INF\\etc*.

+--------+-------------------------------------------------------------+
| Step   | Action                                                      |
+========+=============================================================+
| o.     | Go to where caTRIP was download and unzipped and change to  |
|        | the *codebase* directory.                                   |
| 1      |                                                             |
|        | \<catrip directory\>\\codebase                              |
+--------+-------------------------------------------------------------+
| p.     | Run the Ant task 'clean' to clean appropriate directories.  |
|        | Run the following from the codebase directory:              |
| 2      |                                                             |
|        | ant clean                                                   |
+--------+-------------------------------------------------------------+
| q.  3  | Run the Ant task 'all' to compile all the code. Run the     |
|        | following from the codebase directory:                      |
| 3      |                                                             |
|        | ant all                                                     |
+--------+-------------------------------------------------------------+
| r.     | Run the Ant task 'deployTomcat' to deploy the services to   |
|        | Tomcat. Run the following from the codebase directory:      |
| 4      |                                                             |
|        | ant deployTomcat                                            |
|        |                                                             |
|        | Note: Each service can be installed separately by running   |
|        | the same ant task within the service's folder.              |
+--------+-------------------------------------------------------------+
| s.     | After all Ant tasks are complete, you can check if the      |
|        | services got deployed by checking the following directory   |
| 5      | in Tomcat.                                                  |
|        |                                                             |
|        | C:\\\<tomcat install dir\>\\webapps\\wsrf\\WEB-INF\\etc     |
|        |                                                             |
|        | ![](media/image16.png){width="5.031944444444444in"          |
|        | height="1.2041666666666666in"}                              |
+--------+-------------------------------------------------------------+
| t.     |                                                             |
+--------+-------------------------------------------------------------+

#### Hibernate Configuration Files

Once the services are installed, the Hibernate configuration files need
to be update with your database information. Each service has a jar file
which contains the Hibernate file to be updated.

+--------+-------------------------------------------------------------+
| Step   | Action                                                      |
+========+=============================================================+
| u.     | Go to the directory where Tomcat was installed. Change to   |
|        | the directory:                                              |
| 1      |                                                             |
|        | \<tomcat dir\>\\webapps\\wsrf\\WEB-INF\\lib                 |
|        |                                                             |
|        | Here is where you will find the jar files to be updated     |
+--------+-------------------------------------------------------------+
| v.     | Listed here are the services which use an Oracle database.  |
|        | See the next step for what lines to edit inside the         |
| 2      | hibernate configuration file.                               |
|        |                                                             |
|        | **Query service** :                                         |
|        |                                                             |
|        | jar file: \_queryservice.jar. hibernate file :              |
|        | hibernate.cfg.xml                                           |
|        |                                                             |
|        | **CAE Service**:                                            |
|        |                                                             |
|        | jar file: cae_domain.jar hibernate file :                   |
|        | cae-hibernate.cfg.xml                                       |
|        |                                                             |
|        | **CGEMS Service**:                                          |
|        |                                                             |
|        | jar file: cgems-domain.jar hibernate file :                 |
|        | cgems-hibernate.cfg.xml                                     |
|        |                                                             |
|        | **Tumor Registry Service**:                                 |
|        |                                                             |
|        | jar file: tumor_registry-domain.jar hibernate file :        |
|        | tumor-hibernate.cfg.xml                                     |
+--------+-------------------------------------------------------------+
| w.  3  | Edit the following highlighted areas with your Oracle       |
|        | database information:                                       |
| 3      |                                                             |
|        | **Connection URL:**                                         |
|        |                                                             |
|        | \<property                                                  |
|        | name=\"c                                                    |
|        | onnection.url\"\>jdbc:oracle:thin:@[localhost:1522:{service |
|        | name}]{.mark}\</property\>                                  |
|        |                                                             |
|        | **Connection Username :**                                   |
|        |                                                             |
|        | \<property                                                  |
|        | n                                                           |
|        | ame=\"connection.username\"\>[username]{.mark}\</property\> |
|        |                                                             |
|        | **Connection Password :**                                   |
|        |                                                             |
|        | \<property                                                  |
|        | n                                                           |
|        | ame=\"connection.password\"\>[password]{.mark}\</property\> |
+--------+-------------------------------------------------------------+
| x.     | Listed here are the services which use an MySQL database.   |
|        | See the next step for what lines to edit inside the         |
| 4      | hibernate configuration file.                               |
|        |                                                             |
|        | **caTIES Service:**                                         |
|        |                                                             |
|        | jar file: caties-domain.jar hibernate file :                |
|        | caties-hibernate.cfg.xml **caTissueCore Service:**          |
|        |                                                             |
|        | jar file: catissuecore-domain.jar hibernate file :          |
|        | catissue-hibernate.cfg.xml                                  |
+--------+-------------------------------------------------------------+
| y.  3  | Edit the following highlighted areas with your MySQL        |
|        | database information:                                       |
| 5      |                                                             |
|        | **Connection URL :**                                        |
|        |                                                             |
|        | \<property                                                  |
|        | name=\"connection.url\"\>jd                                 |
|        | bc:mysql://[localhost:3306/caties_ctrm]{.mark}\</property\> |
|        |                                                             |
|        | **Connection Username :**                                   |
|        |                                                             |
|        | \<property                                                  |
|        | n                                                           |
|        | ame=\"connection.username\"\>[username]{.mark}\</property\> |
|        |                                                             |
|        | **Connection Password :**                                   |
|        |                                                             |
|        | \<property                                                  |
|        | n                                                           |
|        | ame=\"connection.password\"\>[password]{.mark}\</property\> |
+--------+-------------------------------------------------------------+
| z.     |                                                             |
+--------+-------------------------------------------------------------+

#### caTRIP Configuration Files

Now the databases and web service are installed with the Hibernate files
up to date, it is time to update some configuration files to point to
the newly deployed web services.

+--------+-------------------------------------------------------------+
| Step   | Action                                                      |
+========+=============================================================+
| a.     | Go to where caTRIP was download and unzipped and change to  |
|        | the *gui* directory.                                        |
| 1      |                                                             |
|        | \<catrip directory\>\\codebase\\projects\\gui               |
+--------+-------------------------------------------------------------+
| b.     | Edit the build.properties file to set the location of the   |
|        | query service. This will be where your Tomcat is installed  |
| 2      |                                                             |
|        | query.sharing.url=http:                                     |
|        | //[localhost:8181]{.mark}/wsrf/services/cagrid/QueryService |
+--------+-------------------------------------------------------------+
| c.  3  | Now switch to the conf directory under gui:                 |
|        |                                                             |
| 3      | \<catrip directory\>\\codebase\\projects\\gui\\conf         |
|        |                                                             |
|        | Here is where the service-config.xml file is located. The   |
|        | location of each service is set in this file.               |
|        |                                                             |
|        | The ipaddress of each service location needs to be changed  |
|        | to point to where your service is installed e.g. localhost. |
|        |                                                             |
|        | \<catripService                                             |
|        | url=\"http:/                                                |
|        | /[152.16.96.114]{.mark}/wsrf/services/cagrid/CaTissueCore\" |
|        | s                                                           |
|        | erviceMetadataFileName=\"CaTissueCore_serviceMetadata.xml\" |
|        | domainModelFileName=\"caTissueCore_domainModel.xml\"/\>     |
+--------+-------------------------------------------------------------+
| d.  3  | Next the simple gui interface configuration file needs to   |
|        | be update with the location of the services as well. Switch |
| 4      | to the directory:                                           |
|        |                                                             |
|        | \<catrip                                                    |
|        | directory\>\\codebase\\projects\\gui\\conf\\simplegui       |
|        |                                                             |
|        | Here is where the SimpleGuiObjectGraph.xml file is located. |
|        | Search for the service tags (\<service) and change the      |
|        | location of the services for the simple gui interface.      |
|        |                                                             |
|        | The ipaddress of each service location needs to be changed  |
|        | to point to where your service is installed e.g. localhost. |
|        |                                                             |
|        | \<service displayName=\"Tissue Bank\"                       |
|        | url=[http://[152.                                           |
|        | 16.96.114]{.mark}/wsrf-0216/services/cagrid/CaTissueCore](h |
|        | ttp://152.16.96.114/wsrf-0216/services/cagrid/CaTissueCore) |
|        | ...                                                         |
+--------+-------------------------------------------------------------+

+-----------+----------------------------------------------------------+
| NOTE:     | #                                                        |
|           | ### For more information on configuration files, refer C |
| ![](      | onfiguration files section in Creating new data service  |
| media/ima |                                                          |
| ge17.wmf) |                                                          |
+-----------+----------------------------------------------------------+

### Creating new data service

#### Domain model setup

First step in creating a data service is to setup the domain model and
data model.

#### 

+--------+-------------------------------------------------------------+
| Step   | Action                                                      |
+========+=============================================================+
| e.     | Create data model using Enterprise Architect or your        |
|        | favorite data modeling tool. Database scripts can me        |
| 1      | created manually                                            |
+--------+-------------------------------------------------------------+
| f.     | Create the data base /schema                                |
|        |                                                             |
| 2      |                                                             |
+--------+-------------------------------------------------------------+
| g.  3  | Create object model using Enterprise Architect or your      |
|        | favorite modeling tool                                      |
| 3      |                                                             |
+--------+-------------------------------------------------------------+
| h.  3  | Generate Java Beans.                                        |
|        |                                                             |
| 4      |                                                             |
+--------+-------------------------------------------------------------+
| 5      | Perform Hibernate Mappings                                  |
|        |                                                             |
|        | Refer to                                                    |
|        | [http://www.hibernate.org](http://www.hibernate.org/)       |
+--------+-------------------------------------------------------------+
| 6      | Create hibernate configuration file with the following      |
|        | naming convention.                                          |
|        |                                                             |
|        | \<\<service_name\>\>\_hibernate.cfg.xml                     |
|        |                                                             |
|        | Replace \<\<service_name\>\> with the data service name.    |
|        | This name should be unique.                                 |
|        |                                                             |
|        | Refer to                                                    |
|        | [http://www.hibernate.org](http://www.hibernate.org/)       |
+--------+-------------------------------------------------------------+
| 7      | Create castor mapping xml file with the following naming    |
|        | convention.                                                 |
|        |                                                             |
|        | \<\<service_name\>\>-xml-mapping.xml.                       |
|        |                                                             |
|        | Replace \<\<service_name\>\> with the data service name.    |
|        | This name should be unique.                                 |
|        |                                                             |
|        | Refer to [http://www.castor.org](http://www.castor.org/)    |
+--------+-------------------------------------------------------------+
| 8      | Create domain model jar file which includes domain model    |
|        | class files, hibernate mapping files , castor mapping       |
|        | files. Save this domain model jar file for future use. Here |
|        | is the directory structure for **CAE** service              |
|        |                                                             |
|        | ![](media/image18.jpeg){width="5.030555555555556in"         |
|        | height="4.127777777777778in"}                               |
+--------+-------------------------------------------------------------+

#### Create data service using Introduce toolkit

**Introduce Toolkit** is a service creation toolkit built by caGrid
team. It supports easy developement and deployment of caBIG compatible
grid enabled data and analytical services. Introduce toolkit reduces the
service developers needing to manage the low level details of the WSRF
specification and integration with the Globus Toolkit.

+---+-------+---+------------------------------------------------------------+---+
|   | i.    |   | Refer to                                                   |   |
|   |       |   | <https://cabig.nci.nih.gov/workspaces/Architecture/caGrid> |   |
|   | 1     |   | for caGrid documentation.                                  |   |
|   |       |   |                                                            |   |
|   |       |   | Download caGrid code base.                                 |   |
|   |       |   |                                                            |   |
|   |       |   | Build caGrid code base.                                    |   |
|   |       |   |                                                            |   |
|   |       |   | Bring up Intrduce toolkit.                                 |   |
|   |       |   |                                                            |   |
|   |       |   | ![](media/image19.wmf){width="4.863888888888889in"         |   |
|   |       |   | height="3.0618055555555554in"}                             |   |
|   |       |   |                                                            |   |
|   |       |   | Click on "Create caBIG Service"                            |   |
+---+-------+---+------------------------------------------------------------+---+
|   | j.    |   | ![](media/image20.wmf){width="4.861111111111111in"         |   |
|   |       |   | height="3.8243055555555556in"}                             |   |
|   | 2     |   |                                                            |   |
|   |       |   | Fill all the four text fields. (CAE is the sample for      |   |
|   |       |   | service used as an example)                                |   |
|   |       |   |                                                            |   |
|   |       |   | Select "Data Service" radio button.                        |   |
|   |       |   |                                                            |   |
|   |       |   | Click "Create"                                             |   |
+---+-------+---+------------------------------------------------------------+---+
|   | k.  3 |   | ![](media/image21.jpeg){width="5.034722222222222in"        |   |
|   |       |   | height="1.9152777777777779in"}                             |   |
|   | 3     |   |                                                            |   |
|   |       |   | Select "Custom Data Source"                                |   |
|   |       |   |                                                            |   |
|   |       |   | Click "OK"                                                 |   |
+---+-------+---+------------------------------------------------------------+---+
|   | l.  3 |   | Service Interface                                          |   |
|   |       |   |                                                            |   |
|   | 4     |   | ![](media/image22.wmf){width="4.98125in"                   |   |
|   |       |   | height="2.6840277777777777in"}                             |   |
|   |       |   |                                                            |   |
|   |       |   | Click on "Data Service" Tab                                |   |
+---+-------+---+------------------------------------------------------------+---+
|   | 5     |   | ![](media/image23.wmf){width="4.85625in"                   |   |
|   |       |   | height="3.064583333333333in"}                              |   |
|   |       |   |                                                            |   |
|   |       |   | As we created our own domain model jar file we don't need  |   |
|   |       |   | to select any domain model this screen.                    |   |
|   |       |   |                                                            |   |
|   |       |   | Select "No Domain Model" radio button                      |   |
|   |       |   |                                                            |   |
|   |       |   | Click on "Query Processor" tab                             |   |
+---+-------+---+------------------------------------------------------------+---+
|   | 6     |   | Locate the query processor jar file                        |   |
|   |       |   | cagrid-caTrip-SdkQuery1.0.jar in                           |   |
|   |       |   |                                                            |   |
|   |       |   | "\<\<catrip_code_base\>\>/projects/catrip-custom-jars/lib. |   |
|   |       |   |                                                            |   |
|   |       |   | ![](media/image24.wmf){width="4.975694444444445in"         |   |
|   |       |   | height="2.7645833333333334in"}                             |   |
|   |       |   |                                                            |   |
|   |       |   | Click "Add Jar" which would open your file system and then |   |
|   |       |   | select cagrid-caTrip-SdkQuery1.0.jar from caTRIP           |   |
|   |       |   | distribution                                               |   |
+---+-------+---+------------------------------------------------------------+---+
|   | 7     |   | ![](media/image25.wmf){width="4.98125in"                   |   |
|   |       |   | height="3.2875in"}                                         |   |
|   |       |   |                                                            |   |
|   |       |   | Select                                                     |   |
|   |       |   | "gov.                                                      |   |
|   |       |   | nih.nci.cagrid.data.cql.cacore.LocalHQLCoreQueryProcessor" |   |
|   |       |   | from "Selected Class" drop down list.                      |   |
|   |       |   |                                                            |   |
|   |       |   | Modify hibernateConfigFile Current Value to                |   |
|   |       |   | ca-hibernate.cfg.xml (this is the file from step \# 3.1.3  |   |
|   |       |   |                                                            |   |
|   |       |   | Click Save to save the data service.                       |   |
+---+-------+---+------------------------------------------------------------+---+
| 8 |       | G |                                                            |   |
|   |       | o |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | t |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | f |                                                            |   |
|   |       | o |                                                            |   |
|   |       | l |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | w |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | e |                                                            |   |
|   |       | y |                                                            |   |
|   |       | o |                                                            |   |
|   |       | u |                                                            |   |
|   |       | c |                                                            |   |
|   |       | r |                                                            |   |
|   |       | e |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | e |                                                            |   |
|   |       | d |                                                            |   |
|   |       | t |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | l |                                                            |   |
|   |       | o |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | o |                                                            |   |
|   |       | n |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | . |                                                            |   |
|   |       |   |                                                            |   |
|   |       | / |                                                            |   |
|   |       | U |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | s |                                                            |   |
|   |       | a |                                                            |   |
|   |       | k |                                                            |   |
|   |       | k |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | a |                                                            |   |
|   |       | / |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | e |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | t |                                                            |   |
|   |       | h |                                                            |   |
|   |       | i |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | x |                                                            |   |
|   |       | a |                                                            |   |
|   |       | m |                                                            |   |
|   |       | p |                                                            |   |
|   |       | l |                                                            |   |
|   |       | e |                                                            |   |
|   |       |   |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | - |                                                            |   |
|   |       | C |                                                            |   |
|   |       | o |                                                            |   |
|   |       | p |                                                            |   |
|   |       | y |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | l |                                                            |   |
|   |       | t |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | j |                                                            |   |
|   |       | a |                                                            |   |
|   |       | r |                                                            |   |
|   |       | s |                                                            |   |
|   |       | f |                                                            |   |
|   |       | r |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | " |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | b |                                                            |   |
|   |       | a |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | / |                                                            |   |
|   |       | p |                                                            |   |
|   |       | r |                                                            |   |
|   |       | o |                                                            |   |
|   |       | j |                                                            |   |
|   |       | e |                                                            |   |
|   |       | c |                                                            |   |
|   |       | t |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | - |                                                            |   |
|   |       | c |                                                            |   |
|   |       | u |                                                            |   |
|   |       | s |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | - |                                                            |   |
|   |       | j |                                                            |   |
|   |       | a |                                                            |   |
|   |       | r |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | b |                                                            |   |
|   |       | " |                                                            |   |
|   |       |   |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | l |                                                            |   |
|   |       | o |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | o |                                                            |   |
|   |       | n |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | / |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | b |                                                            |   |
|   |       | . |                                                            |   |
|   |       | R |                                                            |   |
|   |       | e |                                                            |   |
|   |       | p |                                                            |   |
|   |       | l |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | t |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | e |                                                            |   |
|   |       | x |                                                            |   |
|   |       | i |                                                            |   |
|   |       | s |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | j |                                                            |   |
|   |       | a |                                                            |   |
|   |       | r |                                                            |   |
|   |       | s |                                                            |   |
|   |       | . |                                                            |   |
|   |       |   |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | - |                                                            |   |
|   |       | C |                                                            |   |
|   |       | o |                                                            |   |
|   |       | p |                                                            |   |
|   |       | y |                                                            |   |
|   |       | 1 |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | g |                                                            |   |
|   |       | o |                                                            |   |
|   |       | v |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | i |                                                            |   |
|   |       | h |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | g |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | d |                                                            |   |
|   |       | . |                                                            |   |
|   |       | C |                                                            |   |
|   |       | Q |                                                            |   |
|   |       | L |                                                            |   |
|   |       | Q |                                                            |   |
|   |       | u |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | y |                                                            |   |
|   |       | . |                                                            |   |
|   |       | x |                                                            |   |
|   |       | s |                                                            |   |
|   |       | d |                                                            |   |
|   |       | f |                                                            |   |
|   |       | r |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | " |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | b |                                                            |   |
|   |       | a |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | / |                                                            |   |
|   |       | p |                                                            |   |
|   |       | r |                                                            |   |
|   |       | o |                                                            |   |
|   |       | j |                                                            |   |
|   |       | e |                                                            |   |
|   |       | c |                                                            |   |
|   |       | t |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | - |                                                            |   |
|   |       | c |                                                            |   |
|   |       | u |                                                            |   |
|   |       | s |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | - |                                                            |   |
|   |       | j |                                                            |   |
|   |       | a |                                                            |   |
|   |       | r |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | s |                                                            |   |
|   |       | c |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | " |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | l |                                                            |   |
|   |       | o |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | o |                                                            |   |
|   |       | n |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | / |                                                            |   |
|   |       | s |                                                            |   |
|   |       | c |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | / |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | n |                                                            |   |
|   |       | a |                                                            |   |
|   |       | m |                                                            |   |
|   |       | e |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | / |                                                            |   |
|   |       | s |                                                            |   |
|   |       | c |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | . |                                                            |   |
|   |       | R |                                                            |   |
|   |       | e |                                                            |   |
|   |       | p |                                                            |   |
|   |       | l |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | e |                                                            |   |
|   |       | x |                                                            |   |
|   |       | i |                                                            |   |
|   |       | s |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | s |                                                            |   |
|   |       | c |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | . |                                                            |   |
+---+-------+---+------------------------------------------------------------+---+
| 9 |       | A |                                                            |   |
|   |       | d |                                                            |   |
|   |       | d |                                                            |   |
|   |       | t |                                                            |   |
|   |       | y |                                                            |   |
|   |       | p |                                                            |   |
|   |       | e |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | p |                                                            |   |
|   |       | p |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | s |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | l |                                                            |   |
|   |       | d |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | m |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | l |                                                            |   |
|   |       | c |                                                            |   |
|   |       | l |                                                            |   |
|   |       | a |                                                            |   |
|   |       | s |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | s |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | l |                                                            |   |
|   |       | o |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | o |                                                            |   |
|   |       | n |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | / |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | - |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | n |                                                            |   |
|   |       | f |                                                            |   |
|   |       | i |                                                            |   |
|   |       | g |                                                            |   |
|   |       | . |                                                            |   |
|   |       | w |                                                            |   |
|   |       | s |                                                            |   |
|   |       | d |                                                            |   |
|   |       | d |                                                            |   |
|   |       | . |                                                            |   |
|   |       |   |                                                            |   |
|   |       | S |                                                            |   |
|   |       | a |                                                            |   |
|   |       | m |                                                            |   |
|   |       | p |                                                            |   |
|   |       | l |                                                            |   |
|   |       | e |                                                            |   |
|   |       | f |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | t |                                                            |   |
|   |       | w |                                                            |   |
|   |       | o |                                                            |   |
|   |       | o |                                                            |   |
|   |       | b |                                                            |   |
|   |       | j |                                                            |   |
|   |       | e |                                                            |   |
|   |       | c |                                                            |   |
|   |       | t |                                                            |   |
|   |       | s |                                                            |   |
|   |       | . |                                                            |   |
|   |       | S |                                                            |   |
|   |       | p |                                                            |   |
|   |       | e |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | n |                                                            |   |
|   |       | a |                                                            |   |
|   |       | n |                                                            |   |
|   |       | d |                                                            |   |
|   |       | P |                                                            |   |
|   |       | a |                                                            |   |
|   |       | r |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | a |                                                            |   |
|   |       | n |                                                            |   |
|   |       | t |                                                            |   |
|   |       |   |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 3 |                                                            |   |
|   |       | : |                                                            |   |
|   |       | t |                                                            |   |
|   |       | y |                                                            |   |
|   |       | p |                                                            |   |
|   |       | e |                                                            |   |
|   |       | M |                                                            |   |
|   |       | a |                                                            |   |
|   |       | p |                                                            |   |
|   |       | p |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | : |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 3 |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | h |                                                            |   |
|   |       | t |                                                            |   |
|   |       | t |                                                            |   |
|   |       | p |                                                            |   |
|   |       | : |                                                            |   |
|   |       | / |                                                            |   |
|   |       | / |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | . |                                                            |   |
|   |       | a |                                                            |   |
|   |       | p |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | g |                                                            |   |
|   |       | / |                                                            |   |
|   |       | a |                                                            |   |
|   |       | x |                                                            |   |
|   |       | i |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | w |                                                            |   |
|   |       | s |                                                            |   |
|   |       | d |                                                            |   |
|   |       | d |                                                            |   |
|   |       | / |                                                            |   |
|   |       | " |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | : |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 1 |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | h |                                                            |   |
|   |       | t |                                                            |   |
|   |       | t |                                                            |   |
|   |       | p |                                                            |   |
|   |       | : |                                                            |   |
|   |       | / |                                                            |   |
|   |       | / |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | . |                                                            |   |
|   |       | a |                                                            |   |
|   |       | p |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | g |                                                            |   |
|   |       | / |                                                            |   |
|   |       | a |                                                            |   |
|   |       | x |                                                            |   |
|   |       | i |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | w |                                                            |   |
|   |       | s |                                                            |   |
|   |       | d |                                                            |   |
|   |       | d |                                                            |   |
|   |       | / |                                                            |   |
|   |       | p |                                                            |   |
|   |       | r |                                                            |   |
|   |       | o |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | j |                                                            |   |
|   |       | a |                                                            |   |
|   |       | v |                                                            |   |
|   |       | a |                                                            |   |
|   |       | " |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | : |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 2 |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | g |                                                            |   |
|   |       | m |                                                            |   |
|   |       | e |                                                            |   |
|   |       | : |                                                            |   |
|   |       | / |                                                            |   |
|   |       | / |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | T |                                                            |   |
|   |       | i |                                                            |   |
|   |       | s |                                                            |   |
|   |       | s |                                                            |   |
|   |       | u |                                                            |   |
|   |       | e |                                                            |   |
|   |       | C |                                                            |   |
|   |       | A |                                                            |   |
|   |       | E |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | B |                                                            |   |
|   |       | I |                                                            |   |
|   |       | G |                                                            |   |
|   |       | / |                                                            |   |
|   |       | 1 |                                                            |   |
|   |       | . |                                                            |   |
|   |       | 0 |                                                            |   |
|   |       | / |                                                            |   |
|   |       | e |                                                            |   |
|   |       | d |                                                            |   |
|   |       | u |                                                            |   |
|   |       | . |                                                            |   |
|   |       | d |                                                            |   |
|   |       | u |                                                            |   |
|   |       | k |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | d |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | . |                                                            |   |
|   |       | g |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | " |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | S |                                                            |   |
|   |       | t |                                                            |   |
|   |       | y |                                                            |   |
|   |       | l |                                                            |   |
|   |       | e |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | " |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | z |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | g |                                                            |   |
|   |       | o |                                                            |   |
|   |       | v |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | i |                                                            |   |
|   |       | h |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | g |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | d |                                                            |   |
|   |       | . |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | . |                                                            |   |
|   |       | S |                                                            |   |
|   |       | D |                                                            |   |
|   |       | K |                                                            |   |
|   |       | S |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | z |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | F |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | y |                                                            |   |
|   |       | " |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | z |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | g |                                                            |   |
|   |       | o |                                                            |   |
|   |       | v |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | i |                                                            |   |
|   |       | h |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | g |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | d |                                                            |   |
|   |       | . |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | . |                                                            |   |
|   |       | S |                                                            |   |
|   |       | D |                                                            |   |
|   |       | K |                                                            |   |
|   |       | D |                                                            |   |
|   |       | e |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | z |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | F |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | y |                                                            |   |
|   |       | " |                                                            |   |
|   |       | t |                                                            |   |
|   |       | y |                                                            |   |
|   |       | p |                                                            |   |
|   |       | e |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 1 |                                                            |   |
|   |       | : |                                                            |   |
|   |       | e |                                                            |   |
|   |       | d |                                                            |   |
|   |       | u |                                                            |   |
|   |       | . |                                                            |   |
|   |       | d |                                                            |   |
|   |       | u |                                                            |   |
|   |       | k |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | d |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | . |                                                            |   |
|   |       | g |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | . |                                                            |   |
|   |       | S |                                                            |   |
|   |       | p |                                                            |   |
|   |       | e |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | m |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | " |                                                            |   |
|   |       | q |                                                            |   |
|   |       | n |                                                            |   |
|   |       | a |                                                            |   |
|   |       | m |                                                            |   |
|   |       | e |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 2 |                                                            |   |
|   |       | : |                                                            |   |
|   |       | S |                                                            |   |
|   |       | p |                                                            |   |
|   |       | e |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | m |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | " |                                                            |   |
|   |       | / |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       |   |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 3 |                                                            |   |
|   |       | : |                                                            |   |
|   |       | t |                                                            |   |
|   |       | y |                                                            |   |
|   |       | p |                                                            |   |
|   |       | e |                                                            |   |
|   |       | M |                                                            |   |
|   |       | a |                                                            |   |
|   |       | p |                                                            |   |
|   |       | p |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | : |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 3 |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | h |                                                            |   |
|   |       | t |                                                            |   |
|   |       | t |                                                            |   |
|   |       | p |                                                            |   |
|   |       | : |                                                            |   |
|   |       | / |                                                            |   |
|   |       | / |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | . |                                                            |   |
|   |       | a |                                                            |   |
|   |       | p |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | g |                                                            |   |
|   |       | / |                                                            |   |
|   |       | a |                                                            |   |
|   |       | x |                                                            |   |
|   |       | i |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | w |                                                            |   |
|   |       | s |                                                            |   |
|   |       | d |                                                            |   |
|   |       | d |                                                            |   |
|   |       | / |                                                            |   |
|   |       | " |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | : |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 1 |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | h |                                                            |   |
|   |       | t |                                                            |   |
|   |       | t |                                                            |   |
|   |       | p |                                                            |   |
|   |       | : |                                                            |   |
|   |       | / |                                                            |   |
|   |       | / |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | . |                                                            |   |
|   |       | a |                                                            |   |
|   |       | p |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | h |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | g |                                                            |   |
|   |       | / |                                                            |   |
|   |       | a |                                                            |   |
|   |       | x |                                                            |   |
|   |       | i |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | w |                                                            |   |
|   |       | s |                                                            |   |
|   |       | d |                                                            |   |
|   |       | d |                                                            |   |
|   |       | / |                                                            |   |
|   |       | p |                                                            |   |
|   |       | r |                                                            |   |
|   |       | o |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | s |                                                            |   |
|   |       | / |                                                            |   |
|   |       | j |                                                            |   |
|   |       | a |                                                            |   |
|   |       | v |                                                            |   |
|   |       | a |                                                            |   |
|   |       | " |                                                            |   |
|   |       | x |                                                            |   |
|   |       | m |                                                            |   |
|   |       | l |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | : |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 2 |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | g |                                                            |   |
|   |       | m |                                                            |   |
|   |       | e |                                                            |   |
|   |       | : |                                                            |   |
|   |       | / |                                                            |   |
|   |       | / |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | T |                                                            |   |
|   |       | i |                                                            |   |
|   |       | s |                                                            |   |
|   |       | s |                                                            |   |
|   |       | u |                                                            |   |
|   |       | e |                                                            |   |
|   |       | C |                                                            |   |
|   |       | A |                                                            |   |
|   |       | E |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | B |                                                            |   |
|   |       | I |                                                            |   |
|   |       | G |                                                            |   |
|   |       | / |                                                            |   |
|   |       | 1 |                                                            |   |
|   |       | . |                                                            |   |
|   |       | 0 |                                                            |   |
|   |       | / |                                                            |   |
|   |       | e |                                                            |   |
|   |       | d |                                                            |   |
|   |       | u |                                                            |   |
|   |       | . |                                                            |   |
|   |       | d |                                                            |   |
|   |       | u |                                                            |   |
|   |       | k |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | d |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | . |                                                            |   |
|   |       | g |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | " |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | S |                                                            |   |
|   |       | t |                                                            |   |
|   |       | y |                                                            |   |
|   |       | l |                                                            |   |
|   |       | e |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | " |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | z |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | g |                                                            |   |
|   |       | o |                                                            |   |
|   |       | v |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | i |                                                            |   |
|   |       | h |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | g |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | d |                                                            |   |
|   |       | . |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | . |                                                            |   |
|   |       | S |                                                            |   |
|   |       | D |                                                            |   |
|   |       | K |                                                            |   |
|   |       | S |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | z |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | F |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | y |                                                            |   |
|   |       | " |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | z |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | g |                                                            |   |
|   |       | o |                                                            |   |
|   |       | v |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | i |                                                            |   |
|   |       | h |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | g |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | d |                                                            |   |
|   |       | . |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | . |                                                            |   |
|   |       | S |                                                            |   |
|   |       | D |                                                            |   |
|   |       | K |                                                            |   |
|   |       | D |                                                            |   |
|   |       | e |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | i |                                                            |   |
|   |       | z |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | F |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | y |                                                            |   |
|   |       | " |                                                            |   |
|   |       | t |                                                            |   |
|   |       | y |                                                            |   |
|   |       | p |                                                            |   |
|   |       | e |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 1 |                                                            |   |
|   |       | : |                                                            |   |
|   |       | e |                                                            |   |
|   |       | d |                                                            |   |
|   |       | u |                                                            |   |
|   |       | . |                                                            |   |
|   |       | d |                                                            |   |
|   |       | u |                                                            |   |
|   |       | k |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | . |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | e |                                                            |   |
|   |       | . |                                                            |   |
|   |       | d |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | . |                                                            |   |
|   |       | g |                                                            |   |
|   |       | e |                                                            |   |
|   |       | n |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | . |                                                            |   |
|   |       | P |                                                            |   |
|   |       | a |                                                            |   |
|   |       | r |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | a |                                                            |   |
|   |       | n |                                                            |   |
|   |       | t |                                                            |   |
|   |       | " |                                                            |   |
|   |       | q |                                                            |   |
|   |       | n |                                                            |   |
|   |       | a |                                                            |   |
|   |       | m |                                                            |   |
|   |       | e |                                                            |   |
|   |       | = |                                                            |   |
|   |       | " |                                                            |   |
|   |       | n |                                                            |   |
|   |       | s |                                                            |   |
|   |       | 2 |                                                            |   |
|   |       | : |                                                            |   |
|   |       | P |                                                            |   |
|   |       | a |                                                            |   |
|   |       | r |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | p |                                                            |   |
|   |       | a |                                                            |   |
|   |       | n |                                                            |   |
|   |       | t |                                                            |   |
|   |       | " |                                                            |   |
|   |       | / |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
+---+-------+---+------------------------------------------------------------+---+
| 1 |       | B |                                                            |   |
| 0 |       | u |                                                            |   |
|   |       | i |                                                            |   |
|   |       | l |                                                            |   |
|   |       | d |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | b |                                                            |   |
|   |       | y |                                                            |   |
|   |       | e |                                                            |   |
|   |       | x |                                                            |   |
|   |       | e |                                                            |   |
|   |       | c |                                                            |   |
|   |       | u |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | " |                                                            |   |
|   |       | a |                                                            |   |
|   |       | n |                                                            |   |
|   |       | t |                                                            |   |
|   |       | a |                                                            |   |
|   |       | l |                                                            |   |
|   |       | l |                                                            |   |
|   |       | " |                                                            |   |
|   |       | f |                                                            |   |
|   |       | r |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | l |                                                            |   |
|   |       | o |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | o |                                                            |   |
|   |       | n |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
+---+-------+---+------------------------------------------------------------+---+
| 1 |       | D |                                                            |   |
| 1 |       | e |                                                            |   |
|   |       | p |                                                            |   |
|   |       | l |                                                            |   |
|   |       | o |                                                            |   |
|   |       | y |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | t |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | b |                                                            |   |
|   |       | y |                                                            |   |
|   |       | e |                                                            |   |
|   |       | x |                                                            |   |
|   |       | e |                                                            |   |
|   |       | c |                                                            |   |
|   |       | u |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | " |                                                            |   |
|   |       | a |                                                            |   |
|   |       | n |                                                            |   |
|   |       | t |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | p |                                                            |   |
|   |       | l |                                                            |   |
|   |       | o |                                                            |   |
|   |       | y |                                                            |   |
|   |       | T |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | " |                                                            |   |
|   |       | f |                                                            |   |
|   |       | r |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | < |                                                            |   |
|   |       | s |                                                            |   |
|   |       | e |                                                            |   |
|   |       | r |                                                            |   |
|   |       | v |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | e |                                                            |   |
|   |       | _ |                                                            |   |
|   |       | l |                                                            |   |
|   |       | o |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | i |                                                            |   |
|   |       | o |                                                            |   |
|   |       | n |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
|   |       | \ |                                                            |   |
|   |       | > |                                                            |   |
+---+-------+---+------------------------------------------------------------+---+
| 1 |       | C |                                                            |   |
| 2 |       | r |                                                            |   |
|   |       | e |                                                            |   |
|   |       | a |                                                            |   |
|   |       | t |                                                            |   |
|   |       | e |                                                            |   |
|   |       | d |                                                            |   |
|   |       | o |                                                            |   |
|   |       | m |                                                            |   |
|   |       | a |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | m |                                                            |   |
|   |       | o |                                                            |   |
|   |       | d |                                                            |   |
|   |       | e |                                                            |   |
|   |       | l |                                                            |   |
|   |       | e |                                                            |   |
|   |       | x |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | t |                                                            |   |
|   |       | u |                                                            |   |
|   |       | s |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | g |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | C |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | e |                                                            |   |
|   |       | S |                                                            |   |
|   |       | D |                                                            |   |
|   |       | K |                                                            |   |
|   |       | . |                                                            |   |
|   |       |   |                                                            |   |
|   |       | < |                                                            |   |
|   |       | h |                                                            |   |
|   |       | t |                                                            |   |
|   |       | t |                                                            |   |
|   |       | p |                                                            |   |
|   |       | : |                                                            |   |
|   |       | / |                                                            |   |
|   |       | / |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | c |                                                            |   |
|   |       | b |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | c |                                                            |   |
|   |       | i |                                                            |   |
|   |       | . |                                                            |   |
|   |       | n |                                                            |   |
|   |       | i |                                                            |   |
|   |       | h |                                                            |   |
|   |       | . |                                                            |   |
|   |       | g |                                                            |   |
|   |       | o |                                                            |   |
|   |       | v |                                                            |   |
|   |       | / |                                                            |   |
|   |       | i |                                                            |   |
|   |       | n |                                                            |   |
|   |       | f |                                                            |   |
|   |       | r |                                                            |   |
|   |       | a |                                                            |   |
|   |       | s |                                                            |   |
|   |       | t |                                                            |   |
|   |       | r |                                                            |   |
|   |       | u |                                                            |   |
|   |       | c |                                                            |   |
|   |       | t |                                                            |   |
|   |       | u |                                                            |   |
|   |       | r |                                                            |   |
|   |       | e |                                                            |   |
|   |       | / |                                                            |   |
|   |       | c |                                                            |   |
|   |       | a |                                                            |   |
|   |       | c |                                                            |   |
|   |       | o |                                                            |   |
|   |       | r |                                                            |   |
|   |       | e |                                                            |   |
|   |       | s |                                                            |   |
|   |       | d |                                                            |   |
|   |       | k |                                                            |   |
|   |       | > |                                                            |   |
+---+-------+---+------------------------------------------------------------+---+

#### 

#### 

#### Query Builder Configuration Files

> Configuration files are located in
> \<\<catrip_code_base\>\>/projects/gui/conf directory of caTRIP
> distribution.
>
> Most of the complexity of the Advanced Query Builder are hidden in the
> Basic Query Builder with the help of a configuration file. This
> configuration file stores the information regarding the pre-defined
> Backbone Target objects, their association path and role names with
> other classes in the same service, and the association path through
> which they can be "joined" with other (foreign) services to make a
> cross-service DCQL query.
>
> ![](media/image26.wmf){width="5.847222222222222in"
> height="4.777777777777778in"}
>
> *Snapshot of Basic Query Builder Configuration schema*
>
> **[Configuring simple-gui.xml]{.underline}**. Let us go through each
> element on this xml file. Take a look at the above XML schema for
> reference.
>
> **[\<service\> Element (1..\*)]{.underline}**
>
> Each data service details should be configured in **service** element.
>
> Let us look at a sample example with TumorRegistry and CGEMS services.
>
> ![](media/image27.png){width="6.499305555555556in"
> height="0.7638888888888888in"}
>
> *displayName --* Name of the service as it appears in Basic Query
> Builder UI.
>
> *url --* Data Service EPR
>
> *metadataXML --* name of domain model extract file.
>
> *impls* -- this flag can have true/false . If Class names ends with
> Impl this flag should be "true"
>
> **[\<objectElement\> Element (1..\*)]{.underline}**
>
> ![](media/image28.png){width="6.492361111111111in"
> height="1.0326388888888889in"}
>
> List of back bone objects are listed as *objectElements* in
> \<**targets**\> container.
>
> *className --* Fully qualified class name of the back bone object.
>
> *supportReturnAttributes --* "true" if this service allows selection
> of return attributes.
>
> *Note: All objects may not support return attributes because there
> should be a bidirectional association between target object and
> associated object to support this feature*
>
> *displayableAttributes* -- List of attributes of back bone object on
> which user can set filters.
>
> **[\< associatedObjectTree \> Element (1)]{.underline}**
>
> ![](media/image29.wmf){width="6.493055555555555in" height="6.48125in"}
>
> *CGEMS Object model snap shot*
>
> Above Figure is a snap shot of CGEMS object model with few objects.
>
> Target object *Patient* is directly associated with *Diagnosis.*
>
> *Patient* is associated to *Activity* via *Diagnosis.*
>
> *Patient* is associated to *Followup* via *Diagnosis.*
>
> *Patient* is associated to *Recurrence* via *Diagnosis via Followup*
>
> assoiatedObjectTree defines the Association path from the Target class
> to any other class defined in the association tree, thus eliminating
> the need for the end user to link the classes like in the Advanced
> GUI.
>
> Below XML shows how these associations are configured in the
> configuration file using Association element within
> associatedObjectTree element.
>
> ![](media/image30.wmf){width="6.492361111111111in"
> height="3.895138888888889in"}
>
> Attributes in **Association** tag :
>
> *ClassName*: Fully qualified class name.
>
> *displayableAttributes*: List of attributes of back bone object on
> which user can set filters.
>
> *roleName*: Association role name with high level Association or
> objectElement in the tree.
>
> *display*: Some association classes are used to connect the lower
> associations , not necessarily to set any filters. "false" to not
> allow any filters on any attributes of this class.
>
> **[\< foreignAssociationOutboundPath \> Element (1)]{.underline}**

***[TUMOR REGISTRY DATA SERVICE]{.underline}***

![](media/image31.wmf){width="4.638888888888889in"
height="6.208333333333333in"}

> ![](media/image32.png){width="6.492361111111111in"
> height="0.6590277777777778in"}
>
> In order to link/join a Target class with other services (a foreign
> service in this context), it has a predefined association path to a
> class that has a linking CDE that is common across the services to be
> joined. Above listing shows a class called ParticipantIdentifier which
> has a linking CDE called MedicalRecordNumber.
>
> *cdeName --* name of the common atrribute
>
> *className --* fully qualified class name
>
> *roleName --* role name from target object to this class*.*
>
> **[\< foreignAssociationInboundTree \> Element (1...\*)]{.underline}**
>
> Assume Tumor Registry service metioned above needs to associate with
> CGEMS service
>
> ***[CGEMS DATA SERVICE]{.underline}***
>
> ![](media/image33.wmf){width="5.958333333333333in"
> height="4.090277777777778in"}
>
> Similarly, in order to have query filters from foreign services, each
> such filter class should have a pre-defined association path from the
> class which has the linking CDE to the filter class. Above listing
> shows an example a filter class is *SNPAnalysisGroup* and
> *SNPAssociationAnalysis* and the linking class is *StudyParticipant*
> and linking CDE is *studySubjectIdentifier*.
>
> ![](media/image34.wmf){width="6.495138888888889in"
> height="2.7423611111111112in"}

#### 

> **[Configure catrip-config.xml]{.underline}**.
>
> AdvanceGUI picks up the list of services either from Index service or
> services-config.xml file based on the configuration in
> catrip-config.xml file. This file is also located in ..gui/config
> directory.
>
> Index service URL and available identity providers can be configured
> in this file.
>
> *\<indexService use=\"false\" name=\"Local Index Service\"
> url=\"\<\<INDEX SERVICE EPR\"/\>*
>
> **Index service information.**
>
> *use* -- caTRIP applications works with or withour using index
> service. If you want the data services to be discovered from an index
> service value of use should be "true". If this value is false , the
> list of services are picked up from services-config.xml
>
> *name* -- name of the index service.
>
> *url* -- End point reference(EPR) of the index service.
>
> *\<federatedQueryEngineService name=\"Local\" url=\"http://..."/\>*
>
> Federated Query Engine name and EPR. This feature is not supported in
> current release. Don't make any changes for
> federatedQueryEngineService
>
> You can configure available Identity providers in
> \<gridIndentityProviders\> tag. Refer to the Security Section for more
> information.
>
> ![](media/image35.wmf){width="6.497222222222222in"
> height="1.6083333333333334in"}

*name* : Name to appear in caTRIP GUI login screen. Should be unique.

*idpUrl* : Authentication Service EPR

*dorianUrl* : Dorian Service EPR.

**[Configuring services-config.xml]{.underline}**.

This file is also located in ..gui/config directory , contains URLS of
each data services and filenames of corresponding domain model extract
and service meta data . This information is used by Advanced GUI if
indexService is use="false".

![](media/image36.png){width="6.498611111111111in"
height="0.9208333333333333in"}

*url* : Data Service EPR

*serviceMetadataFileName* : service metadata file name.

*domainModelFileName* : Domain model extract file name.

### Testing the Application

At this point, everything is installed and we can test the application
before bundling it into a Webstart application for others to use.

+--------+-------------------------------------------------------------+
| Step   | Action                                                      |
+========+=============================================================+
| m.     | Start Tomcat.                                               |
|        |                                                             |
| 1      | \<tomcat directory\>/bin/startup.bat                        |
+--------+-------------------------------------------------------------+
| n.     | Open a command window and change to the gui directory where |
|        | caTRIP was installed                                        |
| 2      |                                                             |
|        | \<catrip directory\>/codebase/projects/gui                  |
|        |                                                             |
|        | Execute the Ant task 'run'                                  |
|        |                                                             |
|        | ant run                                                     |
|        |                                                             |
|        | This will start the application.                            |
|        |                                                             |
|        | ![](media/image37.png){width="2.857638888888889in"          |
|        | height="2.272222222222222in"}                               |
+--------+-------------------------------------------------------------+
| o.     | From the splash screen press the 'Proceed for Login' button |
|        | to move to the login screen                                 |
| 3      |                                                             |
|        | ![](media/image38.png){width="3.0236111111111112in"         |
|        | height="1.2569444444444444in"}                              |
+--------+-------------------------------------------------------------+
| p.  3  | From the login screen press 'Login' to continue to the      |
|        | simple qui interface.                                       |
| 4      |                                                             |
+--------+-------------------------------------------------------------+
| q.  3  | If you have not loaded the Tumor Registry test data yet     |
|        | load it now. After loading change the Target Data Element   |
| 5      | and Data Source to the values for the Tumor Registry.       |
|        |                                                             |
|        | ![](media/image39.png){width="4.610416666666667in"          |
|        | height="1.0486111111111112in"}                              |
+--------+-------------------------------------------------------------+
| r.  3  | Press the Execute Query button. You will see all the data   |
|        | from the Tumor Registry data source.                        |
| 5      |                                                             |
|        | ![](media/image40.png){width="5.023611111111111in"          |
|        | height="2.9166666666666665in"}                              |
+--------+-------------------------------------------------------------+
| s.  3  | Test the other services by changing the target data element |
|        | which will change the initial data source drop down. Change |
| 6      | the initial data source drop down to each entry and press   |
|        | the Execute Query button.                                   |
|        |                                                             |
|        | ![](media/image41.png){width="4.236111111111111in"          |
|        | height="1.0145833333333334in"}                              |
|        |                                                             |
|        | No records will be returned if you have no data for a data  |
|        | source. Look for any service errors regardless if you have  |
|        | data or not. If you have an error, redeploy the services    |
|        | again.                                                      |
+--------+-------------------------------------------------------------+
| t.  3  | See the User's Guide on how to create more complex queries. |
|        |                                                             |
| 6      | User's Guide can be found at :                              |
|        | <https://gforge.nci.nih.gov/projects/catrip/>               |
+--------+-------------------------------------------------------------+

### Creating a Webstart Application

**Java Web Start** is a framework allows application to be started
directly from the Internet using a web browser. Unlike Java applets, Web
Start applications do not run inside the browser, and the sandbox in
which they run does not have to be as restricted, although this can be
configured. A JNLP file is hosted on the tomcat, which can be downloaded
to clients machine. JNLP file include information such as the location
of the jar package file and the name of the main class for the
application, in addition to any other parameters for the program. With a
properly configured browser, JNLP files are passed to a Java Runtime
Environment, which in turn downloads the application onto the user\'s
machine and starts executing it.

**Instructions to install caTRIP web start web application on tomcat.**

+--------+-------------------------------------------------------------+
| Step   | Action                                                      |
+========+=============================================================+
| u.     | In \<catrip-codebase\>/projects/gui                         |
|        |                                                             |
| 1      | ant webstart-build: Build WebStart Version of caTrip        |
|        | Application.                                                |
|        |                                                             |
|        | Creates a dir in the gui folder named                       |
|        | \"gui/webstart-build\" which is the final deployment image. |
|        | then it signs the jars in \"webstart-build/lib\" directory. |
+--------+-------------------------------------------------------------+
| v.     | ant webstart-deploy-tomcat: Deploy WebStart Version of      |
|        | caTrip Application on Tomcat.                               |
| 2      |                                                             |
|        | Prompts for the server URL and will modifies the files in   |
|        | the \"webstart-build\" dir and copy them to                 |
|        | \${env.CATALINA_HOME}/webapps/catrip-webstart folder.       |
+--------+-------------------------------------------------------------+
| w.  3  | ant webstart-test: Test WebStart Version of caTrip          |
|        | Application, without deployment on tomcat.                  |
| 3      |                                                             |
+--------+-------------------------------------------------------------+

### Security

> In caTRIP, authentication is implemented using caGrid Authentication
> framework. We have also implemented Windows NT authentication, and
> plugged this into caGrid Authentication framework. When security is
> deployed locally, an administrator will have to plug in an
> institutional authentication module or use Dorian. In the later, users
> will get logins from the Dorian system administrator.

#### NT Authentication

1.  User should authenticate using his/her Duke NT credentials via
    caTRIP GUI

2.  caTRIP first authenticates with local NT credential provider via the
    Windows NT authentication service and obtains a SAML assertion as
    proof they authenticated. (Windows NT host and domain information is
    configurable, so implementation works for any Windows NT system)

3.  SAML assertion provided by the authentication service to obtain grid
    credentials from Dorian. (NT authentication service at Duke is
    registered with Dorian as a trusted identity provider)

4.  Dorian will issue grid credentials to the caTRIP GUI application.

5.  Once GUI obtains grid credentials from Dorian GUI allows the user to
    login. User builds and executes queries on multiple secured data
    services.

6.  Upon receiving grid credentials from a user, a secure data service
    authenticates the user to ensure that the user has presented valid
    grid credentials.

Windows NT domain and server information can be configured in
authentication service configuration file. Authentication service is
part of caGrid distribution. caTRIP has extended and incorporated NT
authentication functionality with authentication service.

Configuring authentication-config.xml for NT authentication

*\<bean id="dukeAuthenticationManager"
class="edu.duke.idp.service.DukeAuthenticationManager"\>*

*\<property name="credentialProviderHost" value="\<\<IP ADDRESS OF
CREDENTIAL PROVIDER\>\>"/\>*

*\<property name="domainName" value="\<\<WINDOWS NT DOMAIN
NAME\>\>"/\>\</bean\>*

More information on authentication service can be found in caGrid
Documentation

<http://gforge.nci.nih.gov/plugins/scmcvs/cvsweb.php/cagrid-1-0/Documentation/docs/security/gaards-security-admin-guide.doc?cvsroot=cagrid-1-0>

#### Default Dorian Authentication

caTRIP has another implementation for non Window NT users. All users may
not be part of Dukes Windows NT IdP. caTRIP supports users created using
Dorian's default authentication service.

Dorian is a grid user management service that (1) hides the complexities
of creating and managing grid credentials from the users and (2)
provides a mechanism for users to authenticate using their institution's
authentication mechanism, assuming a trust agreement is in place between
Dorian and the institution.

1.  Dorian administrator can create User accounts directly on Dorian .

2.  User should authenticate using his/her Dorian credentials via caTRIP
    GUI

3.  As the user was registered directly with Dorian and not through an
    existing credential provider, caTRIP obtains grid credentials
    directly from Dorain.

4.  Once GUI obtains grid credentials from Dorian , GUI allows the user
    to login. User builds and executes queries on multiple secured data
    services.

5.  Upon receiving grid credentials from a user, a secure data service
    authenticates the user to ensure that the user has presented valid
    grid credentials.

Create Users in Dorian and configure catrip-config.xml file with Dorian
URL and Authentication URL. Authentication URL for default Dorian would
be same as Dorian URL, Configuration information can be found in section
3.2.3

Documentation on how to create users can be found in caGrid security
documentation

<http://gforge.nci.nih.gov/plugins/scmcvs/cvsweb.php/cagrid-1-0/Documentation/docs/security/gaards-security-admin-guide.doc?cvsroot=cagrid-1-0>

Read "**Grid User Management**" section in the above document.

#### Authorization

Basic Authorization is implemented in this phase of caTRIP.
Authorization is implemented using NCICB **Common Security Module
(CSM).** Integration of CSM and grid services is implemented using
**caGrid Authz** component.

-   Once the user has been authenticated, a secure data service next
    determines if a user is authorized to perform what they requested,
    basically execute query method in this implementation.

-   A Grid Grouper service is deployed at duke, which provides a
    group-based authorization solution for the Grid.

-   CSM is used for managing and enforcing access control policy
    centrally. These access control policies are based on membership to
    groups in Grid Grouper.

-   Grid services ask CSM with a user can perform queries on the service
    or not.

-   Based on the access control policy maintained in CSM, CSM decides
    whether or not a user is authorized. CSM enforces its group based
    access control policy by asking Grid Grouper whether the caller is a
    member of the groups specified in the policy.

-   User provisioning Tool (UPT) is also installed at duke . The UPT
    provides functionality to create authorization data elements like
    Roles, Protection Elements, Users, etc., and also provides
    functionality to associate them with each other

Please refer to the following documentation

  --------------------------------------------------------------------------------------------------------------------------------------------------------------------
  ***Topic***        ***URL***
  ------------------ -------------------------------------------------------------------------------------------------------------------------------------------------
  CSM / UPT          <http://ncicb.nci.nih.gov/infrastructure/cacore_overview/csm>

  caGrid Authz       <http://www.cagrid.org/mwiki/index.php?title=CaGrid:How-To:IntegrateCSMAuthorizationPolicy:>

  caGrid security:   <http://gforge.nci.nih.gov/plugins/scmcvs/cvsweb.php/cagrid-1-0/Documentation/docs/security/gaards-security-admin-guide.doc?cvsroot=cagrid-1-0>
  --------------------------------------------------------------------------------------------------------------------------------------------------------------------

### Running the Application

After creating the Webstart application enter the URL in the browser. On
your first visit the application will download some configuration files
to your computer in your home directory

Documents and Settings/\<your name\>/.catrip

![](media/image42.png){width="4.207638888888889in"
height="1.7083333333333333in"}

The directory should be as follows:

If for any reason these files become corrupted, simply delete this
folder. On the next visit to the URL the application will download the
files again.

# Appendix I caTRIP Components

The caTRIP includes the following components:

-   Framework packages

```{=html}
<!-- -->
```
-   org.hibernate

    -   Configuration files to enable you to customize your installation
        to meet your spe­cific database, server, and other network needs

-   deploy.properties

-   SimpleGuiObjectGraph.xml

    -   Ant buildfile

    -   MySQL database creation scripts

    -   Oracle database creation scripts

## Contacting Technical Support

+-----------+----------------------------------------------------------+
| #####     | For Support post a message at:                           |
| caTRIP Ap |                                                          |
| plication | <catrip-training@gforge.nci.nih.gov>                     |
|  Support  |                                                          |
+-----------+----------------------------------------------------------+