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

Include Page
wikicontent:Included No Longer Updated Panel
wikicontent:Included No Longer Updated Panel

Include Page
CTMSKC:GForge Link Notice to Include
CTMSKC:GForge Link Notice to Include

...

Page info
title
title

Panel
titleContents of this Page
Table of Contents
minLevel2

Include Page
VKC:VKC GForge Link Notice to Include
VKC:VKC GForge Link Notice to Include

Revision History

Content changes to this document from the previous to the current level are indicated by revision bars (|) unless a complete rewrite is indicated.

...

For more Documentation, Build/Deployment instructions and examples, visit refer to the project documentation home on the GForge archive page.

Scope

The LexEVS Grid service will provide programmatic access to the LexBIG domain objects that are available via the LexBIG information model.

...

The LexEVS Grid Service is implemented to expose the API and Model of LexBIG 2.3. For more information on LexBIG, see http://informatics.mayo.edu. the Mayo Clinic website

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
.

LexEVS Grid Service is deployed in a JBoss

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
Application Server, inside of a Globus Web |
Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
Web Application installation. LexEVS Grid Service depends on EVSAPI, which is also deployed to a JBoss container. For more information on the deployment of EVSAPI, see:

...

EVSAPI, see the GForge archive.

EVSAPI itself depends on an installation of LexBIG

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
.

The diagram below shows the various components of the LexEVS Grid Service System and how they interact.

...

The LexEVS Grid Service is built on the LexGrid/LexBIG model and implementation. For more information about this model, visit:

Code Block
Historical link
https://gforge.nci.nih.gov/plugins/scmsvn/viewcvs.php/LexBIG_Core_Services/LexBIG-2.3/lexbig/lbModel/?root=lexevs

and

Code Block
Historical link
https://gforge.nci.nih.gov/plugins/scmsvn/viewcvs.php/LexBIG_Core_Services/LexBIG-2.3/lgModel/?root=lexevs

Also, visit http://informatics.mayo.edu the Mayo website

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
for background information as well as Class Diagrams, examples, and other information.

For information specific to the LexEVS Grid Service, visit:

Code Block
Historical link
https://gforge.nci.nih.gov/plugins/scmsvn/viewcvs.php/LexBIG_Core_Services/LexBIG-2.3/lexbig/lbModel.cagrid/?root=lexevs

...

The main Service API exposed by the LexEVS Grid service will be the http://informatics.mayo.edu/LexGrid/downloads/javadocGrid/org/LexGrid/LexBIG/cagrid/interfaces/LexBIGServiceGrid.htmlLexBIGServiceGrid.html

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
Interface. All other APIs will not be directly exposed, but will be made available through Service Contexts.

...

http://informatics.mayo.edu/LexGrid/downloads/javadocGrid/org/LexGrid/LexBIG/cagrid/interfaces/LexBIGServiceGrid.html

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

Using the API

To use the LexEVS Grid Services, either org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter objects may be instantiated. These are two different Interfaces for accessing the Grid Services.

  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter- An Interface for interacting with the LexEVS Grid Services. This Interface is intended to mirror the existing LexBIG API as much as possible. There is no object wrapping for semantic purposes on this interface. This allows existing applications using the LexBIG API to used 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://...");
  • org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter- An Interface for interacting with the LexEVS Grid Services. 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://...");

...

Description

Returns the set of all (or all active) concepts in the specified coding scheme.

Input

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification, org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag

Output

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

Exception

RemoteException

Implementation Details

  1. Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.LexBIGService.CodedNodeSet.
  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:

  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build a org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag containing the Version information for the desired Coding Scheme

    Code Block
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag();
    csvt.setVersion("testVersion");
  3. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification();
    codingScheme.setCode(code);
  4. Invoke the LexBIG caGrid service as follows:
    CodedNodeSetGrid cns = lbs.getCodingSchemeConcepts(codingScheme, csvt);

...

Description

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

Input

org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification

Output:

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

Exception

RemoteException

Implementation Details

  1. Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.Extensions.Query.Filter
  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

  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification to hold the Extension name.

    Code Block
    ExtensionIdentification extension = new ExtensionIdentification();
    extension.setLexBIGExtensionName(name);
  3. Invoke the LexBIG caGrid service as follows:
    Filter filter = lbs.getFilter(extension);

...

Description

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

Input

org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification

