Patterns in caBIG Baris E. Suzek 12/21/2009. What is a Pattern? Design pattern “A general reusable solution to a commonly occurring problem in software.

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

1 caAdapter Jan 24, caAdapter The caAdapter is an open source tool that facilitates HL7 version 3 message building, parsing and validation based.
OMG Architecture Ecosystem SIG Federal CIO Council Data Architecture Subcommittee May 2011 Cory Casanave.
CaBIG™ Terminology Services Path to Grid Enablement Thomas Johnson 1, Scott Bauer 1, Kevin Peterson 1, Christopher Chute 1, Johnita Beasley 2, Frank Hartel.
XML: Advanced Concepts and Long Term Vision Tim Bornholtz Holly Hyland Technical Track Session.
S.R.F.E.R.S. State, Regional, and Federal Enterprise Retrieval System Inter-Agency & Inter-State Integration Using GJXML.
CaGrid Service Metadata Scott Oster - Ohio State
Peoplesoft: Building and Consuming Web Services
Automatic Data Ramon Lawrence University of Manitoba
Lecture Nine Database Planning, Design, and Administration
Best Practices for Including Enumerated Value Domains in UML Models What are the mechanics of creating CDEs associated with enumerated value domains in.
Curation Tool June 11, Curation Tool Overview Architecture Implementation Dependencies Futures 2.
Value Domain and Pick List Support in LexEVS 5.1 Sridhar Dwarkanath Mayo Clinic CaBIG Architecture/VCD Joint Workspace F2F.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
SOA – Development Organization Yogish Pai. 2 IT organization are structured to meet the business needs LOB-IT Aligned to a particular business unit for.
OpenMDR: Generating Semantically Annotated Grid Services Rakesh Dhaval Shannon Hastings.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 9 Database Planning, Design, and Administration Sungchul Hong.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Overview of the Database Development Process
Adapting an Existing Data Service to be caBIG™ Silver-level Compliant Peter Hussey LabKey Software, Inc, Seattle, WA USA Contact: Abstract.
Cube Enterprise Database Solution presented to MTF GIS Committee presented by Minhua Wang Citilabs, Inc. November 20, 2008.
OpenMDR: Alternative Methods for Generating Semantically Annotated Grid Services Rakesh Dhaval Shannon Hastings.
Data Warehousing at STC MSIS 2007 Geneva, May 8-10, 2007 Karen Doherty Director General Informatics Branch Statistics Canada.
Using ISO/IEC to Help with Metadata Management Problems Graeme Oakley Australian Bureau of Statistics.
December 15, 2011 Use of Semantic Adapter in caCIS Architecture.
Department of Biomedical Informatics Service Oriented Bioscience Cluster at OSC Umit V. Catalyurek Associate Professor Dept. of Biomedical Informatics.
Data Warehouse Overview September 28, 2012 presented by Terry Bilskie.
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.
H Using the Open Metadata Registry (OpenMDR) to generate semantically annotated grid services Rakesh Dhaval, MS, Calixto Melean,
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Nadir Saghar, Tony Pan, Ashish Sharma REST for Data Services.
Database A database is a collection of data organized to meet users’ needs. In this section: Database Structure Database Tools Industrial Databases Concepts.
Open Terminology Portal (TOP) Frank Hartel, Ph.D. Associate Director, Enterprise Vocabulary Services National Cancer Institute, Center for Biomedical Informatics.
CaGrid Overview and Core Services caGrid Knowledge Center February 2011.
Management Information Systems, 4 th Edition 1 Chapter 8 Data and Knowledge Management.
LexGrid Philosophy, Model and Interfaces Harold R Solbrig Division of Biomedical Statistics and Informatics Mayo Clinic.
A LexWiki-based Representation and Harmonization Framework for caDSR Common Data Elements Guoqian Jiang, Ph.D. Robert Freimuth, Ph.D. Harold Solbrig Mayo.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
Tutorial on XML Tag and Schema Registration in an ISO/IEC Metadata Registry Open Forum 2003 on Metadata Registries Tuesday, January 21, 2003; 4:45-5:30.
SDMX IT Tools Introduction
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Adapting an Existing Data Service to be caBIG™ Silver-level Compliant Peter Hussey LabKey Software, Inc, Seattle, WA USA Contact: Abstract.
Session 1 Module 1: Introduction to Data Integrity
Service Pattern & IEC Recommendation. Goals To define interoperable and sustainable Web services in a consistent way based on standards To bring business.
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
CaBIG™ Terminology Services Path to Grid Enablement Thomas Johnson 1, Scott Bauer 1, Kevin Peterson 1, Christopher Chute 1, Johnita Beasley 2, Frank Hartel.
LexEVS 5.0: Migrating from EVS 3.x API to LexEVS API Craig R. Stancl, Kevin J. Peterson, H. Scott Bauer, Traci V. St.Martin, Christopher G. Chute, MD PhD.
The ECOST Web-based platform for data providers and for data users.
Data Management: Data Processing Types of Data Processing at USGS There are several ways to classify Data Processing activities at USGS, and here are some.
National Cancer Institute caDSR Briefing for Small Scale Harmonication Project Denise Warzel Associate Director, Core Infrastructure caCORE Product Line.
ISO Datatypes Approved by Enterprise Composite Architecture team (eCAT) on July 7, 2009 Guidelines for use for CBIIT funded projects.
Semantic Interoperability: caCORE and the Cancer Data Standards Repository (caDSR)  Jennifer Brush.
VCDE Silver Level Compatibility Review Digital Model Repository (DMR) 1.0 Mukesh Sharma VCDE WS Teleconference 01/08/2009.
Agenda for Today  DATABASE Definition What is DBMS? Types Of Database Most Popular Primary Database  SQL Definition What is SQL Server? Versions Of SQL.
Databases (CS507) CHAPTER 2.
Public Health Information Network Annual Meeting Atlanta, GA
Chris Menegay Sr. Consultant TECHSYS Business Solutions
Unit 5 Systems Integration and Interoperability
Data Warehouse Overview September 28, 2012 presented by Terry Bilskie
Health Ingenuity Exchange - HingX
Metadata Framework as the basis for Metadata-driven Architecture
Metadata The metadata contains
DATABASES WHAT IS A DATABASE?
Best Practices in Higher Education Student Data Warehousing Forum
Presentation transcript:

