Spring 2006 Connections Conference Template
Download
Report
Transcript Spring 2006 Connections Conference Template
VPF303
Building Data Visualization
Applications with WPF
Tim Huckaby
InterKnowlogy, CEO
Microsoft RD & MVP
About…
• InterKnowlogy (www.InterKnowlogy.com)
●
●
●
●
●
Tim Huckaby, CEO - ([email protected])
Custom App Dev / Consulting / Software & Systems Engineering
Firm headquartered in Carlsbad, CA
Microsoft Gold Partner managed in SoCal and Redmond
Design, Architect, Build and Deploy enterprise class applications
Industry Experts:
•
•
•
•
•
•
90% of the company is published
Microsoft .NET Application development for 5+ years!
Microsoft .NET Smart Client pioneers / industry leaders
Information Worker Solutions
Integration / Messaging, B2B / B2C, Wireless / Mobility
Microsoft BizTalk Web Services, Microsoft Active Directory, Security, SSO,
Authorization, Authentication
• Solutions on the emerging Microsoft servers
• Largest Client: Microsoft
Session Objectives And Agenda
WPF & XAML - Intro to Advanced in an hour….
Data Visualization
Smart Client Technology Roadmap
Demos, demos, demos!
What the heck is XAML?
• Separates the front-end from the back-end
• Simple declarative programming language
suitable for constructing and
initializing .NET Objects
• Usually the most concise way to represent
user interfaces (or other hierarchies of
objects)
• Doesn’t need a compile to render
• The language that almost all WPF related
tools emit
WPF – how does it work?
• Built on Top of Direct 3D
●
●
●
●
Converted to 3D triangles, textures and other
Direct3D objects & then rendered by hardware
Benefits of hardware acceleration & perf due to
work being off-loaded to GPUs (unlike GDI
based systems)
Ensures the maximum benefit of new hardware
and drivers
Software rendering pipeline as fallback
Why WPF?
• The GDI & USER subsystems were
introduced in Windows 1.0 in 1985
• OpenGL – Early 90s
• DirectX – 1995
• Goal: Overcome the limits of GDI+ &
USER with the productivity of Windows
Forms
WPF Vision
• Unified approach to UI,
Documents, and Media
●
Integration as part of development
and experience
• Integrated, vector-based
composition engine
●
Utilizing the power of the PC
throughout the graphics stack
• Declarative programming
●
Bringing designers directly into
application development
• Ease of deployment
●
Allowing administrators to deploy
and manage applications securely
WPF FAQ
1. Does WPF enable me to do something I couldn’t have
done before?
●
No. Unless you factor in time & money…
2. Is DirectX dead?
●
No. It is more applicable to advanced 3D developers writing hard-core
“twitch” games.
3. Are Winforms dead?
●
●
●
No. …but it will not be advanced; the last version was 2.0 in .NET 2005.
WPF / Winforms Bastardization
Windows 98 Supports WinForms
4. Does WPF run better on Vista than on XP?
●
●
●
●
Yes.
3D objects only get anti-aliasing on Windows Vista or Later
Non-rectangular windows only get hardware acceleration on Vista.
Vista has a driver model that helps with resource contention
The Peter Kuhn Lab at The Scripps
Research Institute (TSRI)
• Research Focus
●
●
Early detection and therapy management
of cancer patients
Modulation of protein interactions for
therapeutic intervention
• Projects
●
●
Cancer bioengineering partnership
Structural Proteomics of SARS
The Problem
• Laboratory Environment
●
●
●
●
Research teams work in a distributed environment
Manual, paper notebooks and prone to error
Have stove pipe systems which capture data
Status management requires contacting the
researcher directly
• Collaboration Issues
●
●
●
●
●
Data Recorded on scraps of paper then re-written
in lab notebooks
Pasting gel/chromatogram pictures in notebooks
Too many crystal image files to keep track of & too big
Manually linking patient information experimental results
No way to electronically search for images
The Solution: C-ME
• WPF Smart Client for SharePoint 2007
●
●
●
●
Collaborative Client
2D & 3D views at a molecular level
Leverage the collaborate environment of
SharePoint 2007
Provide data in the context of the project not in the context of it’s
storage
• Allow users to drag and drop data into the context of the
project
●
●
Smart client then handles the display & annotations of the
underlying storage
Allow user’s to add ad-hoc information
Collaborative Molecular
Environment
• Architectural
Diagram
Collaborative
Molecular
Environment
Architecture Diagram
Launches
SharePoint 2007 Server
WPF Smart Client Application
C-ME Windows Application
Custom 3D
Rendering
Library
Custom
Business
Layer
Library
Consumes
Custom
Site
Creation
Web
Services
Entity Site Structure
MOSS
Web
Pages
MOSS Object Model
WPF
.NET Framework 3.0
MOSS
Web
Services
MOSS Sites/Content Database
Site/Content Structure
Automatically
Generate Team Sites
(root) Research Site
[Collaboration Portal]
1
1
Root Entity
Document Library
(.pdb files, etc.)
∞
Annotation
Document Library
(contains context metadata)
Entity
Sub-site
[Team Site]
∞
∞
∞
Project
Sub-site
[Team Site]
For more information, please contact Tim Huckaby at [email protected].
How the 3d WPF Works…
Contains
Artifact Control
Inherits
Artifact Viewer
PDB Viewer
Contains
Contains
Atom
Residue
Control
Contains
Molecule
Contains
Image Viewer
Structure
Control
Contains
Residue
3D with WPF
Check out the
method level
support for Rotation
This is why you
should have paid
attention in high
school calculus..
3D Collaborator Opens
AutoCAD *.dwg Files Natively
3D Collaborator
• Technologies used
●
Rendering
• Autodesk DWF Toolkit (C++ library)
• Custom DWF C++/CLI (Managed) wrapper
• C# WPF 3D rendering
●
User interface
• Built using WPF
• XAML skin
The IHC Catheter Angiography
Annotation Application
Lightweight WPF runtime
• Interactive experiences for devices,
PC & Mac platforms
• Strict subset of Windows Presentation Foundation
• Lightweight download
• Programming model uses XAML + JScript
• Access to WPF tooling
WPF-based Tools
<XAML>
<Button Width="100px"> OK
<Button.Background>
LightBlue
</Button.Background>
</Button>
</XAML>
Where to go next
• Windows Presentation Foundation
Unleashed (WPF)
• by Adam Nathan, Daniel Lehenbauer
• Essential Windows Presentation
Foundation (WPF)
• by Chris Anderson
Tim Huckaby, InterKnowlogy
• More info on InterKnowlogy:
●
www.InterKnowlogy.com
• Contact me: Tim Huckaby
● E-mail: [email protected]
or [email protected]
● Phone: 760-930-0075 x201
● Blog: http://blogs.InterKnowlogy.com/TimHuckaby
• About Tim Huckaby
●
●
●
●
●
●
●
●
●
●
Microsoft® Regional Director – Southern California
Microsoft® .NET Partner Advisory Council Founder / Member
Microsoft® MVP - .NET
Microsoft® Prescriptive Architecture Group Advisory Council
Microsoft Office® Developer Advisory Council
Microsoft® MSF advisory board member
INETA Speaker – International .NET Users Group Association
Windows and .NET Magazine Advisory Board Member
.NET Developers Journal Magazine Advisory Board Member
Author / Speaker
Your Feedback is Important
Please fill out a session evaluation form and
either put them in the basket near the exit
or drop them off at the conference
registration desk.
Thank you!