Page History
...
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:
| ||||||||
| Sample Call:
|
...
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:
| ||||||
| Sample Call:
|
...
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. | ||||||
Exception: | RemoteException | ||||||
Implementation Details: | Implementation:
| ||||||
| Sample Call:
|
...
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:
|
getServiceMetadata
getServiceMetadata()
}}
| Description: | | Return an interface to perform system-wide query over metadata for loaded code systems and providers. | | | |||||||
Input: | _none_ | | Output: | _ | none | |||||||
Output: | org.LexGrid.LexBIG.cagrid.LexBIGCaGridServices.LexBIGServiceMetadata. _ _
| |||||||
Exception: | RemoteException | |||||||
Implementation Details: | Implementation:
| |||||||
| Sample Call:'
|
getSupportedCodingSchemes
getSupportedCodingSchemes()
}}
| Description: | | Return a list of coding schemes and versions that are supported by this service, along with their status. | | | ||||||||
Input: | none | ||||||||
Output: | | _none_ |
| Output: | _ org.LexGrid.LexBIG.iso21090.DataModel.Collections.CodingSchemeRenderingList _ | | | ||||||||
Exception: | RemoteException | ||||||||
Implementation Details: | Implementation:
|
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: | | _none_ |
| Output: | _ java.util.Date | |||||||
Exception: | RemoteException | |||||||
Implementation Details: | Implementation:
|
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:
|
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.
| ||||||||||||||||||
Exception: | RemoteException | ||||||||||||||||||
Implementation Details: | Implementation:
|
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:
|
getGenericExtensions
getGenericExtensions()
Description: | Returns a description of all registered extensions used to implement application-specific behavior that is centrally accessible from a LexBIGService.
| |||||||
Input: | none | |||||||
Output: | org.LexGrid.LexBIG.iso21090.DataModel.Collections.ExtensionDescriptionList _ | | | |||||||
Exception: | RemoteException | |||||||
Implementation Details: | Implementation:
|
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:
|
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. _ _
| |||||||||||
_ |
| Exception: | RemoteException | |||||||||||
Implementation Details: | Implementation:
|
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:
|
resolveCodingSchemeCopyright
resolveCodingSchemeCopyright(CodingSchemeIdentification)
Description: | Return coding scheme copyright given a specific tag or version identifier. | ||||||
Input: | }}
| 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:
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
Code Block |
---|
* _Step 4_: Invoke the LexEVS caGrid service as follows:
|
...
|
...
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 | |||||||||
gov.nih.nci.evs.security.SecurityToken | ||||||||||
Output: | org.LexGrid.LexBIG.cagrid.LexEVSGridService.stubs.types.LexEVSGridServiceReference.LexEVSGridServiceReference | |||||||||
Exception: | RemoteException | |||||||||
Implementation Details: | Implementation:
|
Usage Instructions
Service URL
...
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 Librariesthe following table.
Product | Jars | License | Home Page |
---|---|---|---|
Apache WS-Addressing | addressing-1.0.jar | From Globus 4.0.2 Java Web Services Core lib directory: http://www.globus.org/toolkit/downloads/4.0.2
|
...
Apache Axis |
|
...
...
...
Apache Xerces | xercesImpl.jar | http://xerces.apache.org/xerces-j | |
Apache Lucene |
|
...
...
...
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 | http://www.castor.org/license.html | http://www.castor.org/index.html |
Globus Toolkit | cog-axis.jar |
...
...
Bouncy Castle Crypto APIs | jce-jdk13-125.jar | http://www.bouncycastle.org/licence.html | http://www.bouncycastle.org/ |
Open Permis | wsrf_core.jar |
...
...
...
Apache | wss4j.jar | http://ws.apache.org/wss4j/license.html | http://ws.apache.org/wss4j/ |
Spring | spring.jar | http://www.springframework.org |
Table 4.2 NCICB/caBIG LibrariesThe 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-ServiceSecurityProvider-common-1.2.jar | |
caGrid-ServiceSecurityProvider-stubs-1.2.jar | |
caGrid-core-1.2.jar | |
caGrid-metadata-common-1.2.jar | |
caGrid-metadata-data-1.2.jar | |
caGrid-metadata-security-1.2.jar | |
caGrid-metadatautils-1.2.jar | |
EVS API Libaries | evsapi42-beans.jar |
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 |
...
For your convenience, the required libraries are available for download here:
https://gforge.nci.nih.gov/docman/view.php/491/14401/lexevs42-gridsrvc-jars.jar. 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.See http://gforge.nci.nih.gov/docman/view.php/491/14252/TestClient.zip
Example API usage
Example 1: Searching for concepts in NCI Thesaurus containing the string "Gene."
Include Page | ||||
---|---|---|---|---|
|
Error Handling
Error Connecting to LexEVS Grid Service
...
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 | ||||
---|---|---|---|---|
|
This example shows a typical connection to the LexEVS Grid Service, with the two potential Exceptions being caught and handled as necessary.
...
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">Name: SecurityToken
Namespace: gme://caCORE.caCORE/3.2/gov.nih.nci.evs.security
Package: gov.nih.nci.evs.security</font>
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(<font color="000FFF">url</font>); - Step 2: Build an org.LexGrid.LexBIG.iso21090.DataModel.cagrid.CodingSchemeIdentification to hold the Coding Scheme name.
Code Block CodingSchemeIdentification <font color="000FFF">codingScheme</font> = <font color="990066">*new*</font> CodingSchemeIdentification();
...
codingScheme.setName(<font color="000FFF">"codingScheme"</font>);
- Step 3: Build an gov.nih.nci.evs.security.SecurityToken containing the security information for the desired Coding Scheme.
<span style="background-color: #CCCCCC">SecurityToken</span> token = <font color="990066">new</font> <span style="background-color: #CCCCCC">SecurityToken</span> ();
token.setAccessToken(<font color="000FFF">"securityToken"</font>); - 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.
It is important to note that the Grid Service "setSecurityToken" returns anCode Block LexBIGServiceGrid lbsg = lbs.setSecurityToken(<font color="000FFF">codingScheme, token</font>);
...
- {{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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
|