Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges ...
-
Upload
alban-parks -
Category
Documents
-
view
235 -
download
2
Transcript of Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges ...
![Page 1: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/1.jpg)
SMART CLIENT
![Page 2: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/2.jpg)
AGENDAEvolution of Smart ClientWhat is Smart client?Types of Smart clientArchitectural challengesSmart Client ArchitectureDemo application of Smart ClientDeploy smart client application with
Click onceUpdating Smart Client ApplicationsSecurity Considerations
![Page 3: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/3.jpg)
EVOLUTION
Era of client applications being developed for the Microsoft® Windows® platform. - In mid 1990
2 – Tier Distributed Applications Internet Web Applications Again need of Rich client Applications New Generation Application - “Smart Client”
![Page 4: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/4.jpg)
CLIENT APPLICATION
Single Architecture – Mainframes – Dumb Terminals
![Page 5: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/5.jpg)
EVOLUTION
Era of client applications being developed for the Microsoft® Windows® platform. - In mid 1990
2 – Tier Distributed Applications Internet Web Applications Again need of Rich client Applications New Generation Application - “Smart Client”
![Page 6: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/6.jpg)
Mid 80’s Personal Computers (2 tier) – Thick Clients
2 – TIER APPLICATION
![Page 7: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/7.jpg)
EVOLUTION
Era of client applications being developed for the Microsoft® Windows® platform. - In mid 1990
2 – Tier Distributed Applications Internet Web Applications Again need of Rich client Applications New Generation Application - “Smart Client”
![Page 8: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/8.jpg)
WEB APPLICATIONS
Web Applications Solve Everything!
![Page 9: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/9.jpg)
EVOLUTION
Era of client applications being developed for the Microsoft® Windows® platform. - In mid 1990
2 – Tier Distributed Applications Internet Web Applications Again need of Rich client Applications New Generation Application - “Smart Client”
![Page 10: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/10.jpg)
RICH CLIENT APPLICATIONS
![Page 11: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/11.jpg)
EVOLUTION
Era of client applications being developed for the Microsoft® Windows® platform. - In mid 1990
2 – Tier Distributed Applications Internet Web Applications Again need of Rich client Applications New Generation Application - “Smart
Client”
![Page 12: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/12.jpg)
WHAT IS SMART CLIENT?
Smart Client is a term used to describe an application environment which: delivers applications over a web connection automatically update application without user
action has the look and feel of desktop applications
“Smart client” is neither a technology nor any specific architecture. It is a concept and a style of applications that combines the best of both windows applications and web applications.
![Page 13: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/13.jpg)
WHAT IS SMART CLIENT?
Web Services &Offline/Onlinesupport
DeviceAdaptability
Tough toDeploy
HeavyFootprint
DLL Hell
NetworkDependency
Poor UserExperience
Rich UIComplexTo Develop
Rich UserExperience
DeveloperProductivity
Responsive
BroadReach
Easy ChangeManagement
Ease ofDeployment
![Page 14: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/14.jpg)
TYPES OF SMART CLIENT
Windows smart client applications A “desktop application” that uses available system resources
and that provides a rich user interface Examples: Microsoft Money and Microsoft Outlook® messaging
and collaboration client
Office smart client applications Microsoft Office System 2003 provides you with a useful
platform on which to build smart client applications, especially in an enterprise setting.
Mobile smart client applications Applications that run on smart devices — Pocket PCs, Smart-
phones, and other small form factor devices such as set-top boxes.
These applications are built using compact .NET framework Examples: insurance and financial data-gathering applications,
inventory management applications, and personal productivity management applications
![Page 15: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/15.jpg)
ARCHITECTURAL CHALLENGES
Allows data and logic to be distributed to the client computer
Ensures that the data is refreshed appropriately and that stale data is not used.
Data concurrency Flexibility in how SC can be hosted Deployed as composite application.
![Page 16: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/16.jpg)
ARCHITECTURE
Makes use of local resources Makes use of network resources Supports the “occasionally-connected”
model Provides intelligent installation and
updates Provides client device flexibility
![Page 17: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/17.jpg)
USING LOCAL RESOURCES
Code and data deployed on the client ; executed and accessed locally
Rich and responsive user interface ; powerful client-side processing capabilities. Enables to perform complex data manipulation,
visualization, searching, or sorting operations. Takes advantage of client-side hardware resources
as well as local software Direct display and peripheral access Responsive graphics, printers, digital camera’s, smart phones,
pda, etc. Use of installed applications - Word, Excel, VSTO
![Page 18: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/18.jpg)
USING NETWORK RESOURCES
Consumes and uses different services and data over the network
Should use centralized services that help maintain the application and provide deployment and update services.
Allow users to collaborate on tasks In many cases, a smart client application can
provide portal-like capabilities to the user, allowing disparate data and services to be coordinated and integrated into an overall solution.
![Page 19: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/19.jpg)
OCCASIONALLY CONNECTED USERS
Designed to provide functionality to users who are occasionally connected/ Off line to the network.
It can increase user’s productivity and efficiency
Update when connected
![Page 20: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/20.jpg)
INTELLIGENT INSTALLATION AND UPDATE
Different ways to deploy smart clientsAutomatic updatesUpdates while running and can be
deployed on demand by clicking on a URL
Allows you to strongly name your application components
Allows applications to be isolated from each other
![Page 21: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/21.jpg)
CLIENT DEVICE FLEXIBILITYAllows the user to configure the
application to support his or her preferred way of working
Allows access on multiple devicesAbility to tailor the application
according to the devices with essential features and functionality
For example, a SC application can be developed that run on different devices like desktop, laptop, tablet, or mobile with their ability to deliver a full range of smart client applicationfeatures
![Page 22: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/22.jpg)
Introduction to ClickOnce 2.0 Deployment technology for SmartClient
applications Initial deployment of applications On-demand and automatic updates
Idea behind ClickOnce: take easy and reliable deployment of web applications to rich client apps No more touching every client for
installs and updates No harm to other applications and
data No problems like DLL hell and broken
apps
![Page 23: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/23.jpg)
A bit of deployment history
.NET FX 1.1 No-touch deployment Easy deployment over HTTP Apps always runs as partially trusted
code inside of a sandbox No transaction on updates involving
multiple files Always downloads all files before
running
![Page 24: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/24.jpg)
Features of ClickOnce 2.0
Applications can be available: Online only Both online and offline, through a Start
Menu shortcut Background updates Transacted multi-file updates of
application Nice integration with Visual Studio
2005
![Page 25: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/25.jpg)
DEMO
Simple example of ClickOnce deployment
![Page 26: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/26.jpg)
More deployment details
Files are stored in an obfuscated location in user’s profile Isolated by user,
application and version
Installation cannot perform privileged operations No custom install
steps, registry entries, driver installation, COM registration
![Page 27: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/27.jpg)
ClickOnce runtime
ClickOnce runtime is responsible for management and deployment of apps and permissions
Runtime is triggered by two new XML file types: Application deployment manifests
(*.application) Application references (*.appref-ms)
Running application’s exe directly does not start ClickOnce runtime
![Page 28: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/28.jpg)
Automatic application updates Application is updated when new
versions are published and updates are enabled
CO runtime checks at update location for new deployment manifest
New files are downloaded when available Configurable option of update check and
download Before startup of application In background every time application is
run In background on regular intervals
Updates can be optional or obligatory Add/Remove programs allows rollback
of updates
![Page 29: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/29.jpg)
Visual Studio.NET integration Part of core project system
Project properties has several tabs related to ClickOnce: Publish, Security and more
Calculate permissions Deployment not as an after thought
Taken care of during development Publish Wizard simplifies deployment even
further Allows easy manipulation of some of ClickOnce
properties
![Page 30: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/30.jpg)
ClickOnce in the future
Longhorn version of ClickOnce will bring Use of Background Intelligent Transfer
Service (BITS) technology for trickle download
Different execution context allowing execution from browser or externally
Better protection in SEE
![Page 31: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/31.jpg)
ClickOnce Security
Code Access Security (CAS) determines what an application is allowed to do: Permissions assigned based on evidence
and policies Location of download is leading: Local,
Intranet or Internet Custom security policy allows for
content-based evidence
![Page 32: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/32.jpg)
Application manifest states permissions needed to properly run application Once installed and run, app gets only
permissions in manifest User is prompted when manifest
requests more permissions than CAS gives
![Page 33: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/33.jpg)
SECURITY OF SMART CLIENT
CLR includes a new way of handling security for SC applications, known as Code Access Security (CAS)
CAS Framework terminology Permissions Permission sets Evidence Code groups Security policy Demand Assert
![Page 34: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/34.jpg)
CAS FRAMEWORK SCENARIO
![Page 35: Evolution of Smart Client What is Smart client? Types of Smart client Architectural challenges Smart Client Architecture Demo application.](https://reader035.fdocuments.in/reader035/viewer/2022062221/56649e8e5503460f94b9238a/html5/thumbnails/35.jpg)
Questions and Answers
? !