NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scrollbar
iconsfalse

...

Page info
title
title

Section
Column
Panel
titleContents of this Page
Table of Contents
minLevel2
:title} {section} {column} {panel:title=Contents of this Page} {toc:minLevel=2} {panel} {column} {column}
Column
Wiki Markup

{align:right}{include:Menu LexEVS 6.0 Programmers to Include}{align}
{column} {section} h2. Introduction The Analytical Grid Service is an API used by programmers to pull data from the system (a target instance of LexEVS on the grid) using a set of method calls and appropriate parameters. The results differ from method to method but are all objects in the LexEVS model. The following table summarizes the operations available through the LexEVS Analytical Grid Service. Each of the operations is also defined in detail below. The grid analytical service and related operations are viewable via the [caGrid Portal|http://cagrid-portal.nci.nih.gov]. h2. ISO 21090 Model The LexEVS 6.0 Analytical Grid Services use a version of the LexGRID/LexBIG model, extended to support ISO 21090 Datatypes. Click the [adapted model link|https://ncisvn.nci.nih.gov/svn/lexevs/base/v6/trunk/lexevs_service_cagrid_model/LexEVS-iso21090-model/master/iso21090]. h2. Using the API There are two (2) different interfaces for accessing the LexEVS Grid Services: # {{org.

Introduction

The Analytical Grid Service is an API used by programmers to pull data from the system (a target instance of LexEVS on the grid) using a set of method calls and appropriate parameters. The results differ from method to method but are all objects in the LexEVS model.

The following table summarizes the operations available through the LexEVS Analytical Grid Service. Each of the operations is also defined in detail below. The grid analytical service and related operations are viewable via the caGrid Portal.

ISO 21090 Model

The LexEVS 6.0 Analytical Grid Services use a version of the LexGRID/LexBIG model, extended to support ISO 21090 Datatypes.

Click the adapted model link.

Using the API

There are two (2) different interfaces for accessing the LexEVS Grid Services:

  1. org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  1. ,

...

  1. or

...

  1. org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • Option 1,

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • provides

...

  • an

...

  • interface

...

  • for

...

  • interacting

...

  • with

...

  • the

...

  • LexEVS

...

  • Grid

...

  • Services.

...

  • This

...

  • Interface

...

  • is

...

  • intended

...

  • to

...

  • mirror

...

  • the

...

  • existing

...

  • LexEVS

...

  • API

...

  • as

...

  • much

...

  • as

...

  • possible.

...

  • There

...

  • is

...

  • no

...

  • object

...

  • wrapping

...

  • for

...

  • semantic

...

  • purposes

...

  • on

...

  • this

...

  • interface.

...

  • This

...

  • allows

...

  • existing

...

  • applications

...

  • of

...

  • the

...

  • LexEVS

...

  • API

...

  • to

...

  • use

...

  • Grid

...

  • Services

...

  • without

...

  • code

...

  • changes.

...


  • This

...

  • Interface

...

  • may

...

  • be

...

  • acquired

...

  • by

...

  • instantiating

...

  • LexBIGServiceAdapter

...

  • with

...

  • the

...

  • Grid

...

  • Service

...

  • URL

...

  • as

...

  • a

...

  • parameter.

...

  • Code Block

...

  • LexBIGService lbs = new LexBIGServiceAdapter
    ("http://lexevsapi-analytical60.nci.nih.gov/wsrf/services/cagrid/LexEVSGridService");

...

  • Option 2,

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • also

...

  • provides

...

  • an

...

  • interface

...

  • for

...

  • interacting

...

  • with

...

  • the

...

  • LexEVS

...

  • Grid

...

  • Services.

...

  • However,

...

  • this

...

  • Interfaces

...

  • is

...

  • the

...

  • semantically

...

  • defined

...

  • interface.

...

  • All

...

  • method

...

  • parameters

...

  • and

...

  • return

...

  • values

...

  • are

...

  • defined

...

  • and

...

  • annotated

...

  • as

...

  • CDEs

...

  • to

...

  • be

...

  • loaded

...

  • into

...

  • caDSR.

...

  • This

...

  • Interface

...

  • is

...

  • intended

...

  • to

...

  • be

...

  • caGrid

...

  • Silver

...

  • Level

...

  • Compliant.

...


  • This

...

  • Interface

...

  • may

...

  • be

...

  • acquired

...

  • by

...

  • instantiating

...

  • LexBIGServiceGridAdapter

...

  • with

...

  • the

...

  • Grid

...

  • Service

...

  • URL

...

  • as

...

  • a

...

  • parameter.

...

  • Code Block

...

  • LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter
    ("http://lexevsapi-analytical60.nci.nih.gov/wsrf/services/cagrid/LexEVSGridService");

...

Method Descriptions

getCodingSchemeConcepts

getCodingSchemeConcepts(CodingSchemeIdentification,

...

CodingSchemeVersionOrTag)

...

Description:

...

Returns

...

the

...

set

...

of

...

all

...

(or

...

all

...

active)

...

concepts

...

in

...

the

...

specified

...

coding

...

scheme.

...

Input:

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification,

...

org.LexGrid.LexBIG.iso21090.DataModel.Core.CodingSchemeVersionOrTag

...

Output:

...

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.CodedNodeSet.stubs.types.CodedNodeSetReference

...

Exception:

...

RemoteException

Implementation Details:

Implementation:

  • Step 1: Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.LexBIGService.CodedNodeSet

...

  • .
  • Step 2: Return the Client Reference to the user. This Reference has the above org.LexGrid.LexBIG.LexBIGService.CodedNodeSet

...

  • as

...

  • a

...

  • Resource.

...

  • An

...

  • org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.service.CodedNodeSetClient

...

  • object

...

  • is

...

  • built

...

  • from

...

  • the

...

  • above

...

  • Reference.

...

-

...

-

Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2: Build a org.LexGrid.LexBIG.iso21090.DataModel.Core.CodingSchemeVersionOrTag

...

  • containing

...

  • the

...

  • Version

...

  • information

...

  • for

...

  • the

...

  • desired

...

  • Coding

...

  • Scheme.

...

  • Code Block

...

  • 
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag(); csvt.setVersion("testVersion");
    

...

  • Step 3: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

...

  • to

...

  • hold

...

  • the

...

  • Coding

...

  • Scheme

...

  • name.

...

  • Code Block

...

  • 
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification(); codingScheme.setCode(code);
    

...

  • Step 4: Invoke the LexBIG caGrid service as follows:
    Code Block
    
    CodedNodeSetGrid cns = lbs.getCodingSchemeConcepts(codingScheme, csvt);
    

...

getFilter

getFilter(ExtensionIdentification)

...

Description:

Returns an instance of the filter extension registered with the given name.

Input:

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.ExtensionIdentification

...

Output:

...

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Filter.stubs.types.FilterReference

...

Exception:

...

RemoteException

Implementation Details:

Implementation:

  • Step 1: Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.Extensions.Query.Filter

...

  • .
  • Step 2: Return the Client Reference to the user. This Reference has the above org.LexGrid.LexBIG.Extensions.Query.Filter

...

  • as

...

  • a

...

  • Resource.

...

  • This

...

  • client

...

  • is

...

  • a

...

  • Service

...

  • Context

...

  • that

...

  • allows

...

  • the

...

  • user

...

  • to

...

  • call

...

  • regular

...

  • org.LexGrid.LexBIG.Extensions.Query.Filter

...

  • API

...

  • calls

...

  • through

...

  • the

...

  • grid

...

  • service.

...

  • An

...

  • org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Filter.client.FilterClient

...

  • object

...

  • is

...

  • built

...

  • from

...

  • the

...

  • above

...

  • Reference.

...

  • This

...

  • FilterClient

...

  • implements

...

  • the

...

  • Interface

...

  • org.LexGrid.LexBIG.Extensions.Query.Filter

...

  • .

...

  • This

...

  • makes

...

  • calling

...

  • Grid

...

  • Service

...

  • Calls

...

  • through

...

  • org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Filter.client.FilterClient

...

  • transparent

...

  • to

...

  • the

...

  • end

...

  • user.

...

--

Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.ExtensionIdentification

...

  • to

...

  • hold

...

  • the

...

  • Extension

...

  • name.

...

  • Code Block

...

  • 
    ExtensionIdentification extension = new ExtensionIdentification(); extension.setLexBIGExtensionName(name);
    

...

  • Step 3: Invoke the LexEVS caGrid service as follows:
    Code Block
    
    Filter filter = lbs.getFilter(extension);
    

...

getSortAlgorithm

getSortAlgorithm(ExtensionIdentification)

...

Description:

...

Returns

...

an

...

instance

...

of

...

the

...

sort

...

extension

...

registered

...

with

...

the

...

given

...

name.

...

Input:

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.ExtensionIdentification

...

Output:

...

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Sort.stubs.types.SortReference

...

Exception:

...

RemoteException

Implementation Details:

Implementation:

  • Step 1: Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.Extensions.Query.Sort

...

  • Step

...

  • 2

...

  • :

...

  • Return

...

  • the

...

  • Client

...

  • Reference

...

  • to

...

  • the

...

  • user.

...

  • This

...

  • Reference

...

  • has

...

  • the

...

  • above

...

  • org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Sort.client.SortClient

...

  • as

...

  • a

...

  • Resource.

...

  • This

...

  • client

...

  • is

...

  • a

...

  • Service

...

  • Context

...

  • that

...

  • allows

...

  • the

...

  • user

...

  • to

...

  • call

...

  • regular

...

  • org.LexGrid.LexBIG.Extensions.Query.Sort

...

  • API

...

  • calls

...

  • through

...

  • the

...

  • grid

...

  • service.

...

  • An

...

  • org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Sort.client.SortClient

...

  • object

...

  • is

...

  • built

...

  • from

...

  • the

...

  • above

...

  • Reference.

...

  • This

...

  • SortClient

...

  • implements

...

  • the

...

  • Interface

...

  • org.LexGrid.LexBIG.Extensions.Query.Sort

...

  • .

...

  • This

...

  • makes

...

  • calling

...

  • Grid

...

  • Service

...

  • Calls

...

  • through

...

  • org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Sort.client.SortClient

...

  • transparent

...

  • to

...

  • the

...

  • end

...

  • user.

...

-

...

-

Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.ExtensionIdentification

...

  • to

...

  • hold

...

  • the

...

  • Extension

...

  • name.

...

  • Code Block

...

  • 
    ExtensionIdentification extension = new ExtensionIdentification(); extension.setLexBIGExtensionName(name);
    

...

  • Step 3: Invoke the LexEVS caGrid service as follows:
    Code Block
    
    Filter filter = lbs.getSortAlgorithm(extension);
    

...

getFilterExtensions

getFilterExtensions()

...

Description:

...

Returns

...

a

...

description

...

of

...

all

...

registered

...

extensions

...

used

...

to

...

provide

...

additional

...

filtering

...

of

...

query

...

results.

...

Input:

...

none

Output

org.LexGrid.LexBIG.iso21090.DataModel.Collections.ExtensionDescriptionList

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2:

...

  • Invoke

...

  • the

...

  • LexEVS

...

  • caGrid

...

  • service

...

  • as

...

  • follows:

...

  • Code Block

...

  • 
    ExtensionDescriptionList extDescList = lbs.getFilterExtensions();
    

...

getServiceMetadata

getServiceMetadata()

...

Description:

...

Return

...

an

...

interface

...

to

...

perform

...

system-wide

...

query

...

over

...

metadata

...

for

...

loaded

...

code

...

systems

...

and

...

providers.

...

Input:

...

none

Output:

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.LexBIGServiceMetadata.

...


stubs.types.LexBIGServiceMetadataReference

...

Exception:

...

RemoteException

Implementation Details:

Implementation:

  • Step 1: Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.LexBIGService.LexBIGServiceMetadata

...

  • .
  • Step 2:

...

  • Return

...

  • the

...

  • LexBIGServiceMetadataClient

...

  • to

...

  • the

...

  • user.

...

  • This

...

  • LexBIGServiceMetadataClient

...

  • has

...

  • the

...

  • above

...

  • org.LexGrid.LexBIG.LexBIGService.LexBIGServiceMetadata

...

  • as

...

  • a

...

  • Resource.

...

  • An

...

  • org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.service.LexBIGServiceMetadataClient

...

  • object

...

  • is

...

  • built

...

  • from

...

  • the

...

  • above

...

  • Reference.

...

-

...

-

Sample Call:

...

'

  • Step 1:

...

  • Connect

...

  • to

...

  • the

...

  • LexEVS

...

  • caGrid

...

  • Service

...

  • using

...

  • the

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2:

...

  • Invoke

...

  • the

...

  • LexEVS

...

  • caGrid

...

  • service

...

  • as

...

  • follows:

...

  • Code Block

...

  • 
    LexBIGServiceMetadataGrid metadata = lbs.getServiceMetadata();
    

...

getSupportedCodingSchemes

getSupportedCodingSchemes()

...

Description:

...

Return

...

a

...

list

...

of

...

coding

...

schemes

...

and

...

versions

...

that

...

are

...

supported

...

by

...

this

...

service,

...

along

...

with

...

their

...

status.

...

Input:

none

Output:

org.LexGrid.LexBIG.iso21090.DataModel.Collections.CodingSchemeRenderingList

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2:

...

  • Invoke

...

  • the

...

  • LexEVS

...

  • caGrid

...

  • service

...

  • as

...

  • follows:

...

  • Code Block

...

  • 
    CodingSchemeRenderingList csrl = lbs.getSupportedCodingSchemes();
    

...

getLastUpdateTime

getLastUpdateTime()

...

Description:

...

Return

...

the

...

last

...

time

...

that

...

the

...

content

...

of

...

this

...

service

...

was

...

changed;

...

null

...

if

...

no

...

changes

...

have

...

occurred.

...

Tag

...

assignments

...

do

...

not

...

count

...

as

...

service

...

changes

...

for

...

this

...

purpose.

...

Input:

...

none

Output:

java.util.Date

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2:

...

  • Invoke

...

  • the

...

  • LexEVS

...

  • caGrid

...

  • service

...

  • as

...

  • follows:

...

  • Code Block

...

  • 
    Date date = lbs.getLastUpdateTime();
    

...

resolveCodingScheme

resolveCodingScheme(CodingSchemeIdentification,

...

CodingSchemeVersionOrTag)

...

Description:

...

Return

...

detailed

...

coding

...

scheme

...

information

...

given

...

a

...

specific

...

tag

...

or

...

version

...

identifier.

...

Input:

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification,

...

org.LexGrid.LexBIG.iso21090.DataModel.Core.CodingSchemeVersionOrTag

...

Output:

...

org.LexGrid.codingSchemes.CodingScheme

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

...

  • to

...

  • hold

...

  • the

...

  • Coding

...

  • Scheme

...

  • name.

...

  • Code Block

...

  • 
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification(); codingScheme.setCode(code);
    

...

  • Step 3: Build a org.LexGrid.LexBIG.iso21090.DataModel.Core.CodingSchemeVersionOrTag

...

  • containing

...

  • the

...

  • Version

...

  • information

...

  • for

...

  • the

...

  • desired

...

  • Coding

...

  • Scheme.

...

  • Code Block

...

  • 
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag(); csvt.setVersion("testVersion");
    

...

  • Step 4: Invoke the LexEVS caGrid service as follows:
    Code Block
    
    CodedNodeSetGrid cns = lbs.resolveCodingScheme(codingScheme, csvt);
    

...

getNodeGraph

getNodeGraph(CodingSchemeIdentification,

...

CodingSchemeVersionOrTag,

...

RelationContainerIdentification)

...

Description:

...

Returns

...

the

...

node

...

graph

...

as

...

represented

...

in

...

the

...

particular

...

relationship

...

set

...

in

...

the

...

coding

...

scheme.

...

Input:

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification,

...

org.LexGrid.LexBIG.iso21090.DataModel.Core.CodingSchemeVersionOrTag,

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.RelationContainerIdentification

...

Output:

...

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.

...


CodedNodeGraph.stubs.types.CodedNodeGraphReference

...

Exception:

...

RemoteException

Implementation Details:

Implementation:

  • Step 1: Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.LexBIGService.CodedNodeGraph

...

  • .
  • Step 2: Return the Client Reference to the user. This Reference has the above org.LexGrid.LexBIG.LexBIGService.CodedNodeGraph

...

  • as

...

  • a

...

  • Resource.

...

  • An

...

  • org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.service.CodedNodeGraphClient

...

  • object

...

  • is

...

  • built

...

  • from

...

  • the

...

  • above

...

  • Reference.

...

Sample Call

Sample Call:

  • Step 1: Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

...

  • to

...

  • hold

...

  • the

...

  • Coding

...

  • Scheme

...

  • name.

...

  • Code Block

...

  • 
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification(); codingScheme.setCode(code);
    

...

  • Step 3: Build an org.LexGrid.LexBIG.iso21090.DataModel.Core.CodingSchemeVersionOrTag

...

  • containing

...

  • the

...

  • Version

...

  • information

...

  • for

...

  • the

...

  • desired

...

  • Coding

...

  • Scheme.

...

  • Code Block

...

  • 
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag(); csvt.setVersion("testVersion");
    

...

  • Step 4: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.RelationContainerIdentification

...

  • containing

...

  • the

...

  • Relation

...

  • Container

...

  • information.

...

  • Code Block

...

  • 
    RelationContainerIdentification container = new RelationContainerIdentification(); container.setDc(name);
    

...

  • Step 5: Invoke the LexEVS caGrid service as follows, providing String parameters for the desired Coding Scheme and Relationship Name:
    Code Block
    
    CodedNodeGraphGrid cng = client.getNodeGraph(codingScheme, csvt, container);
    

...

getMatchAlgorithms

getMatchAlgorithms()

...

Description:

...

Returns

...

the

...

node

...

graph

...

as

...

represented

...

in

...

the

...

particular

...

relationship

...

set

...

in

...

the

...

coding

...

scheme.

...

Input:

...

none

Output:

org.LexGrid.LexBIG.iso21090.DataModel.Collections.ModuleDescriptionList

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2:

...

  • Invoke

...

  • the

...

  • LexEVS

...

  • caGrid

...

  • service

...

  • as

...

  • follows:

...

  • Code Block

...

  • 
    ModuleDescriptionList mdl = lbs.getMatchAlgorithms();
    

...

getGenericExtensions

getGenericExtensions()

...

Description:

...

Returns

...

a

...

description

...

of

...

all

...

registered

...

extensions

...

used

...

to

...

implement

...

application-specific

...

behavior

...

that

...

is

...

centrally

...

accessible

...

from

...

a

...

LexBIGService.

...

Info

...

title

...

Note

...

nly

...

generic

...

extensions

...

(base

...

class

...

GenericExtension)

...

will

...

be

...

listed

...

here.

...

All

...

other

...

classes

...

are

...

retrievable

...

at

...

the

...

appropriate

...

interface

...

point

...

(filter,

...

sort,

...

etc).

...

Input:

...

none

Output:

org.LexGrid.LexBIG.iso21090.DataModel.Collections.ExtensionDescriptionList

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2:

...

  • Invoke

...

  • the

...

  • LexEVS

...

  • caGrid

...

  • service

...

  • as

...

  • follows:

...

  • Code Block

...

  • 
    ExtensionDescriptionList edl = lbs.getGenericExtensions();
    

...

getGenericExtension

getGenericExtensions(ExtensionIdentification)

...

Description:

...

Returns an instance of the application-specific

...

extension

...

registered

...

with

...

the

...

given

...

name.

...

Input:

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.ExtensionIdentification

...

Output:

...

org.LexGrid.LexBIG.iso21090.DataModel.Collections.SortDescriptionList

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Info
    titleNote

    Currently this method will return a LexBIGServiceConvenienceMethods instance.

  • Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.ExtensionIdentification

...

  • to

...

  • hold

...

  • the

...

  • Extension

...

  • name.

...

  • Code Block

...

  • 
    ExtensionIdentification extension = new ExtensionIdentification(); extension.setLexBIGExtensionName("LexBIGServiceConvenienceMethods");
    

...

  • Step 3: Invoke the LexEVS caGrid service as follows:
    Code Block
    
    LexBIGServiceConvenienceMethodsGrid lbscm = lbs.getGenericExtensions(extension);
    

...

  • Step 4: Return the LexBIGServiceConvenienceMethodsClient to the user. This LexBIGServiceConvenienceMethodsClient has the above org.LexGrid.LexBIG.Extensions.Generic.LexBIGServiceConvenienceMethods

...

  • as

...

  • a

...

  • Resource.

...

  • An

...

  • org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.service.CodedNodeGraphClient

...

  • object

...

  • is

...

  • built

...

  • from

...

  • the

...

  • above

...

  • Reference.

...

getHistoryService

getHistoryService(CodingSchemeIdentification)

...

Description:

...

Resolve

...

a

...

reference

...

to

...

the

...

history

...

api

...

servicing

...

the

...

given

...

coding

...

scheme.

...

Input:

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

...

Output:

...

org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.

...


HistoryService.stubs.types.HistoryServiceReference

...

Exception:

...

RemoteException

Implementation Details:

Implementation:

  • Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
  • Step 2: Return the HistoryServiceClient to the user. This HistoryServiceClient has the above org.LexGrid.LexBIG.History.HistoryService

...

  • as

...

  • a

...

  • Resource.

...

  • This

...

  • Client

...

  • is

...

  • a

...

  • Service

...

  • Context

...

  • that

...

  • allows

...

  • the

...

  • user

...

  • to

...

  • call

...

  • regular

...

  • org.LexGrid.LexBIG.History.HistoryService

...

  • API

...

  • calls

...

  • through

...

  • the

...

  • grid

...

  • service.

...

  • HistoryServiceClient

...

  • implements

...

  • the

...

  • Interface

...

  • org.LexGrid.LexBIG.History.HistoryServic}}e.

