XService, HL7 aECG, and AIME Tony Pan, Fusheng Wang, Justin Permar, Ashish Sharma, Tahsin Kurc, Joel Saltz.

Slides:



Advertisements
Similar presentations
CACORE TOOLS FEATURES. caCORE SDK Features caCORE Workbench Plugin EA/ArgoUML Plug-in development Integrated support of semantic integration in the plugin.
Advertisements

CVRG Presenter Disclosure Information Tahsin Kurc, PhD Center for Comprehensive Informatics Emory University CardioVascular Research Grid Core Infrastructure.
XML: Extensible Markup Language
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Database Systems: Design, Implementation, and Management Ninth Edition
Dorian Grid Identity Management and Federation Dialogue Workshop II Edinburgh, Scotland February 9-10, 2006 Stephen Langella Department.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
CaGrid Service Metadata Scott Oster - Ohio State
PAWN: A Novel Ingestion Workflow Technology for Digital Preservation
Chapter 14 Database Connectivity and Web Technologies
PAWN: A Novel Ingestion Workflow Technology for Digital Preservation Mike Smorul, Joseph JaJa, Yang Wang, and Fritz McCall.
Technical Introduction to caGrid Service Development caGrid 1.3 Justin Permar caGrid Knowledge Center
OpenMDR: Generating Semantically Annotated Grid Services Rakesh Dhaval Shannon Hastings.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
OpenMDR: Alternative Methods for Generating Semantically Annotated Grid Services Rakesh Dhaval Shannon Hastings.
Cancer Bioinformatics Grid (caBIG) CANS 2006 Chicago, Illinois Shannon Hastings Department of Biomedical Informatics Ohio State University.
Web Services Experience Language Web Services eXperience Language Technical Overview Ravi Konuru e-Business Tools and Frameworks,
XML Overview. Chapter 8 © 2011 Pearson Education 2 Extensible Markup Language (XML) A text-based markup language (like HTML) A text-based markup language.
LexEVS 6.0 Overview Scott Bauer Mayo Clinic Rochester, Minnesota February 2011.
Department of Biomedical Informatics Service Oriented Bioscience Cluster at OSC Umit V. Catalyurek Associate Professor Dept. of Biomedical Informatics.
CaBIG Semantic Infrastructure 2.0: Supporting TBPT Needs Dave Hau, M.D., M.S. Acting Director, Semantic Infrastructure NCI Center for Biomedical Informatics.
LexEVS Overview Mayo Clinic Rochester, Minnesota June 2009.
Using the Open Metadata Registry (openMDR) to create Data Sharing Interfaces October 14 th, 2010 David Ervin & Rakesh Dhaval, Center for IT Innovations.
Intro. to XML & XML DB Bun Yue Professor, CS/CIS UHCL.
H Using the Open Metadata Registry (OpenMDR) to generate semantically annotated grid services Rakesh Dhaval, MS, Calixto Melean,
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Nadir Saghar, Tony Pan, Ashish Sharma REST for Data Services.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Ashish Sharma, Tony Pan, Barla Cambazoglu, Joel Saltz Ohio State University, Columbus, OH (ashish, tpan, October 10, 2007 caBIG In Vivo.
Introduce Grid Service Authoring Toolkit Shannon Hastings, Scott Oster, Stephen Langella, David Ervin Ohio State University Software Research Institute.
CaGrid Overview and Core Services caGrid Knowledge Center February 2011.
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
XML and Database.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Java EE Patterns Dan Bugariu.  What is Java EE ?  What is a Pattern ?
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
In Vivo Imaging Middleware and Applications RSNA 2007 Berkant Barla Cambazoglu The Ohio State University Department of Biomedical Informatics.
CaBIG™ Terminology Services Path to Grid Enablement Thomas Johnson 1, Scott Bauer 1, Kevin Peterson 1, Christopher Chute 1, Johnita Beasley 2, Frank Hartel.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
2) Database System Concepts and Architecture. Slide 2- 2 Outline Data Models and Their Categories Schemas, Instances, and States Three-Schema Architecture.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
The AstroGrid-D Information Service Stellaris A central grid component to store, manage and transform metadata - and connect to the VO!
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Introduction: Databases and Database Systems Lecture # 1 June 19,2012 National University of Computer and Emerging Sciences.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Cancer Bioinformatics Grid (caBIG) CANS 2006 Chicago, Illinois
Databases (CS507) CHAPTER 2.
Chapter 2 Database System Concepts and Architecture
CMS High Level Trigger Configuration Management
Sabri Kızanlık Ural Emekçi
Open Source distributed document DB for an enterprise
Chapter 1: Introduction
Middleware independent Information Service
Fred Prior, Ph.D. Mallinckrodt Institute of Radiology
GSAF Grid Storage Access Framework
Database Processing with XML
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Database Management System (DBMS)
Chapter 1 Database Systems
What’s changed in the Shibboleth 1.2 Origin
Software Architecture
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Metadata The metadata contains
Chapter 1 Database Systems
SDMX IT Tools SDMX Registry
Presentation transcript:

