Objective
The 6.4 release presents a handful of significant changes to LexEVS. These changes will require the users of LexEVS 6.4.1 and earlier to migrate to a new client jar for the API, and possibly to adjust the way they query our REST services. These changes are:
- A service set wide update to the Java 8 code base from Java 7
- The removal of all legacy caCORE Data Services including QBE, Soap and REST services from the LexEVS Remote API
Migration Notes
End User API Migration
- lexbig.jar
- LexEVSSecurity.jar
- lexevsapi65-beans.jar (replaces lexevsapi64-beans.jar)
- lexevsapi65-framework.jar (replaces lexevsapi64-framework.jar)
You will also need to update your application-config-client.xml file.
Moving your own code base to Java 8 will likely be necessary. Upgrading to Java 8 can be affected by issues with bean construction and collection order. These are not compile time issues and will manifest as run time exceptions. We recommend you prepare accordingly by testing your code base by compiling in and running tests against Java 8.
Maven Dependency Management
A LexEVS remote client project provides pom file based access to all supported client jars. Users of the pom in this project: https://github.com/lexevs/LexEVS_Distributed_Client.git can update versions of LexEVS and LexEVS remote client jar sets to 6.5.0.FINAL and 6.5.0 respectively. We are moving our support model to providing client jars to the end user via maven style repositories based in this Nexus system: https://ncimvn.nci.nih.gov/nexus/#welcome
Pom File Updates (Available on release of 6.5.0 in the distributed client repository) and working pom file example.
<plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin>
<properties> <forkMode>never</forkMode> <lexevs.version>6.5.0.FINAL</lexevs.version> <cagrid.version>1.3</cagrid.version> <lexevs.remote.version>6.5.0</lexevs.remote.version> </properties>
<dependency> <groupId>lexevs</groupId> <artifactId>lexevs-remote-client</artifactId> <version>6.5.0</version> </dependency>
<dependency> <groupId>lexevs</groupId> <artifactId>lexevsapi-beans</artifactId> <version>6.5.0</version> </dependency>
<dependency> <groupId>lexevs</groupId> <artifactId>LexEVSSecurity</artifactId> <version>6.5.0</version> </dependency>
<dependency> <groupId>sdk</groupId> <artifactId>sdk-client-framework</artifactId> <version>6.5.0</version> </dependency> <dependency> <groupId>sdk</groupId> <artifactId>sdk-grid-remoting</artifactId> <version>6.5.0</version> </dependency> <dependency> <groupId>sdk</groupId> <artifactId>sdk-security</artifactId> <version>6.5.0</version> </dependency>
End User REST / Data Service Migration
- A REST Call to LexEVS like https://lexevsapi6.nci.nih.gov/lexevsapi64/GetXML?query=org.LexGrid.concepts.Entity%5B@_entityCode=C29378%5D
- Will instead look like this: https://lexevscts2.nci.nih.gov/lexevscts2/codesystem/NCI_Thesaurus/entity/C29378?format=xml
- Or even https://lexevscts2.nci.nih.gov/lexevscts2/codesystem/NCI_Thesaurus/entity/C29378?format=json
Support
LexEVS will be maintaining dual servers for a period of time to allow people to migrate from earlier versions to 6.5.0. The date of the sunsetting of older versions has not been set and will depend on user feedback. If you have any concerns, questions or comments please contact us at:
Server-side changes
- CentOS 7
- MySQL 5.6