Patterns in caBIG Baris E. Suzek 12/21/2009

What is a Pattern? Design pattern “A general reusable solution to a commonly occurring problem in software design.” uter_science) uter_science) Pattern examples: SOA Patterns caBIG Architectural Patterns caBIG Adaption Patterns

SOA Patterns A official list of patterns listed at: A new pattern approval process and a candidate review board exists

SOA Pattern Example - Service Grid Text/diagram from:

caBIG Architectural Patterns Architectural Patterns crop up from time to time as an Enterprise Architecture emerges. Below, several patterns are laid out that represent the combined experience and best practices emplyed when designing and integrating components. ( ) Information Constraint Pattern (version 1.0) NCI Error Management Pattern (in progress) Unique Identifiers (version 1.0) Source of Record Pattern (version 1.1) Service Classification Patterns (version 1.1) ESB Implementation Pattern (version 1.0) Information Retrieval and Location Entity Publish and Subscribe Publish State Machine Publish State Transition Fulfillment

caBIG Architectural Pattern Example – NCI's Object Identifier Definition (OID) Background Definition: An OID is a globally unique string representing an ISO (International Organization for Standardization) identifier in a form that consists only of numbers and dots (e.g., " "). According to ISO, OIDs are paths in a tree structure, with the left-most number representing the root and the right-most number representing a leaf. NCI’s OID: The NCI root OID is You may request sub-domains under this root OID, though this process is manual and there are several pieces of information required. Enterprise OIDs COPPA OIDs are under root is the OID for BRIDG Person. Registering an OID

