creating smart clients with the collaboration notebook greg quinn principal investigator desktop and...

36

Post on 22-Dec-2015

215 views

Category:

Documents


2 download

TRANSCRIPT

Creating Smart Clients with the Collaboration Notebook Creating Smart Clients with the Collaboration Notebook

Greg Quinn Principal InvestigatorDesktop and Mobile Data ManagementSan Diego Supercomputer Center

Greg Quinn Principal InvestigatorDesktop and Mobile Data ManagementSan Diego Supercomputer Center

Data overload

The Collaboration Notebook: a data management solution

Smart client development framework

Future work

Data overload

The Collaboration Notebook: a data management solution

Smart client development framework

Future work

TopicsTopics

Science research: it’s about the DATA!Science research: it’s about the DATA!

Locally generated, e.g. observations of a researcher at the lab bench

Theoretical data

Archived local data, collected from many researchers

Data in legacy databases

Data from collaborators, both near and far

Data from Internet sources such as NCBI (NIH)

Locally generated, e.g. observations of a researcher at the lab bench

Theoretical data

Archived local data, collected from many researchers

Data in legacy databases

Data from collaborators, both near and far

Data from Internet sources such as NCBI (NIH)

The Encyclopedia of Life ProjectThe Encyclopedia of Life Project

More than 800 genomes that have been completely or partially sequencedFor each publicly available protein sequence derived from genomic data, EOL attempts to locate structural domains and correlate this data with other publicly available sequence annotationA large amount of information for end-users to collateData management app

More than 800 genomes that have been completely or partially sequencedFor each publicly available protein sequence derived from genomic data, EOL attempts to locate structural domains and correlate this data with other publicly available sequence annotationA large amount of information for end-users to collateData management app

Many Excellent Online Data Sites

NCBI BLAST (~2 million

sequences)

updated nightly

XML

Protein NR

BLAST

DATA OVERLOAD!

Legacy and archived data

Online data sourcesCollaborative research

Research notes and observations

No meaningful way to store data

No simple way to re-purpose online data

No mechanism to share data

Difficult to keep track of data acquired during an online session

Resource-intensive searches frequently repeated

When data is retrieved, it can be difficult to manipulate and/or search

No simple way to annotate downloaded data

DATA OVERLOAD!

The Collaboration NotebookThe Collaboration NotebookA desktop application to better enable the scientific researcher and knowledge worker utilize network information resources and manage data

Leverages features of Windows and the .Net development Powerful local db with search functionality“Knowledge” of data types through the use of OntologiesAbility to annotate stored dataPeer-to-peer querying of stored data and annotationsData export capability to popular formatsUnattended/automatic data updates via web services & HTTPUser notification of new dataPlugin API for data visualization components – c/w basic data viewers for popular Bio-data types, e.g. text, DNA seqs, etc.Smart client framework for SOAP-based web servicesPoint-and-click interface to support Tablet PC’s and ink data types

Leverages features of Windows and the .Net development Powerful local db with search functionality“Knowledge” of data types through the use of OntologiesAbility to annotate stored dataPeer-to-peer querying of stored data and annotationsData export capability to popular formatsUnattended/automatic data updates via web services & HTTPUser notification of new dataPlugin API for data visualization components – c/w basic data viewers for popular Bio-data types, e.g. text, DNA seqs, etc.Smart client framework for SOAP-based web servicesPoint-and-click interface to support Tablet PC’s and ink data types

Local datastore

personal database

personal database

personal database

Data presentation and Smart client for network data services

Data Sources

XML doc

Report and paper preparation

Group collaborationResearch data access, input & annotation

P2P

SOAP Services

Web Interfaces

Other Data

Sources

The Connected Research EnvironmentThe Connected Research Environment

Data browser

N-App availability

P2PCollaboration

group

Fast searchoptions

Smart Client display area

WinformsWinforms

AvalonAvalon

Embedded appsEmbedded apps

GUI Design schematicGUI Design schematic

Networked Data services

N-App Collection

PDB

EOL

NCBI

Workbench

Workbench

Collaboration Notebook N-AppsCollaboration Notebook N-AppsN-AppN-AppServerServer

Smart Client..?Smart Client..?

Local resources

Connected

Offline capable

Intelligent deployment and update

Local resources

Connected

Offline capable

Intelligent deployment and update

SOAP services

Web Web PagesPages

DB’sDB’s

Data servicesData service wrappers

Local DB

Collaborationsubsystem

Service wrapper

Service wrapper

Service wrapper

managerService wrapper LocalLocal

InstrumentationInstrumentation

N-App N-App Interface classInterface class

Smart ClientSmart Client

datadata

Data changed Data changed eventevent

Available ServicesAvailable Services

Run requestRun request

ReferenceReference

IndigoIndigo

Collaboration NotebookCollaboration Notebook

Stages in Smart Client DevStages in Smart Client Dev

Write your application with Windows forms or Avalon (control library project)

Reference Notebook interface class and Notebook data objects class to gain access to Notebook services (e.g. data access, persistence and retrieval)

Write a wrapper for the online service (if not using a pre-existing one)

Write a data translator to convert incoming data into internal canonical format

Write your application with Windows forms or Avalon (control library project)

Reference Notebook interface class and Notebook data objects class to gain access to Notebook services (e.g. data access, persistence and retrieval)

Write a wrapper for the online service (if not using a pre-existing one)

Write a data translator to convert incoming data into internal canonical format

