SlideShare una empresa de Scribd logo
1 de 17
Smart Client application
Development
Using
Presented by:
Tamajit Chakraborty,
Computer Science & Engineering ,
6th semester,
Roll 09
Stuff we’ll talk about…
client model
Windows Forms
Code Access Security
Smart Device Programmability
Office System 2003
Visual Studio Tools for Office
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
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++
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.
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
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
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
Code Access Security
All 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
FRAMEWORK
public FileStream (string name) {
FileIOPermission fp = new FileIOPermission(name)
fp.Demand()
. . . .
}


Code Access Security
Stack 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
FRAMEWORK
public FileStream (string name) {
FileIOPermission fp = new
FileIOPermission(name)
fp.Demand()
. . . .
}
 Returns
Returns
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
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
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
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
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
Useful Resources
http://en.wikipedia.org/wiki/.NET_Framework
http://en.wikipedia.org/wiki/Smart_client
http://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 communities
http://msdn.microsoft.com/newsgroups
 dotnet.framework.windowsforms
 vsnet.tools.office
© 2013 TAMAJIT.
THANK YOU
Any questions?

Más contenido relacionado

Destacado

Database Normalization
Database NormalizationDatabase Normalization
Database NormalizationRathan Raj
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationEntity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationSatya Pal
 
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFDatabase Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFOum Saokosal
 

Destacado (7)

Functional dependency
Functional dependencyFunctional dependency
Functional dependency
 
Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationEntity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalization
 
Normalization
NormalizationNormalization
Normalization
 
Databases: Normalisation
Databases: NormalisationDatabases: Normalisation
Databases: Normalisation
 
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NFDatabase Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
Database Normalization 1NF, 2NF, 3NF, BCNF, 4NF, 5NF
 
DBMS - Normalization
DBMS - NormalizationDBMS - Normalization
DBMS - Normalization
 

Similar a dot net smart_client_development

Mobile development
Mobile developmentMobile development
Mobile developmentSayed Ahmed
 
Dload mobile development
Dload mobile developmentDload mobile development
Dload mobile developmentSayed Ahmed
 
From Bitcoin Hardware Wallets to Personal Privacy Devices
From Bitcoin Hardware Wallets to Personal Privacy DevicesFrom Bitcoin Hardware Wallets to Personal Privacy Devices
From Bitcoin Hardware Wallets to Personal Privacy DevicesMecklerMedia
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Lee Stott
 
Windows Embedded in the Real World
Windows Embedded in the Real WorldWindows Embedded in the Real World
Windows Embedded in the Real Worldukdpe
 
The Power of Malware Analysis and Development.pdf
The Power of Malware Analysis and Development.pdfThe Power of Malware Analysis and Development.pdf
The Power of Malware Analysis and Development.pdflior mazor
 
Building frameworks: from concept to completion
Building frameworks: from concept to completionBuilding frameworks: from concept to completion
Building frameworks: from concept to completionRuben Goncalves
 
Windows developer program for IoT
Windows developer program for IoTWindows developer program for IoT
Windows developer program for IoTMirco Vanini
 
Best practices to secure Windows10 with already included features
Best practices to secure Windows10 with already included featuresBest practices to secure Windows10 with already included features
Best practices to secure Windows10 with already included featuresAlexander Benoit
 
Dev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityDev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityMario Heiderich
 
Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Mirco Vanini
 
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Jason Conger
 
201500912 Hello Windows 10
201500912 Hello Windows 10201500912 Hello Windows 10
201500912 Hello Windows 10영욱 김
 
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!Caleb Jenkins
 
Can we build an Azure IoT controlled device in less than 40 minutes that cost...
Can we build an Azure IoT controlled device in less than 40 minutes that cost...Can we build an Azure IoT controlled device in less than 40 minutes that cost...
Can we build an Azure IoT controlled device in less than 40 minutes that cost...Codemotion Tel Aviv
 
Mobile security
Mobile securityMobile security
Mobile securityStefaan
 
