Smart Clients What, Why, and Where By: Richard Arthur.

Slides:



Advertisements
Similar presentations
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
Advertisements

Copyright © 2012 Certification Partners, LLC -- All Rights Reserved Lesson 4: Web Browsing.
WSUS Presented by: Nada Abdullah Ahmed.
Netscape Application Server Application Server for Business-Critical Applications Presented By : Khalid Ahmed DS Fall 98.
Lesson 4: Web Browsing.
Developing Smart Client Applications For The Enterprise Keith Elder Team Leader / Sr. Software Engineer Quicken Loans Blog:
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
OPC WPFHMI.NET.
Windows Forms 2.0 – ClickOnce Stephen Turner Software Design Engineer
Access 2007 Product Review. With its improved interface and interactive design capabilities that do not require deep database knowledge, Microsoft Office.
Microsoft Passport Waldemar Swiercz.
Programming in the Office 2003 Environment Corinne Hoisington.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
Create Windows ® Applications with.NET Allan Knudsen.NET Developer Evangelist Microsoft.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 10: Server Administration.
Creating a SharePoint App with Microsoft Access Services
Microsoft ® Application Virtualization 4.5 Infrastructure Planning and Design Series.
Visual Studio Whidbey: Deploying Applications Using ClickOnce Sean Draine Program Manager Microsoft Corporation Sean Draine Program Manager Microsoft Corporation.
Windows XP Professional Deployment and Support Microsoft IT Shares Its Experiences Published: May 2002 (Revised October 2004)
MCTS Guide to Microsoft Windows Server 2008 Network Infrastructure Configuration Chapter 7 Configuring File Services in Windows Server 2008.
OnBase Module Deployment
Sales Card Dell Confidential – Internal Use Only Microsoft Windows 10 OVERALL DELL MESSAGE: Let Dell help you migrate to take advantage of new Windows.
Microsoft ® Application Virtualization 4.6 Infrastructure Planning and Design Published: September 2008 Updated: February 2010.
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
ASP.NET INTRODUCTION INTO وزارة التربية و التعليم العالي كلية العلوم و التكنولوجيا قسم علوم الحاسوب و تكنولوجيا المعلومات اعداد الاستاذ: عبد الله محمد.
Module 8: Managing Client Configuration and Connectivity.
Kuali Rice at Indiana University Rice Setup Options July 29-30, 2008 Eric Westfall.
Week 9 Objectives Securing Files and Folders Protecting Shared Files and Folders by Using Shadow Copies Configuring Network Printing.
Microsoft Confidential Office as a Development Platform Tim Heuer
Proposalz Generator Plus July Proposalz Generator Plus
DEV290 Building Office Solutions with Visual Studio Eric Carter Lead Developer Developer Platform & Evangelism Microsoft Corporation.
ASSEMBLY. A SSEMBLY Assemblies are the fundamental units of applications in the.net framework An assembly can contain classes, structures, interfaces.
XPand your capabilities with Citrix ® MetaFrame XP ™ for Windows ®, Feature Release 2.
 Evolution of Smart Client  What is Smart client?  Types of Smart client  Architectural challenges  Smart Client Architecture  Demo application.