Output:

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

Exception

RemoteException

Implementation Details

  1. Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.Extensions.Query.Sort
  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

  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification to hold the Extension name.

    Code Block
    ExtensionIdentification extension = new ExtensionIdentification();
    extension.setLexBIGExtensionName(name);
  3. Invoke the LexBIG caGrid service as follows:
    Filter filter = lbs.getSortAlgorithm(extension);

...

Description

Return detailed coding scheme information given a specific tag or version identifier.

Input

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification, org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag

Output

org.LexGrid.codingSchemes.CodingScheme

Exception

RemoteException

Implementation Details

Call this method on the associated LexBIG Service instance (or Distributed LexBIG instance) on the server, and forward the results.

Sample Call

  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification();
    codingScheme.setCode(code);
  3. Build a org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag containing the Version information for the desired Coding Scheme

    Code Block
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag();
    csvt.setVersion("testVersion");
  4. Invoke the LexBIG caGrid service as follows:
    CodedNodeSetGrid cns = lbs.resolveCodingScheme(codingScheme, csvt);

...

Description

Returns the node graph as represented in the particular relationship set in the coding scheme.

Input

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification, org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag,
org.LexGrid.LexBIG.DataModel.cagrid.RelationContainerIdentification

Output

''org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.
CodedNodeGraph.stubs.types.CodedNodeGraphReference''

Exception

RemoteException

Implementation Details

  1. Create a Resource on the server and populate it with the requested org.LexGrid.LexBIG.LexBIGService.CodedNodeGraph.
  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

  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new 
    CodingSchemeIdentification();
    codingScheme.setCode(code);
  3. Build an org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag containing the Version information for the desired Coding Scheme

    Code Block
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag();
    csvt.setVersion("testVersion");
  4. Build an org.LexGrid.LexBIG.DataModel.cagrid.RelationContainerIdentification containing the Relation Container information.

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

...

Description:

Returns an instance of the application-specific extension registered with the given name.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification

Output:

org.LexGrid.LexBIG.DataModel.Collections.SortDescriptionList

Exception:

RemoteException

Implementation Details:

Call this method on the associated LexBIG Service instance (or Distributed LexBIG instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);

    Info
    titleNote

    Currently this method will return a LexBIGServiceConvenienceMethods instance.

  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.ExtensionIdentification to hold the Extension name.

    Code Block
    ExtensionIdentification extension = new ExtensionIdentification();
    extension.setLexBIGExtensionName("LexBIGServiceConvenienceMethods");
  3. Invoke the LexBIG caGrid service as follows:
    LexBIGServiceConvenienceMethodsGrid lbscm = lbs.getGenericExtensions(extension);
  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.

...

Description:

Resolve a reference to the history api servicing the given coding scheme.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification

Output:

''org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.
HistoryService.stubs.types.HistoryServiceReference''

Exception:

RemoteException

Implementation Details:

  1. Call this method on the associated LexBIG Service instance (or Distributed LexBIG instance) on the server, and forward the results.
  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.HistoryService. This makes calling Grid Service Calls through org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.HistoryService.client.HistoryServiceClient transparent to the end user.

Sample Call:

  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification();
    codingScheme.setCode(code);
  3. Invoke the LexBIG caGrid service as follows:
    HistoryServiceGrid history = lbs.getHistoryService(codingScheme);

...

Description:

Return coding scheme copyright given a specific tag or version identifier.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification

Output:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeCopyRight

Exception:

RemoteException

Implementation Details:

