Overview of LexEVS 5.0
LexEVS Architecture
November, 2009
Session Details: Overview of LexEVS 5.0
Course Outline
• Course Learning Objectives• Define the architecture components that are new in 5.0 and/or
replace older components. • Discuss the architecture components that make up the local,
distributed and grid environments.
Session Details: Overview of LexEVS 5.0
Lesson Syllabus
• Lesson 1: LexEVS Architecture• Lesson 2: LexEVS Environment Architecture
Lesson 1: LexEVS Architecture
• When you complete this lesson, you will be able to:• Identify the architecture components that are new in 5.0 and/or
replace older components.
Lesson 1: LexEVS Architecture
LexEVS Infrastructure
• LexEVS 5.0 represents the next generation of NCI Enterprise Vocabulary Services.
• In this release, the LexBIG Java API and LexGrid model become the strategic EVS interfaces, replacing the legacy EVS API and the EVS 3.2 model.
• This evolution has been part of a plan spanning many releases of EVS which cover versions 4.1, 4.2, 4.2.1 and ultimately 5.0.
Lesson 1: LexEVS Architecture
Release by Release – 4.1
• Release 4.1• Considered a Hybrid Design
• EVS 3.2 model and API build on LexGrid model and LexBIG API.
EVS Model Version 3.2
EVS API Version 3.2
LexGrid Model Version 2006/01
LexBIG API Version 2.2.1
• Supported Programming Interfaces
Direct Java LexBIG
Distributed Java (RMI) LexBIG
caCORE SDK Services EVS
caGRID Services EVS LexGrid Model/DB
LexBIG Java
LexBIG Distributed Java
Adapter
EVScaCORE
SDK(Java QBE,
SOAPRest)
EVScaGrid
Lesson 1: LexEVS Architecture
Release by Release – 4.2
• Release 4.2• Considered a Hybrid Design
• EVS 3.2 model and API build on LexGrid model and LexBIG API.
• New LexBIG API and LexGrid Model
• LexEVS provided caGrid Service
EVS Model Version 3.2
EVS API Version 3.2
LexGrid Model Version 2008/01
LexBIG API Version 2.3.0
• Supported Programming Interfaces
Direct Java LexBIG
Distributed Java (RMI) LexBIG
caCORE SDK Services EVS
caGRID Service EVS, LexEVS
LexGrid Model/DB
LexBIG Java API
LexBIG Distributed Java API
Adapter
LegacycaCORE
SDKServices
(QBE,SOAP,Rest)
LegacyEVS
caGridServices
LexEVScaGrid
Services(New)
Lesson 1: LexEVS Architecture
Release by Release – 4.2.1
• Release 4.2.1
• Minimal change release from 4.2• Deprecate Legacy EVS API/Model
LexGrid Model/DB
LexBIG Java API
LexBIG Distributed Java API
Adapter
LegacycaCORE
SDKServices
(QBE,SOAP,Rest)
LegacyEVS
caGridServices
LexEVScaGrid
Services
Lesson 1: LexEVS Architecture
Release by Release – 5.0
LexGrid Model/DB
LexEVScaCORE
SDK(Java QBE,
SOAP,Rest) LexEVS Java API
LexEVS Distributed Java
LexEVS caGrid Services
LexGrid Model/DB
LexBIG Java API
LexBIG Distributed Java API
Adapter
LegacycaCORE
SDKServices
(QBE,SOAP,Rest)
LegacyEVS
caGridServices
LexEVScaGrid
Services(New)
Release 4.2.1 Release 5.0
• Release 5.0• Unified Design
• Complete EVS shift to LexEVS API (LexEVS)
• Introduce LexEVS-based QBE services
Lesson 1: LexEVS Architecture
Release by Release – 5.0
LexGrid Model/DB
LexEVScaCORE
SDK(Java QBE,
SOAP,Rest) LexEVS Java API
LexEVS Distributed Java
LexEVS caGrid Services
LexGrid Model/DB
LexBIG Java API
LexBIG Distributed Java API
Adapter
LegacycaCORE
SDKServices
(QBE,SOAP,Rest)
LegacyEVS
caGridServices
LexEVScaGrid
Services(New)
Release 4.2.1 Release 5.0
• Release 5.0• Unified Design
• Complete EVS shift to LexEVS API
• Introduce LexEVS-based QBE services
Lesson 1: LexEVS Architecture
LexEVS Design Convergence
Design Components Release 4.2.1 Release 5.0
EVS Model Version 3.2 No Longer Available
EVS API Version 3.2 No Longer Available
LexGrid Model Version 2008/01 2009/01
LexBIG API Version 2.3.0 5.0
Supported Programming Interfaces Release 4.2.1 Release 5.0
Direct Java LexBIG LexEVS
Distributed Java (RMI) LexBIG LexEVS
caCORE SDK Services (REST, SOAP, RMI Interfaces for QBE, HQL, Hibernate Detached Criteria, SDK CQL, caGrid CQL)
EVS LexEVS
caGRID Service (Analytical and Data) EVS, LexEVS LexEVS
The supported programming interfaces are now all provided by LexEVS.
• The unified design of LexEVS 5.0 no longer supports the EVS Model and EVS API. Both have been completely replaced with LexEVS components
The convergence of LexEVS 5.0 components has introduced new naming of components:
Lesson 1: LexEVS Architecture
Benefits of LexEVS 5.0
• The 2008/01 model is updated to the 2009/01 LexGrid Model to provide more semantic consistency.
• LexEVS 5.0 introduces LexGrid-based Query-By-Example (QBE) services
• Unified OWL loader (Migration from the NCI OWL loader and a generic OWL loader to a single loader) to provide loading consistency.
• Updated to work with caCORE SDK 4.1
• Consistent naming and release numbers for API and services.
• Optimized query execution (deferred restriction resolution)
• Ability to place an arbitrary number of restrictions on a search request, which are automatically combined by the runtime when on node or graph resolution
• Improved concept search
• Support of additional match algorithms
• Ability to place multiple search restrictions based on properties by type, name, value, or qualifier
Lesson 1: LexEVS Architecture
Benefits of LexEVS 5.0
• Improved graph navigation
• Provide navigation of arbitrary relationships within a specific distance, uni- or bi-directional navigation.
• Ability to place multiple search restrictions based on association name or qualifier.
• Introduction of a Data Grid Service
• Previously only an analytical grid service was available.
Lesson 1: LexEVS Architecture
Review 1
What is the most impacting change from LexEVS 4.2.1 to LexEVS 5.0?
Lesson 1: LexEVS Architecture
Answer 1
• What is the most impacting change from LexEVS 4.2.1 to LexEVS 5.0?
Complete EVS shift to LexEVS API
Lesson 1: LexEVS Architecture
Review 2
LexEVS 5.0 is based on which version of the LexGrid Model?
Lesson 1: LexEVS Architecture
Answer 2
• LexEVS 5.0 is based on which version of the LexGrid Model?
LexGrid 2009/01 Model
Lesson 1: LexEVS Architecture
Review 3
Which programming interfaces are supported by LexEVS 5.0?
Lesson 1: LexEVS Architecture
Answer 3
• Which programming interfaces are supported by LexEVS 5.0?
Direct JavaDistributed JavacaCORE SDK ServicescaGRID Services
Lesson 2: LexEVS Environment Architecture
• When you complete this lesson, you will be able to:• Identify the architecture components that make up
• Local environment
• Distributed environment
• Grid environment
Lesson 2: LexEVS Environment Architecture
LexEVS Environments
• LexEVS consists of LexGrid Model & Storage, LexEVS Java API, LexEVS Distributed Service and LexEVS caGrid Service.
LexEVS caGrid Service
LexEVS Distributed / SDK Service
LexEVS Java API
LexGridModel & Storage
Lesson 2: LexEVS Environment Architecture
LexEVS API - Local/Direct
• Now we will discuss LexEVS API.
LexEVS Java API
LexGridModel & Storage
Lesson 2: LexEVS Environment Architecture
LexEVS API - Local/Direct
• The direct/local API consists of LexEVS on a local system (LexEVS installed). The API uses JDBC query the LexEVS database.
Database ServerLexEVS on Local System
LexEVS Install
JDBC
Direct
Model Objects
LexEVScaCORESDK APIs
Java API
LexGridMySQL DB
LuceneIndex Files
Distributed Java
LexEVScaGrid
API
Java(QBE)
ApplicationService
ClientWeb/Grid Service(Soap/HTTP/Rest)
Java(RMI)
( Distributed)
Client Application
Core API
Data Source
RMI
Lesson 2: LexEVS Environment ArchitectureLexEVS API - Local/Direct
• In a local environment, an application uses the Java API to access content in LexEVS.
Lesson 2: LexEVS Environment Architecture
LexEVS API – Distributed / SDK
• Now we will discuss LexEVS Distributed API.
LexEVS Distributed / SDK Service
LexEVS Java API
LexGridModel & Storage
Lesson 2: LexEVS Environment Architecture
LexEVS API – Distributed / SDK
• The distributed Java/SDK consists of a client system which uses RMI to communicate with a distributed LexEVS server where LexEVS API is installed. The API uses JDBC query the LexEVS database.
Database Server
Distributed LexEVS Server
RMI
LexEVS on Local System
LexEVS Install
Database Server
LexEVS Install
JDBC
JDBC
Direct
Distributed / SDK
LexBIG API Proxy
Client System
LexEVS Client Proxy
Model Objects
LexEVScaCORESDK APIs
Java API
LexGridMySQL DB
LuceneIndex Files
Distributed Java
LexEVScaGrid
API
Java(QBE)
ApplicationService
ClientWeb/Grid Service(Soap/HTTP/Rest)
Java(RMI)
( Distributed)
Client Application
Core API
Data Source
RMI
Lesson 2: LexEVS Environment ArchitectureLexEVS API – Distributed / SDK
• In a distributed environment, the client application uses the Distributed Java API (RMI) to access content in LexEVS or caCORE SDK Services which include REST, SOAP, RMI Interfaces for QBE, HQL, Hibernate Detached Criteria, SDK CQL, caGrid CQL.
Lesson 2: LexEVS Environment Architecture
LexEVS API – Distributed / SDK
• In a distributed environment, the client application uses the Distributed Java API (RMI) to access content in LexEVS or caCORE SDK Services which include REST, SOAP, RMI Interfaces for QBE, HQL, Hibernate Detached Criteria, SDK CQL, caGrid CQL.
Model Objects
LexEVScaCORESDK APIs
Java API
LexGridMySQL DB
LuceneIndex Files
Distributed Java
LexEVScaGrid
API
Java(QBE)
ApplicationService
ClientWeb/Grid Service(Soap/HTTP/Rest)
Java(RMI)
( Distributed)
Client Application
Core API
Data Source
RMI
Lesson 2: LexEVS Environment Architecture
LexEVS API – caGrid Service
• Now we will discuss LexEVS caGrid Service
LexEVS caGrid Service
LexEVS Distributed / SDK Service
LexEVS Java API
LexGridModel & Storage
LexEVS on Local System
LexEVS Install
Database Server
Distributed LexEVS Server
RMI
Database Server
LexEVS Install
JDBC
JDBC
Direct
Distributed / SDK
Database Server
LexBIG API Proxy
Client System
caGrid Host ServerClient System Distributed LexEVS Server
RMI
LexEVS Install
Grid
JDBCTCP
LexEVS Proxy
LexEVS Client Proxy
LexEVS Client Proxy
Lesson 2: LexEVS Environment Architecture
LexEVS API – caGrid Service
The caGrid Service consists of client system, caGrid Host Server, Distributed LexEVS Server and Database Server.
Model Objects
LexEVScaCORESDK APIs
Java API
LexGridMySQL DB
LuceneIndex Files
Distributed Java
LexEVScaGrid
API
Java(QBE)
ApplicationService
ClientWeb/Grid Service(Soap/HTTP/Rest)
Java(RMI)
( Distributed)
Client Application
Core API
Data Source
RMI
Lesson 2: LexEVS Environment Architecture
LexEVS API – caGrid Service
• In grid services environment, the client application calls the grid services interfaces which in turn call the distributed Java API to access content in LexEVS.
Lesson 2: LexEVS Environment Architecture
Review 1
LexEVS 5.0 distributed environment supports which interfaces?
Lesson 2: LexEVS Environment Architecture
Answer 1
LexEVS 5.0 distributed environment supports which interfaces?
Distributed Java API (RMI) caCORE SDK Services
Lesson 2: LexEVS Environment Architecture
Review 2
Which LexEVS 5.0 interfaces are provided by caCORE SDK Services?
Lesson 2: LexEVS Environment Architecture
Answer 2
Which LexEVS 5.0 interfaces are provided by caCORE SDK Services?
• REST
• SOAP
• RMI Interfaces for: QBE HQL Hibernate Detached Criteria SDK CQL caGrid CQL
Questions?