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
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
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
.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
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
Top Related