SlideShare a Scribd company logo
1 of 95
Developing Windows and Web Applications using Visual Studio.NET Deployment and Security Peter Gfader Senior Software Architect
[object Object],[object Object],[object Object],[object Object],[object Object],Admin Stuff
Homework?
[object Object],[object Object],[object Object],[object Object],Session 3: Last week?
N-Tier Application Simplified
Northwind DAL LINQ to SQL DBML BL WebUI WinUI
[object Object],How did we do it?
Where does LINQ to SQL fit in? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],2 Tiered?
Northwind Northwind.Common.Objects DataContext Entities
Northwind Northwind.Common.Objects DataContext Entities WebUI WinUI
Northwind Northwind.Common.Objects DataContext Entities WebUI WinUI
Northwind Northwind.Common.Objects DataContext Entities WebUI WinUI Services
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Where does LINQ to SQL fit in?
[object Object],[object Object],[object Object],So how do we separate our Data Access layer?
[object Object],[object Object],[object Object],N-Tier Business app
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Agenda Session 4: Deployment & Security
Part 1 - ClickOnce
Windows  vs  Web forms ,[object Object]
ClickOnce  - The Best of both Worlds z Web Forms Network Dependency Limited User Experience Complex To Develop Windows Forms Fragile “ DLL Hell” Tough To Update Tough To Deploy Easy To Update Easy To Deploy Easy To Manage Rich User Experience Offline Capable Responsive & Flexible High User Productivity Click Once
ClickOnce The Best of both Worlds ,[object Object]
History ,[object Object],[object Object]
History: Feel the pain…  Windows Installer vs ClickOnce z Features Windows Installer ClickOnce Click a link Post-installation rollback Does not affect shared components Security permissions required Administrator Internet/Intranet Zone  Installation-time user interface Multipart Wizard Single prompt Automatic Updates Application and deployment manifest signing Security permissions granted Full Trust by default only permissions necessary Installation of assemblies on demand Add application to Start menu Application installation location Program Files folder ClickOnce app cache Install time Registry access (so move to app) Limited Installation of Drivers Installation to Global Assembly Cache Installation for multiple users Installation of shared files Add application to Startup group Add application to Favorites menu Register File types Binary File patching
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],History: Feel the pain… .Net 1.x HREFing .EXEs
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],History: Feel the pain… Updater Application Block
[object Object],SSW Diagnostics - Clickonce
[object Object],Demo
[object Object],[object Object],[object Object],[object Object],[object Object],ClickOnce Deployment -  How it works? z
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ClickOnce Deployment   Deployment Manifests
ClickOnce Deployment -  Deployment Manifests z 1.0    1.1 Application Manifest Web Page   Link to Manifest   Deployment Manifest 1.0 Application Manifest 1.1
Deployed Files
ClickOnce Deployment -  Bootstraper ,[object Object],z Setup.exe Dotnetfx.exe Mdac_typ.exe Custom.msi Bar.application Reboot Dotnetfx.exe Custom.msi Bar.application MDAC detected! Setup.exe  
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ClickOnce Deployment Which download to provide?
ClickOnce Deployment   Prerequisites  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],z
[object Object],[object Object],[object Object],[object Object],[object Object],ClickOnce Deployment   Prerequisites    Note #1:  If you specify an alternate prerequisite location, the packages must exist there; these errors are not handled with ClickOnce Note #2:  While selecting your prerequisites, keep in mind that prerequisites might need administrator privileges to be installed.
[object Object],[object Object],[object Object],[object Object],ClickOnce Deployment  - Strategies
ClickOnce Deployment   Strategies Compared Web Install CD Install Web Run Adds Shortcuts Adds Add/Remove Requires Updates Allow Passing of Query Parameters Doesn’t require internet
ClickOnce  Deployment Setup Interface
ClickOnce  Deployment Setup Options Interface
[object Object],[object Object],[object Object],[object Object],ClickOnce  Update How it works?   Note 1:  If you use Visual Studio to compile your application, it will generate new hash signatures for  all  files whenever you  rebuild  the entire project. Note 2:  File patching does not work for files that are marked as  data  and stored in the data directory  C:ocuments and SettingsdamCoganocal Settingspps.0
ClickOnce  Update -   How it works?  z Yes No Application Store Installed Startup SHIM My Application Deployment Framework Service What is a SHIM?   It’s a small piece of software that is added to an existing system program or protocol in order to provide some enhancement. Update  Check?
ClickOnce  Update - Strategies ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],ClickOnce  Update - Strategies
[object Object],ClickOnce  Update - Strategies
[object Object],[object Object],[object Object],[object Object],ClickOnce  Update Optional and Required Updates
ClickOnce  Update -   Blocking ,[object Object],[object Object],z
What if you release a bad version?
[object Object],[object Object],Advanced Rolling back updates
[object Object],User Settings & Configuration
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],User Settings
[object Object],[object Object],[object Object],[object Object],User Settings
[object Object],[object Object],[object Object],[object Object],Application Settings
[object Object],[object Object],[object Object],Demo
[object Object],[object Object],[object Object],Advanced Scalability
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Advanced Cache Note: The value in the OnlineAppQuoteInKB registry key is a DWORD that expresses the cache size in kilobytes
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],BUGS Proxy Servers on Client Machines
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],BUGS  Publish Version sync issues
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Warnings   ClickOnce and non-IE Browsers
[object Object],[object Object],[object Object],[object Object],[object Object],Warnings  File Patching and Rebuilds
[object Object],[object Object],[object Object],[object Object],[object Object],Warnings Manifest Overwriting
[object Object],[object Object],[object Object],[object Object],Warnings  File Compression
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Suggestions & Missing Features
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Moving your Application to  ClickOnce
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Limitations Overview
Part 2 -  Security
[object Object],[object Object],[object Object],[object Object],Security
[object Object],[object Object],[object Object],[object Object],[object Object],Security in .NET
[object Object],[object Object],[object Object],[object Object],Role-based Security
[object Object],Authentication & Authorisation
[object Object],Authentication & Authorisation
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Authentication & Authorisation
Demo
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Authentication & Authorisation
Authentication & Authorisation IIdentity (Authentication) IPrincipal (Authorisation) Active Directory (Windows Security) Generic (Text-based) Read from Database (Custom) … …
[object Object],[object Object],[object Object],[object Object],[object Object],Impersonation
[object Object],[object Object],[object Object],[object Object],[object Object],Impersonation
[object Object],[object Object],[object Object],[object Object],[object Object],Impersonation
Impersonation ,[object Object],Login via web as “ DOMAINomJones” IIS checks login against Active Directory .NET code is now impersonating Windows User DOMAINomJones
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],What about lots of users?
[object Object],[object Object],[object Object],[object Object],[object Object],Special case - Mixed
[object Object],Code Access Security
[object Object],[object Object],[object Object],Code Access Security
[object Object],[object Object],[object Object],Code Access Security
[object Object],[object Object],[object Object],Assembly Strong Naming
[object Object],[object Object],[object Object],[object Object],[object Object],Assembly Strong Naming
ClickOnce  Security
[object Object],ClickOnce  Security Partial Trust Permission Settings
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],ClickOnce  Security Security Features
[object Object],[object Object],[object Object],[object Object],Useful links
[object Object],[object Object],Resources - AutoWaitCursor public void DoWork() { try {     this.Cursor = Cursors.WaitCuros;     DoSomeBigThing();     . . . . } catch() {     . . . ..     . . . . . } finally {     . . . .     this.Cursor = Cursors.Default; } }
[object Object],[object Object],[object Object],Resources - AutoWaitCursor
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],References
What's  next?
3  things… ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Microsoft 365 Developer
 
