NIH | National Cancer Institute | NCI Wiki  

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Scrollbar
iconsfalse

Page info
title
title

Section
Column
Panel
titleContents of this Page
Table of Contents
minLevel2
Column
Align
alignright
Include Page
Menu LexEVS 6.x Programmers to Include
Menu LexEVS 6.x Programmers to Include
Wiki Markup
{align:right}{include:Menu LexEVS 6.0 Programmers to Include}{align}

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.   

Warning
iconfalse
titleGrid services are no longer supported

As of LexEVS 6.2 Grid services are no longer supported

 

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, or
  2. 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

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

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

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.ExtensionIdentificationto 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.

    * _Step
    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    Code Block
    
    
  • Step 2:

    _

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows:

    | h3. getServiceMetadata {{getServiceMetadata()}} | Description: | Return an interface to perform system-wide query over metadata for loaded code systems and providers. | | Input: | _none_ | | Output: | _
    Code Block
    ExtensionDescriptionList extDescList = lbs.getFilterExtensions();
    
    Code Block

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 | _RemoteException_ | | Implementation Details: | *_Implementation:_* * _Step 1:_ Create a Resource on the server and populate it with the requested {{org.LexGrid.LexBIG.LexBIGService.LexBIGServiceMetadata.
  • Step }}. * _Step 2:_ Return the LexBIGServiceMetadataClient to the user. This LexBIGServiceMetadataClient has the above {{orgorg.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

Sample Call

Sample Call: '

  • 1:_ Connect to the LexEVS caGrid Service using the {{

    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);
    
    Code Block
  • Step

    2:

    _

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows:

    | h3. getSupportedCodingSchemes {{getSupportedCodingSchemes()}} | Description: | Return a list of coding schemes and versions that are supported by this service, along with their status. | | Input: | _none_ | | Output: | _
    Code Block
    LexBIGServiceMetadataGrid metadata = lbs.getServiceMetadata();
    
    Code Block

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:

  • | _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 {{

    Step 1: Connect to the LexEVS caGrid Service using the

    org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

    }}

    or

    {{

    org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    }}

    .

    * _Step
    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    Code Block
    
    
  • Step 2:

    _

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows:

    | h3. 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 {{
    Code Block
    CodingSchemeRenderingList csrl = lbs.getSupportedCodingSchemes();
    
    Code Block

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

    or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    }}

    .

    * _Step
    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    Code Block
    
    
  • Step 2:

    _

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows:

    | h3. resolveCodingScheme {{
    Code Block
    Date date = lbs.getLastUpdateTime();
    
    Code Block

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: | _

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

    | _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

    }}

    .

    * _Step 2_: Build an
    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    Code Block
    
    
  • Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification

    to

    hold

    the

    Coding

    Scheme

    name.

    * _Step 3_: Build a {{
    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification(); codingScheme.setCode(code);
    Code Block
    
    
  • 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");
    
    Code Block
  • Step

    4

    _

    :

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows:

    | h3. getNodeGraph {{getNodeGraph
    Code Block
    CodedNodeSetGrid cns = lbs.resolveCodingScheme(codingScheme, csvt);
    
    Code Block

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 | _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 }}. * _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*_: * _Step 1_: Connect

Sample Call

Sample Call :

  • to the LexBIG caGrid Service using the {{

    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);
    
    Code Block
  • 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);
    
    Code Block
  • Step

    3

    _

    :

    Build

    an

    {{

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

    }}

    containing

    the

    Version

    information

    for

    the

    desired

    Coding

    Scheme.

    * _Step 4_: Build an {{
    Code Block
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag(); csvt.setVersion("testVersion");
    Code Block
    
    
  • 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);
    
    Code Block
  • Step

    5

    _

    :

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows,

    providing

    String

    parameters

    for

    the

    desired

    Coding

    Scheme

    and

    Relationship

    Name:

    | h3. getMatchAlgorithms {{
    Code Block
    CodedNodeGraphGrid cng = client.getNodeGraph(codingScheme, csvt, container);
    
    Code Block

getMatchAlgorithms

getMatchAlgorithms()

}} |

Description:

|

Returns

the

node

graph

as

represented

in

the

particular

relationship

set

in

the

coding

scheme.

| |

Input:

none

Output:

| _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:

  • | _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 {{

    Step 1: Connect to the LexEVS caGrid Service using the

    org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

    }}

    or

    {{

    org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    }}

    .

    * _Step
    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    Code Block
    
    
  • Step 2:

    _

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows:

    | h3. 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).{info} | | Input: | _none_ | | Output: | _
    Code Block
    ModuleDescriptionList mdl = lbs.getMatchAlgorithms();
    
    Code Block

getGenericExtensions

getGenericExtensions()

Description:

Returns a description of all registered extensions used to implement application-specific behavior that is centrally accessible from a LexBIGService.

Info
titleNote

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:

  • | _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 {{

    Step 1: Connect to the LexEVS caGrid Service using the

    org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter

    }}

    or

    {{

    org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter

    }}

    .

    * _Step
    Code Block
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
    Code Block
    
    
  • Step 2:

    _

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows:

    | h3. getGenericExtension {{
    Code Block
    ExtensionDescriptionList edl = lbs.getGenericExtensions();
    
    Code Block

getGenericExtension

getGenericExtensions(ExtensionIdentification)

}} |

Description:

|

Returns

an

instance

of

the

application-specific

extension

registered

with

the

given

name.

| | Input: | _

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 :

  • | _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 {{

    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:=
    Code Blockinfo
    title
    Note
    }

    Currently

    this

    method

    will

    return

    a

    LexBIGServiceConvenienceMethods

    instance.

    {info} * _Step 2_: Build an {{

  • 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");
    
    Code Block
  • Step

    3

    _

    :

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows:

    * _Step 4_: Return the {{LexBIGServiceConvenienceMethodsClient}} to the user. This LexBIGServiceConvenienceMethodsClient has the above {{
    Code Block
    LexBIGServiceConvenienceMethodsGrid lbscm = lbs.getGenericExtensions(extension);
    Code Block
    
    
  • 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. | h3. getHistoryService {{

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 | _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*_: * _Step 1_: Connect to the LexEVS caGrid Service using the {{

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);
    
    Code Block
  • 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);
    Code Block
    
    * _Step 3_: Invoke the LexEVS caGrid service as follows: 
    
    HistoryServiceGrid
    
    
  • Step 3: Invoke the LexEVS caGrid service as follows:

    Code Block
    HistoryServiceGrid history = 
    history = | h3. getSortAlgorithms {{getSortAlgorithms(SortContext)}} | Description: | Returns a description of all registered extensions used to provide additional filtering of query results. | | Input: | _
    lbs.getHistoryService(codingScheme);
    
    Code Block

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

    | _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);
    
    Code Block
  • Step

    2

    _

    :

    Invoke

    the

    LexEVS

    caGrid

    service

    as

    follows:

    | h3. resolveCodingSchemeCopyright {{resolveCodingSchemeCopyright
    Code Block
    SortDescriptionList sortDescList = lbs.getSortAlgorithms(sortContext);
    
    Code Block

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 :

  • | _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 {{

    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);
    
    Code Block
  • 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

:

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);
    
Implementation Details:

Usage Instructions

Service URL

The LexEVS Grid Service 4.2 URL is: :

Code Block
 Link provided for historical purposes http://lexevsapi.nci.nih.gov/wsrf/services/cagrid/LexEVSGridService

...

The service is also accessible via the :

caGRID Portal.

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 Table 4.1 and the NCICB software captured under the caBIG® umbrella are listed in Table 4.2.

Table 4.1 3rd Party Libraries

the following table.

Product

Jars

License

Home Page

Apache WS-Addressing

addressing-1.0.jar

adressing 1.0.LICENSE

From Globus 4.0.2 Java Web Services Core lib directory: http://www.globus.org/toolkit/downloads/4.0.2

Image Removed


Source available at:

Code Block
Link provided for historical purposes http://ws.apache.org/

...

addressin

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

...

...

...

Apache Xerces

xercesImpl.jar

xerces.LICENSE

http://xerces.apache.org/xerces-j

Image Removed

Apache Lucene

  • lucene-core-2.3.2.jar
  • lucene-regex-2.3.2.jar
  • lucene-snowball-2.3.2.jar

...

...

...

ASM - all purpose Java bytecode manipulation and analysis framework

asm.jar

http://asm.objectweb.org/license.html

Image Removed

http://asm.objectweb.org/

Image Removed

Castor

castor-1.2.jar

Code Block
Link provided for historical purposes http://www.castor.org/license.html
Image Removed
Code Block
Link provided for historical purposes http://www.castor.org/index.html
Image Removed

Globus Toolkit

cog-axis.jar
cog-jglobus.jar

...

...

...

Bouncy Castle Crypto APIs

jce-jdk13-125.jar

http://www.bouncycastle.org/licence.html

Image Removed

http://www.bouncycastle.org/

Image Removed

Open Permis

wsrf_core.jar
wsrf_core_stubs.jar

...

...

...

Apache
WSS4J

wss4j.jar

http://ws.apache.org/wss4j/license.html

Image Removed

http://ws.apache.org/wss4j/

Image Removed

Spring

spring.jar

Spring LICENSE

http://www.springframework.org

Image Removed

The NCICB software captured under the caBIG® umbrella are listed in the following table.Table 4.2 NCICB/caBIG Libraries

Library

Associated JARs

caGrid Software Libraries

caGrid-ServiceSecurityProvider-client-1.2.jar

caGrid Software Libraries

caGrid-ServiceSecurityProvider-common-1.2.jar .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:

https://gforge.nci.nih.gov/docman/view.php/491/14401/lexevs42-gridsrvc-jars.jarImage Removed. 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

See http://gforge.nci.nih.gov/docman/view.php/491/14252/TestClient.zipImage Removed

...

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

Include Page
SearchingForConcepts Snippet
:
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.

...

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
:
LexGridServiceConnection Snippet
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:

<font color="000FFF">NameName: SecurityToken
Namespace: gme://caCORE.caCORE/3.2/gov.nih.nci.evs.security
Package: gov.nih.nci.evs.security</font>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.

...

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.NOTE:

Info
titleNote

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.

Scrollbar
iconsfalse