dot net smart_client_development

17
Smart Client application Development Using Presented by: Tamajit Chakraborty, Computer Science & Engineering , 6 th semester, Roll 09

Upload: tamajit-chakraborty

Post on 22-Nov-2014

231 views

Category:

Education


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: dot net smart_client_development

Smart Client application Development

Using

Presented by: Tamajit Chakraborty,Computer Science &

Engineering ,6th semester,Roll 09

Page 2: dot net smart_client_development

Stuff we’ll talk about…

client modelWindows FormsCode Access SecuritySmart Device ProgrammabilityOffice System 2003Visual Studio Tools for Office

Page 3: dot net smart_client_development

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

Page 4: dot net smart_client_development

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++

Page 5: dot net smart_client_development

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.

Page 6: dot net smart_client_development

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

Page 7: dot net smart_client_development

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

Page 8: dot net smart_client_development

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

Page 9: dot net smart_client_development

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(). . . .

}

Page 10: dot net smart_client_development

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

Page 11: dot net smart_client_development

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

Page 12: dot net smart_client_development

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

Page 13: dot net smart_client_development

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

Page 14: dot net smart_client_development

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

Page 15: dot net smart_client_development

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

Page 16: dot net smart_client_development

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

Page 17: dot net smart_client_development

© 2013 TAMAJIT.

THANK YOU

Any questions?