Whats New In Windows 7 And What To Expect
Whats New In Windows 7 And What To ExpectWhats New In Windows 7 And What To Expect
Whats New In Windows 7 And What To ExpectVijay Raj
 
There's more to third-party patching than SCCM 1806
There's more to third-party patching than SCCM 1806There's more to third-party patching than SCCM 1806
There's more to third-party patching than SCCM 1806Ivanti
 
January 2022 patch tuesday
January 2022 patch tuesdayJanuary 2022 patch tuesday
January 2022 patch tuesdayIvanti
 
Everything You Ever Wanted To Know About Application Compatibility
Everything You Ever Wanted To Know About Application CompatibilityEverything You Ever Wanted To Know About Application Compatibility
Everything You Ever Wanted To Know About Application CompatibilityStephen Rose
 
OpenNTF Blast from ILUG 2007
OpenNTF Blast from ILUG 2007OpenNTF Blast from ILUG 2007
OpenNTF Blast from ILUG 2007Kevin Pettitt
 
Ivanti Patch Tuesday for October 2019
Ivanti Patch Tuesday for October 2019Ivanti Patch Tuesday for October 2019
Ivanti Patch Tuesday for October 2019Ivanti
 
Salesforce development lifecycle
Salesforce development lifecycleSalesforce development lifecycle
Salesforce development lifecyclegiridhar007
 
