Title: caBIG Interoperability and Compatibility
1caBIG Interoperability and Compatibility
- Patrick McConnell
- Duke Comprehensive Cancer Center
Brian Davis 3rd Millennium
2Agenda
- What is interoperability and compatibility?
- What does it mean to be caBIG compatible?
- How does a system become caBIG compatible?
- How do you build a caBIG compatible system?
- Can we answer any questions for you?
3Interoperability
- ability of a system to access and use the parts
or equipment of another system
Semanticinteroperability
Syntacticinteroperability
4Compatibility
- When two systems can interoperate (access/use),
they are compatible - Compatibility usually involves a set of
guidelines to become interoperable - So, we will talk mostly of compatibility, which
inherently includes interoperability
5Examples of Incompatibility
- Semantic incompatibility
- French and Spanish speakers
- Syntactic incompatibility
- Blind person speaking to deaf person using sign
language.
6Compatibility
SYNTACTIC
caBIG Compatibility Guidelines
7Programming and Messaging Interfaces
Examples
- JavaDocs
- XML, ASN.1
- SOAP, CORBA
- Globus
- caGrid-based services
TM
8Information Models (UML Models)
Examples
TM
9Vocabularies/Terminologies
Examples
- GeneOntology
- NCI Thesaurus
- GeneOntology registered in EVS
- NCI Thesaurus
TM
10Common Data Elements (CDEs)
Examples
TM
11Becoming caBIG Compliant
- Build a caBIG-compliant system
- Developing a Model Driven Architecture (MDA)
Approach - The caCORE SDK can help
- Complete a caBIG compatibility review
- Bronze, Silver, and Gold reviews
- Industry partners Bronze self-certification
- caBIG Funded Participants Silver level review by
cross-cutting workspace review - Gold process is still being finalized
12Bronze-level Certification
- https//cabig.nci.nih.gov/guidelines_documentation
- A verified self assessment
- Descriptive documentation of the interface
- Public controlled vocabularies
- Data element descriptions constructed from
controlled terminology sources - Diagrammatic information model
- Developer completes a self assessment
- NCICB reviews
13Silver-level Review Questions that the
cross-cutting review teams ask
- Is there an object model of input and output
data? Can parts of the object model be re-used? - Are the concepts (vocabulary) used to describe
the objects available for others to re-use? (EVS) - Are the common data elements (CDEs - data
descriptors) that describe the object model
(objects and attributes) available to others for
re-use? (caDSR) - Is there a public Application Programmers
Interface (API) that describes the data
descriptors (CDEs)?
14The caCORE SDK workflow can help achieve Silver
level compliance
15The caCORE SDK workflow can help achieve Silver
level compliance
Vocabularies
Info Model
Common Data Elements
Messaging Interfaces/ API
16Gold-level Compliance
- Gold-level compatibility guidelines are not yet
complete - We know this involves
- CDE harmonization
- Vocabulary harmonization
- caGrid compatibility
17caBIG System Types
- Information system
- Provides mechanisms to access data
- Java beans, queries, etc.
- Data is caBIG-compliant
- Analysis tool
- Algorithmic manipulation, visualization
- Input caBIG-compliant data
- Analysis service
- A tool that can be invoked programmatically
(remotely) - Input caBIG-compliant data
- Returns caBIG-compliant data
18Building an information systemThe MDA Approach
- Analyze the problem space and develop the
artifacts for each scenario - Use Cases
- Use Unified Modeling Language (UML) to
standardize model representations and artifacts.
Design the system by developing artifacts based
on the use cases - Class Diagram Information Model
- Sequence Diagram Temporal Behavior
- Use meta-model tools to generate the code
19UML Class Diagram
20UML Sequence Diagram
21Using caCORE to supplement MDA
- MDA has limitations
- Limited expressivity for semantics
- No facility for runtime semantic metadata
management - caCORE SDK
- UML Modeling Tool (any with XMI export)
- Semantic Connector (concept binding utility)
- UML Loader (model registration in caDSR)
- Codegen (middleware code generator)
- Security Adaptor (Common Security Module)
22caCORE Architecture
Clients
Data
Middleware
Web Application Server
HTTP Clients
A P I
Biomedical Data
Interfaces Java SOAP XML
A P I
SOAP Clients
Common Data Elements
Domain Objects Gene, Disease, etc.
Domain Objects Gene, Disease, Agent, etc.
Data Access Objects
A P I
Perl Clients
Enterprise Vocabulary
Data Access Objects
A P I
Java Applications
Authorization
23Building Analytical Tools and Services
- caCORE SDK does not directly address analytics
- Consuming/producing caBIG-compatible data
- Semantic Connector, UML Loader
- Providing APIs
- JavaDoc
- Providing programmatic access
- Apache Axis (web services)
http//photos.sys-con.com/story/res/39696/fig2.jpg
24From Silver to Gold
- Not all use cases are addressed by
Silver-compatible systems - Advertisement
- Service Provider composes service metadata
describing the service and publishes it to grid.
- Discovery
- Researcher (or application developer) specifies
search criteria describing a service of interest - The research submits the discovery request to a
discovery service, which identifies a list of
services matching the criteria, and returns the
list. - Invocation
- Researcher (or application developer)
instantiates the grid service and access its
resources
25Grid View
26caGrid
Functions
Management
Metadata Management
ID Resolution
Schema Management
Workflow
Security
Resource Management
Service Registry
Service
Service Description
Grid Communication Protocol
Transport
OGSA Compliant - Service Oriented Architecture
27Grid Services
- Two types of top-level grid services defined
- Data Services respond to queries and return
caBIG-compatible data objects - Analytical Services accept and process caBIG
data objects, then return results that are also
caBIG data objects. - caGrid Introduce Toolkit
- Provides a mechanism for creating caGrid services
- All you have to do is plug in the implementation
28Questions?
- What is interoperability and compatibility?
- What does it mean to be caBIG compatible?
- How does a system become caBIG compatible?
- How do you build a caBIG compatible system?
- Can we answer any questions for you?
29References
- Compatibility Guidelines revision 2
- https//cabig.nci.nih.gov/guidelines_documentation
/caBIGCompatGuideRev2_final.pdf - Bronze Certification
- https//cabig.nci.nih.gov/guidelines_documentation
- Sliver-Level Compatibility Reviews
- https//cabig.nci.nih.gov/workspaces/VCDE/VCDE_Com
patibility_Review/Compatibility_Review - caCORE SDK Programmers Guide
- http//gforge.nci.nih.gov/docman/view.php/58/1459/
caCORE_SDK1.1_Programmers_Guide.pdf - Vocabulary and Common Data Elements Workspace
Website - https//cabig.nci.nih.gov/workspaces/VCDE
- Architecture Workspace Website
- https//cabig.nci.nih.gov/workspaces/Architecture
- caGrid
- https//cabig.nci.nih.gov/workspaces/Architecture/
caGrid/ - caGrid download
- http//ncicb.nci.nih.gov/download/
- caGrid 1.0 development
- http//gforge.nci.nih.gov/projects/cagrid-1-0/