xService, HL7 aECG, and AIME Tony Pan, Fusheng Wang, Justin Permar, Ashish Sharma, Tahsin Kurc, Joel Saltz

Outline Motivation Design and Implementation Compare and Contrast to caCORE SDK Services HL7 aECG and AIME experience Future Directions and Conclusions 2

Motivation  XML, eXtensible Markup Language, is becoming the de facto standard data representation on the internet  Separates data from presentation - e.g. XML transformed to HTML via XSLT  Simplifies data exchange – hardware and software agnostic, self-describing  Customizable for different technology platforms – e.g. SOAP, XHTML, RSS  Customizable for different domains – e.g. BSML, MathML, HL7 v3  Commercial databases are increasingly providing support for XML data storage and management  Technology: Oracle XML DB, IBM DB2 PureXML, BerkeleyDB XML, eXist  Application Databases: SciPort, XNAT, TigerLogic XML Life Sciences Data Server, cgMDR  Increasing use of XML in biomedical applications increases need for data management and exchange in native XML format  Cardiovascular Research Grid (CVRG) HL7 annotated ECG data  Cancer Bioinformatics Grid (caBIG®) In Vivo Imaging Workspace Annotation and Image Markup (AIM) project Need caGrid-based data services that supports EXISTING XML schemas, EXISTING XML data, and/or EXISTING XML databases

caGrid Data Service Specification  caGrid is the caBIG® core middleware software  Service Oriented Architecture  Model Driven Architecture  caGrid Data Services  Inherits capabilities of caGrid service, including security, metadata management, SOAP messaging, WSDL description, etc  Extend caGrid service with  Domain Model metadata to specify data types (classes), attributes, association relationships between classes, and inheritances  A single operation, “query”, with CQL as input, and CQLQueryResults as output  CQL represents a Domain Model-conformant tree pattern to be matched when filtering results  CQLQueryResults contains XML representations of data instances, deserializable to language specific object representations (java beans,.NET classes)  Query operation is supported by a CQLQueryProcessor implementation which abstracts the backend database

xService – Project Objective “Need caGrid-based data services that supports EXISTING XML schemas, EXISTING XML data, and/or EXISTING XML databases” Objective: Design and Implement a caGrid Data Service Specification- compliant framework, xService, to support creation of XML schema- and database- backed caGrid services  Design needs to address the objective, and provide functionalities out- of-box  Components  XML database access layer with query, upload, update, and delete capabilities  XSD to caGrid Domain Model generator  XPathCQLQueryProcessor implementation to translate CQL to XPath and execute XML database queries  xService creation wizard plug-in for caGrid Introduce

XML Database Access Layer  xService interacts with the XML database through XML Database Access Layer API and passes data back to client via caGrid  XML databases do not have standardized query API analogous to JDBC and ODBC  Query language is typically XPath or Xquery  Varying support for transactions, concurrency, and lazy retrieval  Abstraction API for XML databases  Provides query, upload, update, and delete operations  Supports lazy retrieval  Supports transactions and concurrent access, where possible  Leverages XML element and attribute indexes where possible  Avoid serialization/deserialization where possible  Currently supports IBM DB2 pureXML, Berkeley DB XML, and eXist

caGrid Domain Model Generation  Domain Model Generation is performed at service creation time by xService Introduce plugin  Differentiates between caCORE SDK generated XSD (e.g. from XMI import in Introduce), and all other XSDs  caCORE SDK generated XSD maps to ca/gridDomain Model specifically  Need to ensure consistency of Domain Model among services  Generation process parses XSD input, and creates  Domain Model  Domain Model class to XML element QName mappings  Domain model and class-to- QName mappings are used during CQL query processing Domain Model XSD

xService Query Processing  XPath  XML Databases supports XPath 1.0 as the lowest common denominator query language  XPath is more expressive than CQL - sufficient to translate CQL to Xpath  CQL vs Xpath  CQL is based on class hierarchy in Domain Model  XPath is a document instance traversal language  Need mapping from classes to xml elements (instances)  CQL to XPath Translation  Look up class associations and inheritance relationships from Domain Model  Use association’s source, destination, and role name from CQL, to select XML element QNames  Aggregate XML QNames into XPath  XPathCQLQueryProcessor  Translate from CQL to XPath  Database is queried using XPath  XML results are returned to client directly  Avoid serialization and deserialization

