dot net smart_client_development
DESCRIPTION
TRANSCRIPT
Smart Client application Development
Using
Presented by: Tamajit Chakraborty,Computer Science &
Engineering ,6th semester,Roll 09
Stuff we’ll talk about…
client modelWindows FormsCode Access SecuritySmart Device ProgrammabilityOffice System 2003Visual Studio Tools for Office
The Client ModelTraditional Rich Client
Uncompromiseduser experience
Flexible offline operation & storage
Strong integration with client-side APIs (Application programming interface)
Great developer tools support Serious security issues, viruses,
etc.
Traditional Web Client
Broad desktop reach Easy administration Impaired or frustrating user
experience No offline operation or storage Poor integration with client-side
APIs DHTML / scripting tools non-
existent
.NET Framework Smart ClientTo the metal performance
GDI(Graphics Device Interface)+ & DirectX graphics
Direct Win32 & COM as needed
“Real time” (study of hardware and software systems) interactivityFriction free deployment & versioning
Launch app from a URL Embed control in a web page
Safe and secure app execution Code access security
Automatic online / offline support
Application updater component
Windows FormsThe .NET Framework Smart Client
Operating System
Common Language Runtime (CLR)
Base Class Libraries (BCL)
.NET and XML
ASP.NETWeb Forms Web Services
WindowsForms
Common Language Specification
Visual Basic C# J# …
Visu
al S
tud
io .N
ET
C++
Windows FormsThe .NET Framework Smart ClientSmart client is a term describing an application environment which:
Delivers applications over a web HTTP connectionDoes not require installation (or provide automated installation and updates)Automatically updates without user actionHas the look and feel of desktop applicationsMore user friendly.
Issues of Code Security
The enemy is among us – no perimetersInnocent but trusted code often plays host to malicious mobile codeMalicious code can do anything that the user has permissions to doThe user will always make the wrong security decision
LIBRARYOnly people
with a membership card can use
books.
LIBRARYOnly people
with a membership card can use
books.
Code Security in PicturesSecurity Policy
ZYX
Y, would you get a book for me?
Z, would you get a book for X?
I would like to check out a book
Are you and all who will handle this book members?
Shared Library
Luring attack
Untrusted code
Stack Walk
Security Demand
Call Chain
MEMBERcard
Evidence
MEMBERcard
MEMBERcard
Are you and all who will handle this book members?
LIBRARYOnly those who have a member card can check out a book.
LIBRARYOnly those who have a member card can check out a book.
ZYX
Y, would you get a book for me?
Z, would you get a book for X?
I would like to check out a book
X is not a member,
but I vouch for him.
Stack Modifier:Assert() I don’t
want to be responsible – won’t
pass books
promoting violence!
Stack Modifier:Deny()
I will only pass
books printed
after 1980
Stack Modifier:
PermitOnly()
Code Security in Pictures
Code Access SecurityAll Code in Call Chain is Evaluated
MYAPP (INTRANET). . . .myComponent.ReadSetting(key);. . . .
MYCOMPONENT (LOCALMACHINE). . . .Stream fileStream = FileStream.Open(“settings.xml”);. . . .
Calls
Got Permission?
Got Permission?
Exception
Calls
FRAMEWORKpublic FileStream (string name) {
FileIOPermission fp = new FileIOPermission(name)fp.Demand(). . . .
}
Code Access SecurityStack Walk Stopped by Assert
MYAPP (INTRANET). . . .myComponent.ReadSetting(key);. . . .
MYCOMPONENT (LOCALMACHINE). . . .FileIOPermission fp = new FileIOPermission
(FileIOPermissionAccess.Read, “settings.xml”);fp.Assert();Stream fileStream = FileStream.Open(“settings.xml”);
Calls
Got Permission?Calls
FRAMEWORKpublic FileStream (string name) {
FileIOPermission fp = new FileIOPermission(name)
fp.Demand(). . . .
}
Returns
Returns
Device ProgrammabilityBroad Reach vs. Smart Device
ASP.NET Mobile Controls
Mobile Web Browser
Remote Web Pages
Device Operating System
Smart Device Programmabilit
y
.NET Compact Framework
Local Code
Smart client
Smart Device Programmability Remote Debugging
Same user experience as desktop Compile application for device Automatically deploys to selected device Output Window used for deployment
messagesSupported features include On-device debugging Breakpoints Multi-language debugging Call Stack, Watch windows
Smart Device Programmability SQL Server™ Windows® CE Edition 2.0On-device data engine for Windows CE-
powered devices
Rich replication and synchronization with SQL Server
Designed for high performance in resource-constrained environment
Visual Studio Tools for Office
New Projects Types for VS.NET Power and richness of the Office System “Code behind” for Word & Excel 2003 Secure auto-deployment of .NET
application codeVS.NET developer productivity Real languages – Visual Basic .NET and
Visual C# IntelliSense, code outlining, dynamic help,
etc. Advanced debugging environment Visual designers for WinForms, XML, data,
etc. Power of the .NET Framework and web
services
Visual Studio Tools can be downloaded from:http://msdn.microsoft.com/en-us/vstudio
Advantage“Friction Free” DeploymentNo “installation” necessary – just run it Code downloads on-demand from any
web server Saved in cache and dynamically updated
Copy to a folder and delete when done No registry entries or other dependencies
Windows Installer technology Self repairing installations, rollback,
signing
Useful Resourceshttp://en.wikipedia.org/wiki/.NET_Frameworkhttp://en.wikipedia.org/wiki/Smart_clienthttp://www.windowsforms.net TaskVision, sample code, forum, articles,
etc.Mobility and the .NET Compact Framework http://msdn.microsoft.com/mobility
http://msdn.microsoft.com/office Visual Studio Tools for Office, etc.
http://msdn.microsoft.com/community Hundreds of active third party
communitieshttp://msdn.microsoft.com/newsgroups dotnet.framework.windowsforms vsnet.tools.office
© 2013 TAMAJIT.
THANK YOU
Any questions?