Windows 2000 Operating System -- Active Directory Service COSC 516 Yuan YAO 08/29/2000.
IIS Security Sridurga Mavram. Contents -Introduction -Security Consideration -Creating a web page -Drawbacks -Security Tools -Conclusion -References.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
OFC290 Information Rights Management in Microsoft Office 2003 Lauren Antonoff Group Program Manager.
Open Search Office Web Services Database Doc Mgt Sys Pipeline Index Geospatial Analysis Text Search Faceting Caching Query parsing Clustering Synonyms.
Active Directory Harikrishnan V G 18 March Presentation titlePage 2 Agenda ► Introduction – Active Directory ► Directory Service ► Benefits of Active.
Sage ACT! 2013 SDK Update Brian P. Mowka March 23, 2012 Template date: October 2010.
Deploy.NET Applications with Ease Brian Noyes IDesign, Inc.
Live Migration Failover Clustering with Cluster Shared Volumes (CSV) Support for new Processor features Improved Performance Lower Power Costs Enhanced.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Create Windows ® Applications with.NET Carlotta Eaton ( Associate Professor of IST New River Community College Slides by Microsoft.
Microsoft Office System UK Developers Conference Radisson Edwardian, Heathrow 29 th & 30 th June 2005.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
n Just as a human virus is passed from person from person, a computer virus is passed from computer to computer. n A virus can be attached to any file.
Using MS Excel to validate & load your data into Oracle EBS.
Open Solutions for a Changing World™ Copyright 2005, Data Access Worldwide June 6-9, 2005 Key Biscayne, Florida 1 Application Deployment Stephen W. Meeley.
Getting Started with.NET Getting Started with.NET/Lesson 1/Slide 1 of 31 Objectives In this lesson, you will learn to: *Identify the components of the.NET.
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
Features Of SQL Server 2000: 1. Internet Integration: SQL Server 2000 works with other products to form a stable and secure data store for internet and.
Excel Services Displays all or parts of interactive Excel worksheets in the browser –Excel “publish” feature with optional parameters defined in worksheet.
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
ClickOnce Deployment (One-click Deployment)
File Syncing Technology Advancement in Seafile -- Drive Client and Real-time Backup Server Johnathan Xu CTO, Seafile Ltd.
Netscape Application Server
Visual Studio Tools for Office 2005
5.0 : Windows Operating System
Get Office 2016 with Office 365 and get down to business
The Application Lifecycle
Technical Capabilities
ClickOnce Deployment (One-click Deployment)
Windows Forms in Visual Studio 2005: An in-depth look at key features
Mark Quirk Head of Technology Developer & Platform Group
Running C# in the browser
Presentation transcript:

Smart Clients What, Why, and Where By: Richard Arthur

Smart Clients Defined Best programming benefits of Best programming benefits of Windows applications Windows applications Web applications Web applications Benefits are Benefits are Smaller footprint Smaller footprint Richer interaction Richer interaction More robust code More robust code Easier deployment Easier deployment Consistent updates Consistent updates Centralized data stores Centralized data stores

Motivation: Web Benefits of Web Sites Benefits of Web Sites Easier deployment Easier deployment Easier upgrades Easier upgrades Ubiquitous access Ubiquitous access Centralized data stores Centralized data stores Drawbacks of Web Sites Drawbacks of Web Sites Managing scale Managing scale Less-interactive Less-interactive HTML – even with JavaScript, it is not great HTML – even with JavaScript, it is not great Stateless Stateless Session management Session management Limited access to local resources Limited access to local resources

Motivation: Windows Benefits of Windows Applications Benefits of Windows Applications Richer interactions within the application Richer interactions within the application Faster performance Faster performance Better use of local resources Better use of local resources Can be run when disconnected Can be run when disconnected Drawbacks of Windows Applications Drawbacks of Windows Applications DLL Hell DLL Hell Installation and upgrade headaches Installation and upgrade headaches Larger installations Larger installations “Heavy Footprint” – consumes more resources “Heavy Footprint” – consumes more resources

Nifty Graphic

Groups of Smart Clients Windows Windows Full-blown stand-alone applications Full-blown stand-alone applications MS Office MS Office Applications use Office for data management Applications use Office for data management Mobile Mobile Handhelds use Web Services Handhelds use Web Services store and manipulate data store and manipulate data

MS Office? Source of confusion Source of confusion Developers got a little trigger-happy with “Smart Client” term Developers got a little trigger-happy with “Smart Client” term Employs many design principles of Smart Clients Employs many design principles of Smart Clients Outlook Outlook works disconnected works disconnected Excel Excel Easy to update deployed spreadsheets Easy to update deployed spreadsheets Centralize data and reference it Centralize data and reference it Use Web Services Use Web Services Word Word Easy to update deployed documents Easy to update deployed documents Centralize the data and reference it Centralize the data and reference it Use Web Services Use Web Services

Existing Applications Where are smart clients today? Where are smart clients today? AOL/MSN Messenger AOL/MSN Messenger Contact list is centralized Contact list is centralized Customizations are stored locally Customizations are stored locally Seamless application updates Seamless application updates Virus Scanners Virus Scanners McAfee stores local DB of viruses McAfee stores local DB of viruses Regularly updates itself Regularly updates itself MS Passport MS Passport Centralized storage of Credit Card info Centralized storage of Credit Card info Data shared across web sites Data shared across web sites

Target Environments Corporate environments Corporate environments Lots of users Lots of users Central/shared data stores Central/shared data stores Frequent or important updates Frequent or important updates Know OS/Environments Know OS/Environments Home environments Home environments Data duplicated/shared across several machines Data duplicated/shared across several machines Frequent or important updates Frequent or important updates Bug fixes Bug fixes New features New features

Considerations For Implementing Consider Smart Clients when your code can/may: Consider Smart Clients when your code can/may: Replicate data across several applications Replicate data across several applications Data should be centralized for all users Data should be centralized for all users Application needs desktop resources to work Application needs desktop resources to work Needs more power than web apps can provide Needs more power than web apps can provide Application needs connectivity Application needs connectivity Can do without it for a while Can do without it for a while

Facilitating Smart Clients.NET Framework.NET Framework Overcoming DLL Hell Overcoming DLL Hell Version conflicts Version conflicts “XCopy” deployment “XCopy” deployment “No-Touch” deployment “No-Touch” deployment Overcoming large footprint Overcoming large footprint Many assemblies already exist on client machines Many assemblies already exist on client machines Intermediate code is inherently smaller Intermediate code is inherently smaller Visual Studio.NET 2005 Visual Studio.NET 2005 Overcoming Deployment/Upgrade issues Overcoming Deployment/Upgrade issues ClickOnce technology ClickOnce technology

XCopy Deployment Old DOS tool for copying several files at once Old DOS tool for copying several files at once No registry needed No registry needed Some drawbacks Some drawbacks You may need data pre-installed to the registry You may need data pre-installed to the registry You may need data pre-installed outside the install directory You may need data pre-installed outside the install directory User data should go in the UserAppDataPath directory User data should go in the UserAppDataPath directory No transacted installs No transacted installs Currently provided by the Windows Installer Currently provided by the Windows Installer

No-Touch Deployment Post to Web/Shared Server Post to Web/Shared Server Runs from the download location Runs from the download location Downloads assemblies on demand Downloads assemblies on demand Drawbacks: Drawbacks: Unreliable offline functionality Unreliable offline functionality May not have the latest DLLs May not have the latest DLLs DLLs might be cleaned up by IE DLLs might be cleaned up by IE Apps can run in “offline” mode only when IE is in offline mode Apps can run in “offline” mode only when IE is in offline mode Same DLL problems as mentioned above Same DLL problems as mentioned above

More No-Touch Problems Runs in “sandbox”-like environment Runs in “sandbox”-like environment No access to No access to Global Assembly Cache (GAC) Global Assembly Cache (GAC) Unmanaged code Unmanaged code Registry Registry Windows Shell Windows Shell Any Files – except for “Isolated Storage” Any Files – except for “Isolated Storage” Databases Databases Other Applications Other Applications Web Sites other than the originating server Web Sites other than the originating server

Major Design Considerations Several areas must be considered Several areas must be considered Data Data Network Network Security Security Deployment & Upgrading Deployment & Upgrading See: us/dnpag/html/scag.asp for greater details us/dnpag/html/scag.asphttp://msdn.microsoft.com/smartclient/default.aspx?pull=/library/en- us/dnpag/html/scag.asp

Data Considerations Central Store Central Store Access from several locations Access from several locations Share between different users Share between different users Local store Local store No need to share No need to share Store locally for the application Store locally for the application Need to be disconnected Need to be disconnected Update regularly: prevent stale data Update regularly: prevent stale data Update asynchronously: allow interaction while updating Update asynchronously: allow interaction while updating

Networking Considerations When connected When connected What will you let your users do? What will you let your users do? Limit network “chatter” Limit network “chatter” Make it look fast, ensure completion later Make it look fast, ensure completion later Improves performance (real & perceived) Improves performance (real & perceived) When disconnected When disconnected Use a data store to allow continuous operation Use a data store to allow continuous operation Managing updates when reconnected Managing updates when reconnected Handling dependencies (key-based relationships) Handling dependencies (key-based relationships) When interrupted When interrupted Detecting interruptions to Network service Detecting interruptions to Network service Recovering from interruptions Recovering from interruptions Ensuring no data corruption Ensuring no data corruption

Security Considerations Trust No Data! Trust No Data! On the server: On the server: Authenticate and Authorize all requests Authenticate and Authorize all requests Always double-check the data Always double-check the data SSL Encryption is good, but still a stop-gap SSL Encryption is good, but still a stop-gap Centralize server access Centralize server access Write consistent code Write consistent code Write hole-free code Write hole-free code Manage resource permissions properly Manage resource permissions properly On the client: On the client: Validate all the data Validate all the data Authenticate and Authorize all incoming data Authenticate and Authorize all incoming data Read “Writing Secure Code” (ISBN: ) Read “Writing Secure Code” (ISBN: )

Deployment Considerations Make sure all clients have the.NET Framework Make sure all clients have the.NET Framework OneClick OneClick Easier to maintain and upgrade Easier to maintain and upgrade Not available with.NET Framework 1.1 Not available with.NET Framework 1.1 No-Touch No-Touch Easy to maintain on the server Easy to maintain on the server Harder to maintain on the client Harder to maintain on the client Windows Installation Package Windows Installation Package Easy for developer to maintain Easy for developer to maintain Harder to upgrade the application Harder to upgrade the application May combine with OneClick May combine with OneClick Download and automatically install periodic updates Download and automatically install periodic updates

Thank You Questions?