caBIG Adaption Patterns Based on caBIG™ experiences, there have been six standard ways to approach the software design problems presented by the adapt path identified. These are presented in the following slides. From caBIG Annual Meeting 2009

1: Wrapper Use Scenario: There is a desire to continue using an existing legacy tool, without adopting one from caBIG™. In this case, a new caBIG™ API is generated to allow data exchange between the existing tool and the Grid. Description: Involves using caCORE to create and semantically map a new caBIG™ compatible API to the existing API. The caBIG™ API then connects to the Grid. This may or may not require a UML model – it could be a field-to-field mapping activity. Existing Tool Database API caBIG™ Compatible API UI caGrid Slide from “Achieving caBIG Compatibility” session at caBIG Annual Meeting 2009

2: Direct Data Access (Interim Solution) Use Scenario: There is a desire or need to retain the legacy database, but also willingness to adopt a caBIG™ tool for its user interface and to facilitate connection to the Grid. Description: Data “lives” in the legacy database; caBIG™ tool is adapted to query that database (can be dynamic or on demand). NOTE: This may be an effective transition strategy, but is not recommended as a long-term alternative. May be an interim step leading into the following two patterns. Existing Tool Database API UI caBIG™ Tool Database API caGrid UI Or Slide from “Achieving caBIG Compatibility” session at caBIG Annual Meeting 2009

3: Message Broker Use Scenario: The existing tool already uses standardized messages, such as HL7, to facilitate dynamic information exchange between diverse tools. Description: A “messaging hub,” such as caXchange, brokers the transfer of messages from the existing tools, and feeds into a caBIG™ tool, then out to the Grid. This same concept can be used with other file formats like CSV or tab-delimited ASCII. caAdapter facilitates the mapping into caBIG™ standard elements. If tools already send messages (e.g., HL7), this may be the most effective way to transmit data from existing tools to caBIG™ grid. Existing Tools Database API UI caBIG™ Tool Database API caGrid Message broker hub (caXchange) UI Database API UI Slide from “Achieving caBIG Compatibility” session at caBIG Annual Meeting 2009

4: Data Warehouse Use Scenario: There is a desire or need to retain the legacy database and user interface, but there is a willingness to use a caBIG™ tool to connect to the Grid. Description: Data “lives” in the legacy database; Extract, Transfer and Load (ETL) techniques are used to periodically import data into caBIG™ tool to serve to the Grid. ETL techniques designed to ensure that data are semantically harmonized. Existing Tool Database API UI caBIG™ Tool Database API caGrid UI ETL Script Warehouse SQL Script Slide from “Achieving caBIG Compatibility” session at caBIG Annual Meeting 2009

5: Clone and Own Use Scenario: There is a desire or need to retain the legacy database and user interface, but willingness to use a caBIG™ tool API to connect to the Grid. Description: An existing caBIG™ compatible API is used and “copied” into the existing tool. This involves mapping legacy schema to the caBIG™ API. Reusing existing caBIG™ CDEs is key to this effort. The center will have to incorporate the changes in the API if there are modifications, changes or upgrades. Need to either directly use the caBIG™ application API or develop a duplicate API that operates exactly the same in the application Existing Tool Database caBIG™ API caGrid UI Slide from “Achieving caBIG Compatibility” session at caBIG Annual Meeting 2009

6: Generate an API Use Scenario: There is a desire to retain the legacy database, and no existing caBIG™ API is appropriate to map from the legacy database to the Grid. Instead, caBIG™ metadata descriptions and CDEs are used to generate a new API to rest on the legacy tool. Description: This alternative involves using the caCORE Software Development Kit’s (SDK) shared vocabularies and CDEs to construct a brand new caBIG™ compatible API that is mapped to the tables in the existing legacy database. Use caCORE SDK to generate an API from existing caBIG™ meta- data descriptions and link to legacy database Existing Tool Database API caGrid UI Slide from “Achieving caBIG Compatibility” session at caBIG Annual Meeting 2009

Some Other Patterns QBE data services (?)