...

  • This

...

  • makes

...

  • calling

...

  • Grid

...

  • Service

...

  • Calls

...

  • through

...

  • {{org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.HistoryService.client.HistoryServiceClient

...

  • transparent

...

  • to

...

  • the

...

  • end

...

  • user.

...

Sample Call

Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

...

  • to

...

  • hold

...

  • the

...

  • Coding

...

  • Scheme

...

  • name.

...

  • Code Block

...

  • 
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification(); codingScheme.setCode(code);
    

...

  • Step 3: Invoke the LexEVS caGrid service as follows:
    Code Block
    
    HistoryServiceGrid history = lbs.getHistoryService(codingScheme);
    

...

getSortAlgorithms

getSortAlgorithms(SortContext)

...

Description:

...

Returns

...

a

...

description

...

of

...

all

...

registered

...

extensions

...

used

...

to

...

provide

...

additional

...

filtering

...

of

...

query

...

results.

...

Input:

...

org.LexGrid.LexBIG.iso21090.DataModel.InterfaceElements.types.SortContext

...

Output:

...

org.LexGrid.LexBIG.iso21090.DataModel.Collections.SortDescriptionList

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2: Invoke the LexEVS caGrid service as follows:
    Code Block
    
    SortDescriptionList sortDescList = lbs.getSortAlgorithms(sortContext);
    

...

resolveCodingSchemeCopyright

resolveCodingSchemeCopyright(CodingSchemeIdentification)

...

Description:

...

Return

...

coding

...

scheme

...

copyright

...

given

...

a

...

specific

...

tag

...

or

...

version

...

identifier.

...

Input:

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

...

Output:

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeCopyRight

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

...

  • to

...

  • hold

...

  • the

...

  • Coding

...

  • Scheme

...

  • name.

...

  • Code Block

...

  • 
    CodingSchemeIdentification codingScheme = new
    
    CodingSchemeIdentification();
    
    codingScheme.setCode(code);
    

...

  • Step 3: Build an org.LexGrid.LexBIG.iso21090.DataModel.Core.CodingSchemeVersionOrTag

...

  • containing

...

  • the

...

  • Version

...

  • information

...

  • for

...

  • the

...

  • desired

...

  • Coding

...

  • Scheme.

...

  • Code Block

...

  • 
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag(); csvt.setVersion("testVersion");
    

...

  • Step 4: Invoke the LexEVS caGrid service as follows:
    Code Block
    
    CodingSchemeCopyRight copyright = lbs.resolveCodingSchemeCopyright(codingScheme, csvt);
    

...

setSecurityToken

setSecurityToken(CodingSchemeIdentification,

...

SecurityToken)

...

Description:

...

Sets

...

the

...

Security

...

Token

...

for

...

the

...

given

...

Coding

...

Scheme.

...

Input:

...

org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification,

...

gov.nih.nci.evs.security.SecurityToken

...

Output:

...

org.LexGrid.LexBIG.cagrid.LexEVSGridService.stubs.types.LexEVSGridServiceReference.LexEVSGridServiceReference

...

Exception:

...

RemoteException

Implementation Details:

Implementation:
Step 1: Call this method on the associated LexEVS Service instance (or Distributed LexEVS instance) on the server, and forward the results.
Sample Call:

  • Step 1: Connect to the LexEVS caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

...

  • or

...

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

...

  • .

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    

...

  • Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

...

  • to

...

  • hold

...

  • the

...

  • Coding

...

  • Scheme

...

  • name.

...

  • Code Block

...

  • 
    CodingSchemeIdentification codingScheme = new
    
    CodingSchemeIdentification(); codingScheme.setName("codingScheme");
    

...

  • Step 3: Build an gov.nih.nci.evs.security.SecurityToken

...

  • containing

...

  • the

...

  • security

...

  • information

...

  • for

...

  • the

...

  • desired

...

  • Coding

...

  • Scheme.

...

  • Code Block

...

  • 
    SecurityToken metaToken = new SecurityToken();
    
    metaToken.setAccessToken("token");
    

...

  • Step 4: Invoke the LexEVS caGrid service as follows: This will return a reference to a new "LexBIGServiceGrid" instance that is associated with the security properties that were passed in.
    Code Block
    
    LexBIGServiceGrid lbsg = lbs.setSecurityToken(codingScheme, metaToken);
    

...

Usage Instructions

Service URL

LexEVS Grid Service 4.2 URL:
{code Link provided for historical purposes http://lexevsapi.nci.nih.gov/wsrf/services/cagrid/LexEVSGridServiceImage Added

Code Block
].{highlight}

The service is also accessible via:

[caGRID Portal|http://cagrid-portal.nci.nih.gov/web/guest/home;jsessionid=AEEE79C27E8EDB4EC0117C2CE8857D49]


h3. Required Libraries

The libraries required for programmatic access to the LexEVS Grid Service are listed in the tables below.  The 3rd Party Software Libraries required for use of the LexEVS API Grid Service are listed in the following table.

|| Product || Jars || License || Home Page ||
| Apache WS-Addressing | addressing-1.0.jar | [adressing 1.0.LICENSE|http://www.ogsa-dai.ac.uk/documentation/ogsadai-wsi-2.2-thirdparty/addressing-1.0.LICENSE] | From Globus 4.0.2 Java Web Services Core lib directory: [http://www.globus.org/toolkit/downloads/4.0.2] \\
 Source available at {highlight:red}This is not found.[:

Link provided for historical purposes http://ws.apache.org/addressinImage Added

Code Block
addressing]{highlight}. |
| Apache Axis | * axis-ant.jar
* axis.jar
* commons-pool-1.3.jar
* commons-logging-1.1.jar
* commons-lang-2.2.jar
* commons-collections-3.2.jar
* commons-codec-1.3.jar
* log4j-1.2.8.jar
* jaxrpc.jar
* saaj.jar
* wsdl4j.jar | [axis-jars.LICENSE|http://www.ogsa-dai.ac.uk/documentation/ogsadai-wsi-2.2/thirdparty/axis-jars.LICENSE] | [http://ws.apache.org/axis] |
| Apache Xerces | xercesImpl.jar | [xerces.LICENSE|http://www.ogsa-dai.ac.uk/documentation/ogsadai-wsi-2.2/thirdparty/xerces.LICENSE] | [http://xerces.apache.org/xerces-j] |
|| Apache Lucene | * lucene-core-2.3.2.jar
* lucene-regex-2.3.2.jar
* lucene-snowball-2.3.2.jar | [Lucene LICENSE|http://www.apache.org/licenses/LICENSE-2.0] | [http://lucene.apache.org/] |
| ASM - all purpose Java bytecode manipulation and analysis framework | asm.jar | [http://asm.objectweb.org/license.html] | [http://asm.objectweb.org/] |
| Castor | castor-1.2.jar | {highlight:red}Timed out.[http:/

Link provided for historical purposes http://www.castor.org/license.htmlImage Added

Code Block
]{highlight} | {highlight:red}Timed out.[Code}Link provided for historical purposes http://www.castor.org/index.html]{highlight} |
| Globus Toolkit | 

|

Globus Toolkit

cog-axis.jar

...


cog-jglobus.jar

...

...

Bouncy Castle Crypto APIs

jce-jdk13-125.jar

...

...

...

Open Permis

wsrf_core.jar

...


wsrf_core_stubs.jar

...

...

...

Apache WSS4J

wss4j.jar

...

...

...

Spring

spring.jar

...

...

...

...

...

The

...

NCICB

...

software

...

captured

...

under

...

the

...

caBIG®

...

umbrella

...

are

...

listed

...

in

...

the

...

following

...

table.

...

Library

Associated JARs

caGrid Software Libraries

caGrid-ServiceSecurityProvider-client-1.2.jar

...

caGrid Software Libraries

caGrid-ServiceSecurityProvider-common-1.2.jar

...

caGrid Software Libraries

caGrid-ServiceSecurityProvider-stubs-1.2.jar

...

caGrid Software Libraries

caGrid-core-1.2.jar

...

caGrid Software Libraries

caGrid-metadata-common-1.2.jar

...

caGrid Software Libraries

caGrid-metadata-data-1.2.jar

...

caGrid Software Libraries

caGrid-metadata-security-1.2.jar

...

caGrid Software Libraries

caGrid-metadatautils-1.2.jar

...

EVS

...

API

...

Libaries

...

evsapi42-beans.jar

...

EVS API Libaries

evsapi42-framework.jar

...

LexEVS

...

Grid

...

Service

...

Client

...

Library

...

LexEVSGridService-client.jar

...

LexEVS

...

Grid

...

Service

...

Stubs

...

LexEVSGridService-stubs.jar

...

LexEVS

...

Grid

...

Service

...

Common

...

LexEVSGridService-common.jar

...

LexEVS

...

Grid

...

Service

...

Service

...

LexEVSGridService-service.jar

...

LexEVS

...

Grid

...

Service

...

Tests

...

LexEVSGridService-tests.jar

...

caCORE

...

SDK

...

Library

...

sdk-client-framework.jar

...

LexEVS

...

API

...

lexbig.jar

...

Custom

...

Castor

...

Serializer

...

castor-bean-serializer.jar

...

Downloads

For your convenience, the required libraries are available for download here:

Required Libraries

In order to programmatically access the LexEVS API Grid Service, these libraries need to be added to your local classpath.

Code Examples

Example Client and Service Calls, and SOAP Messages

See zip file.

Example API Usage

Example 1: Searching for concepts in NCI Thesaurus containing the string "Gene."

Include Page
LexEVS:SearchingForConcepts Snippet
LexEVS:SearchingForConcepts Snippet

Error Handling

Error Connecting to LexEVS Grid Service

When connecting through the Java Client, java.net.ConnectException and org.apache.axis.types.URI.MalformedURIException

...

may

...

be

...

thrown

...

upon

...

an

...

unsuccessful

...

attempt

...

to

...

connect.

...

A

...

MalformedURIException

...

is

...

thrown

...

in

...

the

...

case

...

if

...

a

...

poorly-formed

...

URL

...

string.

...

In

...

this

...

case,

...

the

...

exception

...

is

...

thrown

...

before

...

an

...

attempt

...

to

...

connect

...

is

...

even

...

made.

...

If

...

the

...

URL

...

is

...

well-formed,

...

proper

...

connection

...

is

...

tested.

...

If

...

the

...

connection

...

attempt

...

fails,

...

a

...

ConnectException

...

is

...

thrown

...

containing

...

the

...

reason

...

for

...

the

...

failure.

...

Include Page
LexEVS:LexGridServiceConnection

...

Snippet
LexEVS:LexGridServiceConnection Snippet

This example shows a typical connection to the LexEVS Grid Service, with the two potential Exceptions being caught and handled as necessary.

LexEVS Errors

LexEVS errors will be forwarded through the Distributed LexEVS layer and then on to the Grid layer. Input parameters, along with any other LexEVS (or Distributed LexEVS) errors will be detected on the server, not the client, and forwarded. All Generic LexEVS (or Distributed LexEVS) errors will be forwarded via a RemoteException, with the cause of the error and underlying LexEVS error message included.

Invalid Service Context Access

Service Context Services are not meant to be called directly. If the client attempts to do so, an org.LexGrid.LexBIG.cagrid.LexEVSGridService.CodedNodeSet.stubs.types.InvalidServiceContextAccess

...

Exception

...

will

...

be

...

thrown.

...

This

...

indicates

...

a

...

call

...

was

...

made

...

to

...

a

...

Service

...

Context

...

without

...

obtaining

...

a

...

Service

...

Context

...

Reference

...

via

...

the

...

Main

...

Service

...

(see

...

the

...

above

...

section

...

Service

...

Contexts

...

and

...

State

...

for

...

more

...

information).

...

Security

...

Issues

...

LexEVS

...

Grid

...

Service

...

Security

...

Certain

...

vocabulary

...

content

...

accessible

...

through

...

the

...

LexEVS

...

Grid

...

Service

...

may

...

require

...

extra

...

authorization

...

to

...

access.

...

Each

...

client

...

is

...

required

...

to

...

supply

...

its

...

own

...

access

...

credentials

...

via

...

Security

...

Tokens.

...

These

...

Security

...

Tokens

...

are

...

implemented

...

by

...

a

...

SecurityToken

...

object:

...

Name:

...

SecurityToken

...


Namespace:

...

gme://caCORE.caCORE/3.2/gov.nih.nci.evs.security

...


Package:

...

gov.nih.nci.evs.security

...

Accessing Secure Content

A client establishes access to a secured vocabulary via the following Grid Service Calls:

  • Step 1: Connect to the LexEVS caGrid Service
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);

...

  • Step

...

  • 2:

...

  • Build

...

  • an

...

  • org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

...

  • to

...

  • hold

...

  • the

...

  • Coding

...

  • Scheme

...

  • name.

...

  • Code Block

...

  • 
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification();
    codingScheme.setName("codingScheme");
    

...

  • Step 3:

...

  • Build

...

  • an

...

  • gov.nih.nci.evs.security.SecurityToken

...

  • containing

...

  • the

...

  • security

...

  • information

...

  • for

...

  • the

...

  • desired

...

  • Coding

...

  • Scheme.

...


  • SecurityToken

...

  • token

...

  • =

...

  • new

...

  • SecurityToken

...

  • ();

...


  • token.setAccessToken("securityToken");

...

  • Step

...

  • 4:

...

  • Invoke

...

  • the

...

  • LexEVS

...

  • caGrid

...

  • service

...

  • as

...

  • follows:

...

  • This

...

  • will

...

  • return

...

  • a

...

  • reference

...

  • to

...

  • a

...

  • new

...

  • "LexBIGServiceGrid"

...

  • instance

...

  • that

...

  • is

...

  • associated

...

  • with

...

  • the

...

  • security

...

  • properties

...

  • that

...

  • were

...

  • passed

...

  • in.

...

  • Code Block

...

  • 
    LexBIGServiceGrid lbsg = lbs.setSecurityToken(codingScheme, token);
    

...

  • It

...

  • is

...

  • important

...

  • to

...

  • note

...

  • that

...

  • the

...

  • Grid

...

  • Service

...

  • "setSecurityToken"

...

  • returns

...

  • an

...

  • {{org.LexGrid.LexBIG.cagrid.LexEVSGridService.stubs.types

...


  • .LexEVSGridServiceReference.LexEVSGridServiceReference}}

...


  • object.

...

  • This

...

  • reference

...

  • must

...

  • be

...

  • used

...

  • to

...

  • access

...

  • the

...

  • secured

...

  • vocabularies.

...

Implementation

Each call to "setSecurityToken"

...

sets

...

up

...

a

...

secured

...

connection

...

to

...

Distributed

...

LexEVS

...

with

...

the

...

access

...

privileges

...

included

...

in

...

the

...

SecurityToken

...

parameter.

...

The

...

LexEVSGridServiceReference

...

that

...

is

...

returned

...

to

...

the

...

client

...

contains

...

a

...

unique

...

key

...

identifier

...

to

...

the

...

secure

...

connection

...

that

...

has

...

been

...

created

...

on

...

the

...

server.

...

All

...

subsequent

...

calls

...

the

...

client

...

makes

...

through

...

this

...

LexEVSGridServiceReference

...

will

...

be

...

made

...

securely.

...

If

...

additional

...

SecurityTokens

...

are

...

passed

...

in

...

through

...

the

...

"setSecurityToken"

...

Grid

...

Service,

...

the

...

additional

...

security

...

will

...

be

...

added

...

and

...

maintained.

...

The

...

"setSecurityToken"

...

Grid

...

Service

...

is

...

a

...

stateful

...

service.

...

This

...

means

...

that

...

after

...

the

...

client

...

sets

...

a

...

SecurityToken,

...

any

...

subsequent

...

call

...

will

...

be

...

applied

...

to

...

that

...

SecurityToken.

...

Secure

...

connections

...

are

...

not

...

maintained

...

on

...

the

...

server

...

indefinitely,

...

but

...

are

...

based

...

on

...

load

...

conditions.

...

The

...

server

...

will

...

allow

...

30

...

unique

...

secure

...

connections

...

to

...

be

...

set

...

up

...

for

...

clients

...

without

...

any

...

time

...

limitations.

...

As

...

additional

...

requests

...

for

...

secure

...

connections

...

are

...

received

...

by

...

the

...

server,

...

connections

...

will

...

be

...

released

...

by

...

the

...

server

...

on

...

an

...

'oldest

...

first'

...

basis.

...

No

...

connection,

...

however,

...

may

...

be

...

released

...

prior

...

to

...

5

...

minutes

...

after

...

its

...

creation.

...

If

...

no

...

SecurityTokens

...

are

...

passed

...

in

...

by

...

the

...

client,

...

a

...

non-secure

...

Distributed

...

LexEVS

...

connection

...

will

...

be

...

used.

...

The

...

server

...

maintains

...

one

...

(and

...

only

...

one)

...

un-secured

...

Distributed

...

LexEVS

...

connection

...

that

...

is

...

shared

...

by

...

any

...

client

...

not

...

requesting

...

security.

{:=
Info
title
Note
}

All

non-secured

information

accessed

by

the

LexEVS

Grid

Service

is

publicly

available

from

NCICB

and

users

are

expected

to

follow

the

licensing

requirements

currently

in

place

for

accessing

and

using

NCI

EVS

information.

{info} {scrollbar:icons=false}

Scrollbar
iconsfalse