Call this method on the associated LexBIG Service instance (or Distributed LexBIG instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification();
    codingScheme.setCode(code);
  3. Build an org.LexGrid.LexBIG.DataModel.Core.CodingSchemeVersionOrTag containing the Version information for the desired Coding Scheme

    Code Block
    CodingSchemeVersionOrTag csvt = new CodingSchemeVersionOrTag();
    csvt.setVersion("testVersion");
  4. Invoke the LexBIG caGrid service as follows:
    CodingSchemeCopyRight copyright = lbs.resolveCodingSchemeCopyright(codingScheme, csvt);

...

Description:

Sets the Security Token for the given Coding Scheme.

Input:

org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification, gov.nih.nci.evs.security.SecurityToken

Output:

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

Exception:

RemoteException

Implementation Details:

Call this method on the associated LexBIG Service instance (or Distributed LexBIG instance) on the server, and forward the results.

Sample Call:

  1. Connect to the LexBIG caGrid Service using the org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceAdapter or org.LexGrid.LexBIG.cagrid.adapters.LexBIGServiceGridAdapter
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification();
    codingScheme.setName("codingScheme");
  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");
  4. Invoke the LexBIG 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.
    LexBIGServiceGrid lbsg = lbs.setSecurityToken(codingScheme, metaToken);

...

For an example clients, service calls, and SOAP messages, see the sample code on the LexEVS documentation on GForge archive page.

Example API usage:

Searching for concepts in NCI Thesaurus containing the string "Gene"

Code Block

//Create a Connection to the Grid Service
LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(gridServiceURL);
 
//Set up the CodingSchemeIdentification object to define the Coding Scheme
CodingSchemeIdentification csid = new CodingSchemeIdentification();
csid.setName("NCI Thesaurus");
 
//Get the CodedNodeSet for that CodingScheme (This returns a CodedNodeSet Service Context) 
CodedNodeSetGrid cnsg = lbs.getCodingSchemeConcepts(csid, null); 
//getCodingSchemeConcepts is a Grid Service Call
 
//Set the text to match
MatchCriteria matchText = new MatchCriteria();
matchText.setText("Gene");
 
//Define a SearchDesignationOption, if any
SearchDesignationOption searchOption = new SearchDesignationOption();
 
//Choose an algorithm to do the matching
ExtensionIdentification matchAlgorithm = new ExtensionIdentification();
matchAlgorithm.setLexBIGExtensionName("contains");
 
//Chose a language
LanguageIdentification language = new LanguageIdentification();
language.setIdentifier("en");
 
//Restrict the CodedNodeSet
cnsg.restrictToMatchingDesignations(matchText, searchOption, matchAlgorithm, language); 
//restrictToMatchingDesignations is a Grid Service Call
 
//Create a SetResolutionPolicy to handle the details of Resolving the CodedNodeSet
//Here, we will set the Maximum number of Concepts returned to 10.
SetResolutionPolicy resolvePolicy = new SetResolutionPolicy();
resolvePolicy.setMaximumToReturn(10);
 
//Do the resolve
ResolvedConceptReferenceList rcrlist = cnsg.resolveToList(resolvePolicy); 
//resolveToList is a Grid Service Call
 
//Use the returned ResolvedConceptReferenceList to print some details about the concepts found

ResolvedConceptReference[] rcref = rcrlist.getResolvedConceptReference();
for (int i = 0; i < rcref.length; i++) {
	System.out.println(rcref[i].getConceptCode());
	System.out.println(rcref[i].getReferencedEntry().
		getPresentation()[0].getText().getContent()); 
}

...

LexEVS Grid Services use the WS-Resource Framework (WSRF) to allow for stateful calls to the server. When a client requests a Service Context, the client is not only issued a Reference to the Service Context that was requested, but to a unique stateful Resource on the server as well. This Resource is used in the LexEVS Grid Services as a way of statefully holding objects for further use by the client. For more information about how caGrid uses the WS-Resource Framework (WSRF), see http://www.cagrid.org/wiki/Metadata:WSRF

Code Block
Historical link
http://www.cagrid.org/wiki/Metadata:WSRF

For more information on how Resources are implemented in the LexEVS Grid Service, refer to this LexEVSGrid presentation.

Service Context Sequence

...

http://informatics.mayo.edu/LexGrid/downloads/javadocGrid/org/LexGrid/LexBIG/cagrid/interfaces/CodedNodeSetGrid.html

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

To construct a CodedNodeSet, the user calls getCodingSchemeConcepts as described above. When the user creates a CodedNodeSet through the API call getCodingSchemeConcepts, the server creates and stores the CodedNodeSet server-side as a Resource. This Resource is associated with the client and will be accessible only by the client that created it.

...

  1. The user requests a CodedNodeSet using getCodingSchemeConcepts.
    Include Page
    RequestCodedNodeSet CodedNodeSet SnippetRequestCodedNodeSet
    CodedNodeSet Snippet
  2. The server calls the Distributed LexBIG getCodingSchemeConcepts method, returning to the server an org.LexGrid.LexBIG.Impl.CodedNodeSetImpl (the implementation of org.LexGrid.LexBIG.LexBIGService.CodedNodeSet) object.
  3. The server then creates an org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.CodedNodeSet.service.globus.resource.CodedNodeSetResource. This Resource will be used to hold the instance of org.LexGrid.LexBIG.Impl.CodedNodeSetImpl, the implementation of org.LexGrid.LexBIG.LexBIGService.CodedNodeSet that was created above.
  4. The server returns an org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.CodedNodeSet.stubs.types.CodedNodeSetReference object to the client. This is the reference to the CodedNodeSet Service Context. This object has a direct reference to the Resource created above. The user now uses this client to make transparent Grid calls through the Service Context.
  5. The client may continue to make statefull calls to the CodedNodeSetClient and the assigned Resource.
  6. These restrictions are separate calls but statefully maintained on the server via the Resource.

...

http://informatics.mayo.edu/LexGrid/downloads/javadocGrid/org/LexGrid/LexBIG/cagrid/interfaces/CodedNodeGraphGrid.htmlcagrid/interfaces/CodedNodeGraphGrid.html

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

To construct a CodedNodeGraph, the user calls getNodeGraph as described above. When the user creates a CodedNodeGraph through the API call getNodeGraph, the server creates and stores the CodedNodeGraph server-side as a Resource. This Resource is associated with the client and will be accessible only by the client that created it.

...

  1. The user requests a CodedNodeGraph using getCodingSchemeConcepts.
    Include Page
    RequestCodedNodeGraph CodedNodeGraph SnippetRequestCodedNodeGraph
    CodedNodeGraph Snippet
  2. The server calls the Distributed LexBIG getNodeGraph method, returning to the server an org.LexGrid.LexBIG.Impl.CodedNodeGraphImpl (the implementation of org.LexGrid.LexBIG.LexBIGService.CodedNodeGraph) object.
  3. The server then creates an org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.CodedNodeGraph.service.globus.resource.CodedNodeGraphResource. This Resource will be used to hold the instance of org.LexGrid.LexBIG.Impl.CodedNodeGraphImpl, the implementation of org.LexGrid.LexBIG.LexBIGService.CodedNodeGraph that was created above.
  4. The server returns an org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.CodedNodeGraph.stubs.types.CodedNodeGraphReference object to the client. This is the reference to the CodedNodeGraph Service Context. This object has a direct reference to the Resource created above. The user now uses this client to make transparent Grid calls through the Service Context.
  5. The client may continue to make statefull calls to the CodedNodeGraphClient and the assigned Resource. For example, the client may add Restrictions to the CodedNodeGraph before a Resolve:
    Include Page
    CodedNodeGraphRestriction Snippet
    CodedNodeGraphRestriction Snippet
  6. These restrictions are separate calls but statefully maintained on the server via the Resource.

...

http://informatics.mayo.edu/LexGrid/downloads/javadocGrid/org/LexGrid/LexBIG/cagrid/interfaces/LexBIGServiceConvenienceMethodsGrid.html

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

To construct a LexBIGServiceConvenienceMethods, the user calls getGenericExtensions as described above. When the user creates a LexBIGServiceConvenienceMethods through the API call getGenericExtensions, the server creates and stores the LexBIGServiceConvenienceMethods server-side as a Resource. This Resource is associated with the client and will be accessible only by the client that created it.

...

http://informatics.mayo.edu/LexGrid/downloads/javadocGrid/org/LexGrid/LexBIG/cagrid/interfaces/LexBIGServiceMetadataGrid.html

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

To construct a LexBIGServiceMetadata, the user calls getServiceMetadata as described above. When the user creates a LexBIGServiceMetadata through the API call getServiceMetadata , the server creates and stores the LexBIGServiceMetadata server-side as a Resource. This Resource is associated with the client and will be accessible only by the client that created it.

...

http://informatics.mayo.edu/LexGrid/downloads/javadocGrid/org/LexGrid/LexBIG/cagrid/interfaces/HistoryServiceGrid.html

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

To construct a HistoryService, the user calls getHistoryService as described above. When the user creates a HistoryService through the API call getHistoryService, the server creates and stores the HistoryService server-side as a Resource. This Resource is associated with the client and will be accessible only by the client that created it.

...

http://informatics.mayo.edu/LexGrid/downloads/javadoc/org/LexGrid/LexBIG/Extensions/Query/Sort.html/Query/Sort.html

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

To construct a Sort, the user calls getSortAlgorithm as described above. When the user creates a Sort through the API call getSortAlgorithm, the server creates and stores the Sort server-side as a Resource. This Resource is associated with the client and will be accessible only by the client that created it.

...

  1. The user requests a Sort using getSortAlgorithm .
    Include Page
    :RequestSort Snippet:
    RequestSort Snippet
  2. The server calls the Distributed LexBIG getSortAlgorithm method, returning to the server an implementation of org.LexGrid.LexBIG.Extensions.Query.Sort) object.
  3. The server then creates an org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.Sort .service.globus.resource.Sort Resource. This Resource will be used to hold the instance of an implementation of org.LexGrid.LexBIG.Extensions.Query.Sort.
  4. The server returns an org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.service.SortClient object to the client. This is the client to the Sort Service Context. This object has a direct reference to the Resource created above. This SortClient implements org.LexGrid.LexBIG.Extensions.Query.Sort. The user now uses this client to make transparent Grid calls through the Service Context. Because this Sort implements org.LexGrid.LexBIG.Extensions.Query.Sort, API calls will look to the user as being identical to direct LexBIG API calls.
  5. The client may continue to make statefull calls to the SortClient and the assigned Resource. For example, the client may call any method in org.LexGrid.LexBIG.Extensions.Query.Sort

    Wiki Markup

    Include Page
    RequestSortCompare Snippet
    RequestSortCompare Snippet
    {Include:RequestSortCompare Snippet}
  6. These API calls are separate calls but statefully maintained on the server via the Resource.

