2. Stuff we’ll talk about…
client model
Windows Forms
Code Access Security
Smart Device Programmability
Office System 2003
Visual Studio Tools for Office
3. The Client Model
Traditional Rich Client
Uncompromised
user 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 Client
To the metal performance
GDI(Graphics Device Interface)+
& DirectX graphics
Direct Win32 & COM as needed
“Real time” (study of hardware and
software systems) interactivity
Friction 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
4. Windows Forms
The .NET Framework Smart Client
Operating System
Common Language Runtime (CLR)
Base Class Libraries (BCL)
.NET and XML
ASP.NET
Web Forms Web Services
Windows
Forms
Common Language Specification
Visual
Basic C# J# …
VisualStudio.NET
C++
5. Windows Forms
The .NET Framework Smart Client
Smart client is a term describing an
application environment which:
Delivers applications over a web HTTP
connection
Does not require installation (or provide
automated installation and updates)
Automatically updates without user action
Has the look and feel of desktop
applications
More user friendly.
6. Issues of Code Security
The enemy is among us – no perimeters
Innocent but trusted code often plays host to
malicious mobile code
Malicious code can do anything that the user
has permissions to do
The user will always make the wrong security
decision
7. LIBRARY
Only people
with a
membership
card can use
books.
Code Security in Pictures
Security
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
MEMBER
card
Evidence
MEMBER
card
MEMBER
card
8. Are you and all who will handle this book members?
LIBRARY
Only 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
responsibl
e – won’t
pass
books
promoting
violence!
Stack
Modifier:
Deny()
I will only
pass
books
printed
after 1980
Stack
Modifier:
PermitOnly()
Code Security in Pictures
11. Device Programmability
Broad Reach vs. Smart Device
ASP.NET Mobile
Controls
Mobile Web
Browser
Remote Web Pages
Device Operating System
Smart Device
Programmability
.NET Compact
Framework
Local Code
Smart client
12. Smart Device Programmability
Remote Debugging
Same user experience as desktop
Compile application for device
Automatically deploys to selected device
Output Window used for deployment messages
Supported features include
On-device debugging
Breakpoints
Multi-language debugging
Call Stack, Watch windows
13. Smart Device Programmability
SQL Server™ Windows® CE Edition 2.0
On-device data engine for Windows CE-
powered devices
Rich replication and synchronization with SQL
Server
Designed for high performance in resource-
constrained environment
14. 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 code
VS.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
15. Advantage
“Friction Free” Deployment
No “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