2021 August Patch Tuesday
2021 August Patch Tuesday2021 August Patch Tuesday
2021 August Patch TuesdayIvanti
 
August Patch Tuesday Analysis
August Patch Tuesday AnalysisAugust Patch Tuesday Analysis
August Patch Tuesday AnalysisIvanti
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional testHarry Zheng
 
Patch Tuesday Analysis - September 2015
Patch Tuesday Analysis - September 2015Patch Tuesday Analysis - September 2015
Patch Tuesday Analysis - September 2015Ivanti
 
2021 June Patch Tuesday
2021 June Patch Tuesday2021 June Patch Tuesday
2021 June Patch TuesdayIvanti
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and BeyondESUG
 
ZENworks Application Virtualization for NGN Dummies
ZENworks Application Virtualization for NGN DummiesZENworks Application Virtualization for NGN Dummies
ZENworks Application Virtualization for NGN DummiesRoel van Bueren
 

What's hot (20)

Develop MS Office Plugins
Develop MS Office Plugins Develop MS Office Plugins
Develop MS Office Plugins
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
 
Whats New In Windows 7 And What To Expect
Whats New In Windows 7 And What To ExpectWhats New In Windows 7 And What To Expect
Whats New In Windows 7 And What To Expect
 
Wsus sample scripts
Wsus sample scriptsWsus sample scripts
Wsus sample scripts
 
There's more to third-party patching than SCCM 1806
There's more to third-party patching than SCCM 1806There's more to third-party patching than SCCM 1806
There's more to third-party patching than SCCM 1806
 
Leveling Up Deployment Infrastructure
Leveling Up Deployment InfrastructureLeveling Up Deployment Infrastructure
Leveling Up Deployment Infrastructure
 
January 2022 patch tuesday
January 2022 patch tuesdayJanuary 2022 patch tuesday
January 2022 patch tuesday
 
It 240 it240
It 240 it240It 240 it240
It 240 it240
 
Everything You Ever Wanted To Know About Application Compatibility
Everything You Ever Wanted To Know About Application CompatibilityEverything You Ever Wanted To Know About Application Compatibility
Everything You Ever Wanted To Know About Application Compatibility
 
Security
SecuritySecurity
Security
 
OpenNTF Blast from ILUG 2007
OpenNTF Blast from ILUG 2007OpenNTF Blast from ILUG 2007
OpenNTF Blast from ILUG 2007
 
Ivanti Patch Tuesday for October 2019
Ivanti Patch Tuesday for October 2019Ivanti Patch Tuesday for October 2019
Ivanti Patch Tuesday for October 2019
 
Salesforce development lifecycle
Salesforce development lifecycleSalesforce development lifecycle
Salesforce development lifecycle
 
2021 August Patch Tuesday
2021 August Patch Tuesday2021 August Patch Tuesday
2021 August Patch Tuesday
 