...

http://informatics.mayo.edu/LexGrid/downloads/javadoc/org/LexGrid/LexBIG/Extensions/Query/Filter.htm

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

To construct a Filter, the user calls getFilter as described above. When the user creates a Filter through the API call getFilter, the server creates and stores the Sort server-side as a Resource. This Resource is associated with the client and will be accessible only by the client that created it.

...

http://informatics.mayo.edu/LexGrid/downloads/javadoc/org/LexGrid/LexBIG/Utility/Iterators/ResolvedConceptReferencesIterator.html

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include

A ResolvedConceptReferencesIterator is created when a CodedNodeSet or CodedNodeGraph is resolved. It allows results to be returned from the server incrementally instead of all at once. When the user creates a ResolvedConceptReferencesIterator, the server creates and stores the ResolvedConceptReferencesIterator server-side as a Resource. This Resource is associated with the client and will be accessible only by the client that created it.

...

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.

...

Security in the LexEVS Grid Service is implemented in the Distributed LexBIG layer. The information in this section explains how the LexEVS Grid Services utilize this security implementation. For more information about the Distributed LexBIG Security Implementation, see this documentation:

...

. For more information about the Distributed LexBIG Security Implementation, refer to LexBIG Access to Licensed Vocabulary Implementation, attached to the EVS API GForge documents archive.