Debugging Smart ClientsDebugging Smart Clients

Data Service

Service wrapper

Test HarnessTest Harness

Embedding a Pre-existing ApplicationEmbedding a Pre-existing Application

Create a new Class Library project in Visual Studio

Add reference to executable

Use Visual Studio object browser to determine available methods

Add references to Notebook interface class and Notebook data objects class

Create a new Class Library project in Visual Studio

Add reference to executable

Use Visual Studio object browser to determine available methods

Add references to Notebook interface class and Notebook data objects class

Wrapper communicates with Embedded appWrapper communicates with Embedded app

WrapperWrapper

Data Service

Service wrapper

Lat/Long dataLat/Long data

WorldWind://WorldWind://lat=x&long=ylat=x&long=y

System ClipboardSystem Clipboard

Worldwind.menuItemEditPaste.PerformClick() Worldwind.menuItemEditPaste.PerformClick()

N-AppN-App

NotebookNotebook

Example N-AppsExample N-Apps

BLAST interface

Winforms

BioConductor Interface

Avalon (XAML)

World Wind

Embedded

BLAST interface

Winforms

BioConductor Interface

Avalon (XAML)

World Wind

Embedded

BLAST interfaceBLAST interface

BLAST –

Basic Local Alignment Search Tool

Several BLAST SOAP services available: NCBI

PDB

EBI

DDBJ

Unified interface to these services

BLAST –

Basic Local Alignment Search Tool

Several BLAST SOAP services available: NCBI

PDB

EBI

DDBJ

Unified interface to these services

BLAST Interface Smart ClientBLAST Interface Smart Client

Developed by Dr. Robert Byrnes

Statistical analysis of microarray data can be used to determine up- and down-regulation of genes, expression signatures, etc.

The Bioconductor package is a widely used set of biostats routines that can be used to analyze microarray data

Written in “R” language

Current GUI’s to use Bioconductor are relatively crude

Microarray Data AnalysisMicroarray Data Analysis

XAML-based ApplicationsXAML-based Applications

<FlowPanel <FlowPanel xmlns="http://schemas.microsoft.xmlns="http://schemas.microsoft.

com/2003/xaml"> com/2003/xaml"> <Text>Hello World</Text> <Text>Hello World</Text>

<Button>Click me!</Button> <Button>Click me!</Button> </FlowPanel></FlowPanel>

XAMLXAMLpublic partial class MyPanel public partial class MyPanel {{ public string Hello() public string Hello() { { return "Hello!"; return "Hello!"; } } } }

C#C#

++

Bioconductor

packages

R Interpreter

SQL SERVER

XML Metadata

Notebook App

Avalon Control

Microarray App

Developed by Dr. Robert Byrnes

Microarray Data AnalysisMicroarray Data Analysis

Developed by Dr. Robert Byrnes

Microarray Data AnalysisMicroarray Data Analysis

.Net-based app’s can be embedded with no modification required

Need to creatively use existing methods within the application for data analysis, persistence and retrieval

Embedded ApplicationsEmbedded Applications

Embedded ApplicationsEmbedded Applications

Smart Clients Under DevelopmentSmart Clients Under Development

Protein Data Bank (PDB)

Next Generation Biology WorkBench

National Ecological Observatory Network (NEON)

Homeland Security projects

Protein Data Bank (PDB)

Next Generation Biology WorkBench

National Ecological Observatory Network (NEON)

Homeland Security projects

2004 2005 2006

FIELD TRIALS & TESTING

UCSD RESEARCH LABS

SOCIAL MONITORING

INTERNALBETA TESTING

BUG TRACKING

PUBLIC

N-APP DEV

MICROARRAY DATA ANALYSIS APP

GEOSCIENCES-BASED APP

OTHERS…

CHARTER N-APPS

CORE APP DEV

CORE FEATURESDATA PLUGIN APISERVICE PLUGIN APIXAML DEV FRAMEWORKSQL SERVERFIXED INTERNAL DATA MAPPING

ADVANCED FEATURESP2P COMMUNICATIONSINTEGRATION OF DATA MAPPING SOLUTIONNOTEBOOK RUNTIME SERVICEBACKGROUND DATA UPDATESINTEGRATION INTO “LONGHORN” PLATFORM

DATA MAPPING & DISTRIBUTED QUERY

ONTOLOGY-BASE DATA MAPPING

DISTRIBUTED QUERY OPTIMIZATION

CROSS-DOMAIN QUERY

ADVANCED QUERY PROCESSING LAB

Hands-on One Day Workshop:Hands-on One Day Workshop:

Date: October 2005

Location: San Diego Supercomputer Center

Further info: [email protected]

Date: October 2005

Location: San Diego Supercomputer Center

Further info: [email protected]

Creating applications with the Collaboration NotebookCreating applications with the Collaboration Notebook

AcknowledgementsAcknowledgements

Blair Jennings (lead)

Robert Byrnes

Martin Dubcovsky

Kevin Fowler

Blair Jennings (lead)

Robert Byrnes

Martin Dubcovsky

Kevin Fowler

Programmers

AcknowledgementsAcknowledgements

Dan Fay & Microsoft Research

Mark Miller, SDSC

The SDSC Synthesis Center

Dan Fay & Microsoft Research

Mark Miller, SDSC

The SDSC Synthesis Center

Project Support

Questions?Questions?

Greg [email protected]

http://www.notebookproject.orghttp://www.notebookproject.org

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.