Internet of things at the Edge with Azure IoT Edge by sonujose
Internet of things at the Edge with Azure IoT Edge by sonujoseInternet of things at the Edge with Azure IoT Edge by sonujose
Internet of things at the Edge with Azure IoT Edge by sonujoseSonu Jose
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easyLars Vogel
 

Similar a dot net smart_client_development (20)

Mobile development
Mobile developmentMobile development
Mobile development
 
Dload mobile development
Dload mobile developmentDload mobile development
Dload mobile development
 
From Bitcoin Hardware Wallets to Personal Privacy Devices
From Bitcoin Hardware Wallets to Personal Privacy DevicesFrom Bitcoin Hardware Wallets to Personal Privacy Devices
From Bitcoin Hardware Wallets to Personal Privacy Devices
 
Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011Microsoft IT Academy Summit 2011
Microsoft IT Academy Summit 2011
 
Windows Embedded in the Real World
Windows Embedded in the Real WorldWindows Embedded in the Real World
Windows Embedded in the Real World
 
The Power of Malware Analysis and Development.pdf
The Power of Malware Analysis and Development.pdfThe Power of Malware Analysis and Development.pdf
The Power of Malware Analysis and Development.pdf
 
Building frameworks: from concept to completion
Building frameworks: from concept to completionBuilding frameworks: from concept to completion
Building frameworks: from concept to completion
 
Windows developer program for IoT
Windows developer program for IoTWindows developer program for IoT
Windows developer program for IoT
 
Best practices to secure Windows10 with already included features
Best practices to secure Windows10 with already included featuresBest practices to secure Windows10 with already included features
Best practices to secure Windows10 with already included features
 
Dev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT SecurityDev and Blind - Attacking the weakest Link in IT Security
Dev and Blind - Attacking the weakest Link in IT Security
 
Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?
 
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
 
201500912 Hello Windows 10
201500912 Hello Windows 10201500912 Hello Windows 10
201500912 Hello Windows 10
 
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!10 Reasons Your Software Sucks 2014 - Tax Day Edition!
10 Reasons Your Software Sucks 2014 - Tax Day Edition!
 
Can we build an Azure IoT controlled device in less than 40 minutes that cost...
Can we build an Azure IoT controlled device in less than 40 minutes that cost...Can we build an Azure IoT controlled device in less than 40 minutes that cost...
Can we build an Azure IoT controlled device in less than 40 minutes that cost...
 
CFInterop
CFInteropCFInterop
CFInterop
 
Mobile security
Mobile securityMobile security
Mobile security
 
Internet of things at the Edge with Azure IoT Edge by sonujose
Internet of things at the Edge with Azure IoT Edge by sonujoseInternet of things at the Edge with Azure IoT Edge by sonujose
Internet of things at the Edge with Azure IoT Edge by sonujose
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
Android Programming made easy
Android Programming made easyAndroid Programming made easy
Android Programming made easy
 

Último

COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxannathomasp01
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxUmeshTimilsina1
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17Celine George
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 

Último (20)

COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 

dot net smart_client_development

  • 1. Smart Client application Development Using Presented by: Tamajit Chakraborty, Computer Science & Engineering , 6th semester, Roll 09
  • 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
  • 9. Code Access Security All 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 FRAMEWORK public FileStream (string name) { FileIOPermission fp = new FileIOPermission(name) fp.Demand() . . . . }  
  • 10. Code Access Security Stack 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 FRAMEWORK public FileStream (string name) { FileIOPermission fp = new FileIOPermission(name) fp.Demand() . . . . }  Returns Returns
  • 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
  • 16. Useful Resources http://en.wikipedia.org/wiki/.NET_Framework http://en.wikipedia.org/wiki/Smart_client http://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 communities http://msdn.microsoft.com/newsgroups  dotnet.framework.windowsforms  vsnet.tools.office
  • 17. © 2013 TAMAJIT. THANK YOU Any questions?