Presentation is loading. Please wait.

Presentation is loading. Please wait.

Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN.

Similar presentations


Presentation on theme: "Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN."— Presentation transcript:

1 Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN

2 History of Windows Client Applications Fat Clients – Windows Applications (early 90’s) Thin Clients – Internet Applications (late 90’s) Smart Clients – Rich, New and Improved Windows Applications!

3 What Is a Smart Client? 1.Makes use of local resources 2.Makes use of network resources 3.Supports the “occasionally-connected” model 4.Provides intelligent installation and updates 5.Provides client device flexibility

4 1. Makes Use of Local Resources Specialized hardware on the client computer (smart card reader, barcode reader, etc.) Locally installed software (Office, etc.) Graphics capabilities Memory Performance Overall better user experience

5 2. Makes Use of Network Resources Deployment and Update services Connects to data sources Connects to other applications Connects to web services

6 3. Supports the “Occasionally-connected” Model Allows application to always run, whether connected or disconnected While disconnected, supports as much functionality as possible Allow smart (cached) updates to be made to the server for limited connectivity – even when connected Scenario - OTR sales people

7 4. Provides Intelligent Installation and Software Updates Allows “no-touch deployments” –Automatic software installation based on a web shortcut Allows easy software updates –When first started –As a background process

8 5. Provides Client Device Flexibility Smart client applications can be created for multiple platforms –Desktop –Laptop –Tablet –Mobile device For example, a desktop application can be used to read in the scanned items while a scanner (mobile device) application scans the items

9 Types of Smart Clients 1.Windows smart client applications –Desktop, Laptop and Tablet 2.Office smart client applications –Visual Studio Tools for Office (VSTO) –Documents/Spreadsheets dynamically created –InfoPath 2003 –Demonstration: VSTO Word document w/table 3.Device smart client applications –Pocket PC, Windows CE,.NET CE, Media Center –Demonstration: Pocket PC calling Web Service and reading database

10 “Occasionally-Connected” Outlook 2003, for example Loosely coupled applications Even when disconnected from network/web, user can still run application to fullest capabilities Synchronization occurs when network present Synchronization occurs minimally for smaller hit on application performance

11 Caching Data Locally Isolated Storage (Folder called ‘Application Data’) Classic file system (TEMP/TMP folder) Read-only access Optimistic locking for updates –Time/date stamp or change counter Example: IsolatedStorageData project

12 Deploying Smart Client Applications No-touch deployment No-touch deployment with application update stub Running from file share XCopy installation Windows Installer

13 No-touch Deployment 1/2.NET Runtime is required! IE 5.01 or newer required too! Install files loaded onto web server and application called from URL Downloaded to “assembly download cache” Date/Time stamp of file analyzed for getting most recent version of any assembly (not version) Updates can also be handled internally by application, Assembly.LoadFrom() Secure the access to the application at the web server – Windows Authentication

14 No-touch Deployment 2/2 Use GacUtil.exe to manage download assembly cache Where’s it “really” downloaded to? Isolated Storage! CAS – Code Access Security may need to be set with CASPOL.EXE or Microsoft.NET Framework 1.1 Configuration tool File URI vs. Intranet URL Demonstration: Create Windows application and deploy it

15 No-touch Deployment Restrictions Restricted default security settings –Must set up specialized.NET security policies for applications to interact with Windows (File I/O, Isolated Storage, etc.) –Set these security rights using AD Group Policy, Windows Installer package,.BATch file Unreliable offline functionality –Dependent on IE settings and caching

16 Code Access Security (CAS) 1/4 Added level of security for.NET applications Sits on top of Windows Security (does not replace) Gathers “evidence” to determine rights of application – not user! –Evidence (7 pieces) – Site, URL, Zone, ApplicationDirectory, StrongName, Publisher, (Build) Hash Best configured through Administrative Tools – Microsoft.NET Framework 1.1 Configuration tool

17 Code Access Security (CAS) 2/4 Three primary policy levels –Enterprise –Computer –User Each policy level contains: –code groups –permission sets –list of policy assemblies

18 Code Access Security (CAS) 3/4 Code groups are used for applications run from certain zones Each Permission set holds a group of permissions that are assigned to certain Code groups You cannot change the settings for individual permissions (read only) You can create your own custom Code groups and Permission sets

19 Code Access Security (CAS) 4/4 Where is all this really stored? security.config (One of many XML config files) Treat these config files like the registry (Be careful!) Demonstration: Adding custom Code Group and assigning it a custom Permission set

20 Application Blocks Offline App Block –Specifically for Smart client apps –Offers offline storage and automatic data synchronization when “connected” Caching Framework App Block –Allows you to easily cache data from service providers and other systems Updater App Block –For automating updates for multiple smart clients Configuration Management App Block –Allows you to read and write application configuration data securely

21 The Future of Developing Smart Clients (the Future, Conan?) Visual Studio 2005 (Whidbey) will make our job much easier –Better tools for developing Smart clients (Example: more wizards!) –.NET v2.0 will offer more capabilities New “ClickOnce” deployment feature Next version of Windows (Longhorn) offers better support for smart client applications –Easier thread management (performance) –Better support for “ClickOnce”

22 Armed with SC Info – Now What? Don’t upgrade your current Intranet web apps to smart client apps unless necessary Start new projects as smart client apps to take advantage of a true user interface Smart clients are the future of applications ASP.NET is not going away Learn the new.NET 2.0 ASAP (Express versions are free!)

23 Questions? I’m Davin Mickelson and I approve this message Thank you for listening I hope this information helps you Drive safe Need.NET training? –http://www.NewHorizonsMN.comhttp://www.NewHorizonsMN.com


Download ppt "Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN."

Similar presentations


Ads by Google