August Patch Tuesday Analysis
August Patch Tuesday AnalysisAugust Patch Tuesday Analysis
August Patch Tuesday Analysis
 
Database continuous integration, unit test and functional test
Database continuous integration, unit test and functional testDatabase continuous integration, unit test and functional test
Database continuous integration, unit test and functional test
 
Patch Tuesday Analysis - September 2015
Patch Tuesday Analysis - September 2015Patch Tuesday Analysis - September 2015
Patch Tuesday Analysis - September 2015
 
2021 June Patch Tuesday
2021 June Patch Tuesday2021 June Patch Tuesday
2021 June Patch Tuesday
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and Beyond
 
ZENworks Application Virtualization for NGN Dummies
ZENworks Application Virtualization for NGN DummiesZENworks Application Virtualization for NGN Dummies
ZENworks Application Virtualization for NGN Dummies
 

Similar to N-Tier Application with Windows Forms - Deployment and Security

Real World Click Once
Real World Click OnceReal World Click Once
Real World Click OnceVivusCraig
 
ClickOnce Deployment Seminar
ClickOnce Deployment SeminarClickOnce Deployment Seminar
ClickOnce Deployment Seminartamilarnesan
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 
important DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And Interviewsimportant DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And InterviewsRahul Jain
 
1 app 2 developers 3 servers
1 app 2 developers 3 servers1 app 2 developers 3 servers
1 app 2 developers 3 serversMark Myers
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications Concetto Labs
 
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...Concentrated Technology
 
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureSigfred Balatan Jr.
 
Click Once Deployment
Click Once DeploymentClick Once Deployment
Click Once Deploymenttamilarnesan
 
3 App Compat Win7
3 App Compat Win73 App Compat Win7
3 App Compat Win7llangit
 
MMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_FinalMMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_Finalmentvanderplas
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialAbid Khan
 
Update to IBM Connections 5 CR1 step by-step guide
Update to IBM Connections 5 CR1 step by-step guideUpdate to IBM Connections 5 CR1 step by-step guide
Update to IBM Connections 5 CR1 step by-step guideRoberto Boccadoro
 
Web application development process
Web application development processWeb application development process
Web application development processJohn Smith
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptxVgPolampalli
 
Microsoft 70-416 it certifications
Microsoft  70-416  it certificationsMicrosoft  70-416  it certifications
Microsoft 70-416 it certificationslilylucy
 
Deploying An Optimized Desktop - XP to 7 With P2V
Deploying An Optimized Desktop - XP to 7 With P2VDeploying An Optimized Desktop - XP to 7 With P2V
Deploying An Optimized Desktop - XP to 7 With P2VStephen Rose
 

Similar to N-Tier Application with Windows Forms - Deployment and Security (20)

Real World Click Once
Real World Click OnceReal World Click Once
Real World Click Once
 
ClickOnce Deployment Seminar
ClickOnce Deployment SeminarClickOnce Deployment Seminar
ClickOnce Deployment Seminar
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
important DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And Interviewsimportant DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And Interviews
 
1 app 2 developers 3 servers
1 app 2 developers 3 servers1 app 2 developers 3 servers
1 app 2 developers 3 servers
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications
 
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
TechMentor Fall, 2011 - Using Task Sequences to Completely Automate Windows 7...
 
Twelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application ArchitectureTwelve-Factor App: Software Application Architecture
Twelve-Factor App: Software Application Architecture
 
Click Once Deployment
Click Once DeploymentClick Once Deployment
Click Once Deployment
 
3 App Compat Win7
3 App Compat Win73 App Compat Win7
3 App Compat Win7
 
MMT 1
MMT 1MMT 1
MMT 1
 
Bfc Presentation
Bfc PresentationBfc Presentation
Bfc Presentation
 
MMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_FinalMMS2011_BC34_Plas_Final
MMS2011_BC34_Plas_Final
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Update to IBM Connections 5 CR1 step by-step guide
Update to IBM Connections 5 CR1 step by-step guideUpdate to IBM Connections 5 CR1 step by-step guide
Update to IBM Connections 5 CR1 step by-step guide
 