LexEVS Grid Service Security

...

  1. Connect to the LexBIG caGrid Service
    LexBIGServiceGrid lbs = new LexBIGServiceGridAdapter(url);
  2. Build an org.LexGrid.LexBIG.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.

    Code Block
    CodingSchemeIdentification codingScheme = new CodingSchemeIdentification();
    codingScheme.setName("codingScheme");
  3. Build an gov.nih.nci.evs.security.SecurityToken containing the security information for the desired Coding Scheme.

    Code Block
    SecurityToken token = new SecurityToken();
    token.setAccessToken("securityToken");
  4. Invoke the LexBIG 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.
    LexBIGServiceGrid lbsg = lbs.setSecurityToken(codingScheme, token);

...

LexEVS Grid Services utilize the performance enhancements of the LexBIG API.
For more information about LexBIG performance (which LexEVS Grid Services are dependent on), see http://informatics.mayo.edu the Mayo Clinic website

Multiexcerpt include
nopaneltrue
MultiExcerptNameExitDisclaimer
PageWithExcerptwikicontent:Exit Disclaimer to Include
.

Internationalization

Not Internationalized

...

Both the current version of LexEVS grid service and a previous version may be "in service" simultaneously if the corresponding underlying EVSAPI service is also "in service" to manage migration of clients.

System Testing

See LexEVS Grid Service Testing Documentation

...

(LexEVS Grid Service System Testing in the Project Documents, Development Documents section)

Scrollbar
iconsfalse