Developing Smart Client Applications For the Enterprise
Download
Report
Transcript Developing Smart Client Applications For the Enterprise
Developing Smart Client
Applications For The
Enterprise
Keith Elder
Team Leader / Sr. Software Engineer
Quicken Loans
Blog: http://keithelder.net/blog/
Email: [email protected]
About Quicken Loans
Originally founded in 1985 as Rock Financial by Dan Gilbert
Grew to one of the largest independent mortgage banks in the
country
1998 IPO
1999 Launched Rockloans.Com
1999 Intuit, Inc (makers of TurboTax and Quicken) purchased Rock
Financial.
July 2002 Dan Gilbert purchased Quicken Loans back from Intuit.
Retained Quicken Loans branding and marketing initiatives.
4500 employees
Largest online retail home loan lender
Take Aways
What is a Smart Client?
Why you should consider Smart Clients
over Web Applications for internal use
within the Enterprise.
How to deploy a Smart Client using
ClickOnce.
How to provide your end users with
automatic updates.
Part 1: What is a Smart
Client?
Remember Mainframes?
Single Architecture – Mainframes – Dumb Terminals
Remember Thick Clients?
Mid 80’s Personal Computers (dual tier) –
Thick Clients
Remember How The Web
Solved Everything?
Web Applications Solve Everything!
Aren’t we really back to where
we started?
Smart Client
Heavy
footprint
Rich User
Experience
Tough
to deploy
“DLL
Hell”
Web services
and offline/online
support
High developer
productivity
Broad reach
Easy change
management
Responsive
UI
Device
adaptability
Network
dependency
Reduced
User
Experience
Easy to
deploy
Complex to
develop
Smart Client Architecture
SQL 2005
Web Services
Cluster
Business Logic
Documentation
Benefits
Provides connection pooling to
database
Allows for updates to business layer
without affecting clients
Disconnected / Connected
Clients
Disclaimer(s)!
Are Smart Clients just related to .Net?
No – Smart Clients can be built on top of any
operating system
Ok fine but are Smart Clients a technology or an
architecture?
Both! It is a combination.
SmartClient yourApp = .Net + SOA + Winforms +
Windows
SmartClient yourApp = (Java or Python) + SOA +
(GTK or QT) + *Nix
Smart Client Benefits (1/2)
Local resources
Direct display and peripheral access
Responsive graphics, printers, digital camera’s, smart
phones, pda, etc.
Use of installed applications
Word, Excel, VSTO
Connected
Access to network resources
Web services, SQL Databases
Less payload on server than web application
Minimal training
Smart Client Benefits (2/2)
Offline capable
Cache online data
Update when connected
Datasets in smart documents
Intelligent deployment and update
Easy non-administrator deployment
Automatic updates
Rich / easy developer experience
.Net Smart Client (what do
you need to build one?)
Visual Studio 2005
Download: http://msdn.microsoft.com/vstudio/express/
Provides rich visual designer support
Integrated ClickOnce testing and deployment
Visual Studio Tools for Office
.NET Framework 2.0 or 3.0
Windows Forms
ClickOnce deployment
Web server to deploy web services and ClickOnce deployment
Total Cost to Leverage This Technology: $4.95 / month hosting
account
Visual Studio Express – Free
.NET Framework – Free
Web Server - $4.95 / month
Smart Client (GUI)
Intro to .Net 2.0 WinForms
and Sample Application Enterprise Desktop (sorta)
Part 2: Deploying a Smart
Client with ClickOnce
ClickOnce Deployment Overview
Server
ClickOnce application
deployment published on
a web or file server
application files
Client follows link to server
http://localhost/app/EnterpriseDesktop.application
Application deployed locally in
user’s profile directory & executed
Subsequent executions check for
updates & execute local install
Client
ClickOnce
Smart Client deployment technology
Provides web-deployment simplicity
End User
Provide web-deployment flexibility
Publisher
Automatic update of application
System.Deployment
Security isolation and optional restricted
permissions
Non-administrative installs and uninstalls
ClickOnce Deployment
Application Updates
Auto-update deployment options
Before application launch, or
Update check occurs after app-launch
Scheduled update checks
Weekly, monthly, etc.
System.Deployment == Customize it to suit
your business needs
ClickOnce Auto-update
(Versioning)
Smart Client Summary
Rich features easier than ever to implement
Windows Forms 2.0 new controls
Windows Forms 2.0 improved data integration
Installation and update easier than ever
ClickOnce web-style simplicity
ClickOnce web-style security
SmartClient rich feature-set
Customers access existing and new application
features easily
Customers access your application with or
without network connectivity
Resources
My Blog
http://keithelder.net/blog/
Email
[email protected]
Resources
http://msdn.microsoft.com/smartclient/
http://practices.gotdotnet.com/projects/scbat
Patterns and Practices
http://msdn.microsoft.com/practices/
Smart Client Software Factory
Enterprise Library
Web Services Software Factory
Mobile Software Factory