Web application development process
Web application development processWeb application development process
Web application development process
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptx
 
Microsoft 70-416 it certifications
Microsoft  70-416  it certificationsMicrosoft  70-416  it certifications
Microsoft 70-416 it certifications
 
Deploying An Optimized Desktop - XP to 7 With P2V
Deploying An Optimized Desktop - XP to 7 With P2VDeploying An Optimized Desktop - XP to 7 With P2V
Deploying An Optimized Desktop - XP to 7 With P2V
 
Best free tools for w d a
Best free tools for w d aBest free tools for w d a
Best free tools for w d a
 

More from Peter Gfader

Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Peter Gfader
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019Peter Gfader
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)Peter Gfader
 
How to make more impact as an engineer
How to make more impact as an engineerHow to make more impact as an engineer
How to make more impact as an engineerPeter Gfader
 
13 explosive things you should try as an agilist
13 explosive things you should try as an agilist13 explosive things you should try as an agilist
13 explosive things you should try as an agilistPeter Gfader
 
You cant be agile if your code sucks
You cant be agile if your code sucksYou cant be agile if your code sucks
You cant be agile if your code sucksPeter Gfader
 
Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Peter Gfader
 
Innovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous DeliveryInnovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous DeliveryPeter Gfader
 
Qcon london2012 recap
Qcon london2012 recapQcon london2012 recap
Qcon london2012 recapPeter Gfader
 
Continuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployPeter Gfader
 
Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Peter Gfader
 
Clean Code Development
Clean Code DevelopmentClean Code Development
Clean Code DevelopmentPeter Gfader
 
Data Mining with SQL Server 2008
Data Mining with SQL Server 2008Data Mining with SQL Server 2008
Data Mining with SQL Server 2008Peter Gfader
 
SSAS - Other Cube Browsers
SSAS - Other Cube BrowsersSSAS - Other Cube Browsers
SSAS - Other Cube BrowsersPeter Gfader
 
Reports with SQL Server Reporting Services
Reports with SQL Server Reporting ServicesReports with SQL Server Reporting Services
Reports with SQL Server Reporting ServicesPeter Gfader
 
OLAP – Creating Cubes with SQL Server Analysis Services
OLAP – Creating Cubes with SQL Server Analysis ServicesOLAP – Creating Cubes with SQL Server Analysis Services
OLAP – Creating Cubes with SQL Server Analysis ServicesPeter Gfader
 
Business Intelligence with SQL Server
Business Intelligence with SQL ServerBusiness Intelligence with SQL Server
Business Intelligence with SQL ServerPeter Gfader
 
SQL Server - Full text search
SQL Server - Full text searchSQL Server - Full text search
SQL Server - Full text searchPeter Gfader
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesPeter Gfader
 

More from Peter Gfader (20)

Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
 
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
You Can't Be Agile If Your Testing Practices Suck - Vilnius October 2019
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
 
How to make more impact as an engineer
How to make more impact as an engineerHow to make more impact as an engineer
How to make more impact as an engineer
 
13 explosive things you should try as an agilist
13 explosive things you should try as an agilist13 explosive things you should try as an agilist
13 explosive things you should try as an agilist
 
You cant be agile if your code sucks
You cant be agile if your code sucksYou cant be agile if your code sucks
You cant be agile if your code sucks
 
Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!Use Scrum and Continuous Delivery to innovate like crazy!
Use Scrum and Continuous Delivery to innovate like crazy!
 
Innovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous DeliveryInnovation durch Scrum und Continuous Delivery
Innovation durch Scrum und Continuous Delivery
 
Speed = $$$
Speed = $$$Speed = $$$
Speed = $$$
 
Qcon london2012 recap
Qcon london2012 recapQcon london2012 recap
Qcon london2012 recap
 
Continuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeployContinuous Delivery with TFS msbuild msdeploy
Continuous Delivery with TFS msbuild msdeploy
 
Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...Silverlight vs HTML5 - Lessons learned from the real world...
Silverlight vs HTML5 - Lessons learned from the real world...
 
Clean Code Development
Clean Code DevelopmentClean Code Development
Clean Code Development
 
Data Mining with SQL Server 2008
Data Mining with SQL Server 2008Data Mining with SQL Server 2008
Data Mining with SQL Server 2008
 
SSAS - Other Cube Browsers
SSAS - Other Cube BrowsersSSAS - Other Cube Browsers
SSAS - Other Cube Browsers
 
Reports with SQL Server Reporting Services
Reports with SQL Server Reporting ServicesReports with SQL Server Reporting Services
Reports with SQL Server Reporting Services
 
OLAP – Creating Cubes with SQL Server Analysis Services
OLAP – Creating Cubes with SQL Server Analysis ServicesOLAP – Creating Cubes with SQL Server Analysis Services
OLAP – Creating Cubes with SQL Server Analysis Services
 
Business Intelligence with SQL Server
Business Intelligence with SQL ServerBusiness Intelligence with SQL Server
Business Intelligence with SQL Server
 
SQL Server - Full text search
SQL Server - Full text searchSQL Server - Full text search
SQL Server - Full text search
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
 

Recently uploaded

Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 

Recently uploaded (20)

INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 

N-Tier Application with Windows Forms - Deployment and Security

  • 1. Developing Windows and Web Applications using Visual Studio.NET Deployment and Security Peter Gfader Senior Software Architect
  • 2.
  • 4.
  • 6. Northwind DAL LINQ to SQL DBML BL WebUI WinUI
  • 7.
  • 8.
  • 9.
  • 13. Northwind Northwind.Common.Objects DataContext Entities WebUI WinUI Services
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Part 1 - ClickOnce
  • 19.
  • 20. ClickOnce - The Best of both Worlds z Web Forms Network Dependency Limited User Experience Complex To Develop Windows Forms Fragile “ DLL Hell” Tough To Update Tough To Deploy Easy To Update Easy To Deploy Easy To Manage Rich User Experience Offline Capable Responsive & Flexible High User Productivity Click Once
  • 21.
  • 22.
  • 23. History: Feel the pain… Windows Installer vs ClickOnce z Features Windows Installer ClickOnce Click a link Post-installation rollback Does not affect shared components Security permissions required Administrator Internet/Intranet Zone Installation-time user interface Multipart Wizard Single prompt Automatic Updates Application and deployment manifest signing Security permissions granted Full Trust by default only permissions necessary Installation of assemblies on demand Add application to Start menu Application installation location Program Files folder ClickOnce app cache Install time Registry access (so move to app) Limited Installation of Drivers Installation to Global Assembly Cache Installation for multiple users Installation of shared files Add application to Startup group Add application to Favorites menu Register File types Binary File patching
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30. ClickOnce Deployment - Deployment Manifests z 1.0  1.1 Application Manifest Web Page Link to Manifest Deployment Manifest 1.0 Application Manifest 1.1
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37. ClickOnce Deployment Strategies Compared Web Install CD Install Web Run Adds Shortcuts Adds Add/Remove Requires Updates Allow Passing of Query Parameters Doesn’t require internet
  • 38. ClickOnce Deployment Setup Interface
  • 39. ClickOnce Deployment Setup Options Interface
  • 40.
  • 41. ClickOnce Update - How it works?  z Yes No Application Store Installed Startup SHIM My Application Deployment Framework Service What is a SHIM? It’s a small piece of software that is added to an existing system program or protocol in order to provide some enhancement. Update Check?
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47. What if you release a bad version?
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65. Part 2 - Security
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72. Demo
  • 73.
  • 74. Authentication & Authorisation IIdentity (Authentication) IPrincipal (Authorisation) Active Directory (Windows Security) Generic (Text-based) Read from Database (Custom) … …
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 94.
  • 95.