Page History
...
Section | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Warning | ||
---|---|---|
| ||
Data services were deprecated in LexEVS 6.4.1 and removed in 6.5. The Java based remote method invocation will remain available for the time being. These services are replaced by a separate CTS2 compliant web service described in the CTS2 API. |
Introduction
The focus of documentation will be the Java based LexEVS remote method invocation service.
...
Info | ||||
---|---|---|---|---|
| ||||
Overview
This exposes the LexEVS Service model via a Remote Method Invocation service.
...
Code Block | ||||
---|---|---|---|---|
| ||||
<dependencies> <dependency> <groupId>lexevs.dist.client</groupId> <artifactId>lexevs.dist.client</artifactId> <version>0<version>6.5.0.1-SNAPSHOT<FINAL</version> </dependency> </dependencies> |
Users should be able to access a remote service with code similar to the following (Service URL should be adjusted to a valid LexEVS API service such as the one hosted at NCI):
Code Block | ||||
---|---|---|---|---|
| ||||
package org.lexgrid.lexevs.remote.client; import org.LexGrid.LexBIG.DataModel.Collections.CodingSchemeRenderingList; import org.LexGrid.LexBIG.DataModel.InterfaceElements.CodingSchemeRendering; import org.LexGrid.LexBIG.Exceptions.LBInvocationException; import org.LexGrid.LexBIG.caCore.interfaces.LexEVSDistributed; import gov.nih.nci.system.client.ApplicationServiceProvider; public class MavenBasedPrototype { LexEVSDistributed lbs = null; private static String serviceUrl = "https://localhost.daplie.com:8443/lexevsapi65"; public void run() throws LBInvocationException{ try { lbs = (LexEVSDistributed)ApplicationServiceProvider.getApplicationServiceFromUrl(serviceUrl, "EvsServiceInfo"); } catch(Exception e){ System.out.println("Starting LexEVS Remote Client fails" + e); } CodingSchemeRenderingList list = lbs.getSupportedCodingSchemes(); for(CodingSchemeRendering rendering: list.getCodingSchemeRendering()){ System.out.println(rendering.getCodingSchemeSummary().getFormalName()); } } public static void main(String[] args) { try { new MavenBasedPrototype().run(); } catch (LBInvocationException e) { e.printStackTrace(); } } } |
...
Background:
Architecture
The LexEVS API is exposed by the LexEVS caCORE System for remote access through the caCORE System's LexEVSApplicationService
class which implements the LexBIGService
interface.
The distributed LexEVS API environment will be configured on the LexEVS Server currently at (https://lexevsapi6lexevsapi65.nci.nih.gov/lexevsapi64lexevsapi65/).
LexEVS Annotations
To address LexEVS DAOs, the LexEVS API integration incorporates:
...
The interceptor is responsible for intercepting all client calls on the methods in each object. If a method is marked with the @lgClientSideSafe annotation, it proceeds normally. Otherwise, the object, method name, and parameters are sent to the caCORE LexEVS server for remote execution.
Scrollbar | ||
---|---|---|
|