CQL to XPath Translation Examples declare namespace ns0='gme://caCORE.ca CORE/3.2/edu.northwe stern.radiology.AIM'; /ns0:ImageAnnotation [ns0:textAnnotationColle ction /ns0:TextAnnotation]

xService Introduce Plugin  caGrid Introduce  User friendly interface for service creation  Supports extension through Data Service Style  xService Style  Integrated wizard guides user through service creation  Generates caGrid Domain Model  Populates service with implementation for XML Database Access and query processing  Query processing logic includes CQL to XPath translation, and optimized results handling for high performance retreival  Input is XML schema and XML database configuration, output is fully functional caGrid xService Data Service

11

xService Current Status xService 1.0 supports caGrid 1.2 Berkeley DB XML xService 1.2 beta supports caGrid version (requires caGrid Transfer patch) Berkeley DB XML, IBM DB2 pureXML, eXist xService 1.3 beta supports caGrid version 1.3 and Berkeley DB XML, IBM DB2 pureXML, eXist All versions support Service Operations: Upload, Query, including caGrid Transfer version of the operations. 12

caCORE SDK Comparison 13 xServicecaCORE SDK Service Supported Data Model Representations XMI or XSDXMI/UML Database TypeXMLRDBMS Database-model Mappingnot neededrequired Data OrganizationCollection, Documents, Elements Database, Tables, Records Mapping, Serialization, and Deserialization XML-in, XML-outORM and XML de/serialization Support for “Upload”YesNo Query using caGrid TransferYesNo Fine Grain AuthorizationPlannedCSM Populate Associated ObjectsYes (XML needs to validate against XSD) No (CQL 2.0 will require this functionality) Semantic AnnotationPlannedYes

CVRG HL7 annotated ECG Service CVRG HL7 aECG Data Service is developed using xService Use case motivated development of xService functionalities Ability to use existing, standard XML Schema (HL7 v3 aECG xsd) Support for data upload Support for large data query and retrieve via caGrid Transfer, where large ECG data posed challenges for SOAP messaging Optimized data flow between database and client, with minimal serialization/deserialization and lazy instantiation A number of other CVRG data services have been created using xService Framework CVRG HL7 aECG data service has been integrated into ECG analytical workflow 14

AIM Data Service (AIME) AIME is a caGrid data service for managing documents in the caBIG In Vivo Imaging Annotation and Image Markup (AIM) xml representation format. Characteristics of AIM documents Each XML document is an atomic unit Annotation, markup, and other data elements requires context of the document to preserve meaning Documents are generated and updated frequently AIME was created using xService framework Leverages xService’s ability to fully populate associated objects when querying to retrieve full AIM documents Allows easy data upload via xService caGrid service interface Leverages document-centric organization to maintain fidelity of original data submissions

AIME in TCGA Enterprise Use Case AIME client API is used by the three TCGA Radiology Annotation Workstations Successfully queried and displayed annotations and referenced images Successfully submitted new annotation and markup documents Next Steps caB2B and AIME require additional enhancements to support federated query of non-caCORE SDK data services from caB2B CQL to XPath translation needs to be enhanced to support interpreting XML element containment as bidirectional associations instead of unidirectional associations. xService needs mechanisms to enforce uniqueness of documents in AIME, during submission of AIM documents 16

xService Future Directions xService CQLQueryProcessor behavior With consideration to the objectives of the xService project, harmonize the behavior of the xService CQLQueryProcessor with the data service “query” operation contract Improved mapping of bidirectional association to XML element relationships Investigation of the use of XQuery instead of XPath xService data management Configurable policies for handling with duplicate documents Update and Delete capabilities Fine grain authorization support Semantic annotation of XML schemas and generated domain models

Summary “Need caGrid-based data services that supports EXISTING XML schemas, EXISTING XML data, and/or EXISTING XML databases”  Designed and Implemented a caGrid Data Service Specification- compliant framework, xService, to support creation of XML schema- and database- backed caGrid services  The service creation user interface integrates with caGrid Introduce to enable rapid creation of caGrid Data Services from xml schemas or XMI models.  xService based caGrid Data Services have successfully been deployed and used  CVRG HL7 annotated ECG Data Service  In Vivo Imaging AIME Service for TCGA Radiology Enterprise Use Case

For More Information… xService caGrid Community Project Wiki and Project documentation AIME