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