SlideShare a Scribd company logo
1 of 12
SynapseIndia DOTNET
Development Platform Overview
Outline
• What is .NET? - Microsoft’s Strategy
• Under the Hood
• Security & Managed Code
• ASP.NET
• Cross-Language Debugging
• Zero-Footprint Desktop Deployment
VisualStudioVisualStudio
Windows Server, Enterprise ServersWindows Server, Enterprise Servers
Passport, Alerts, .NET My ServicesPassport, Alerts, .NET My Services
Windows XP, Windows CE, Pocket PC, OfficeWindows XP, Windows CE, Pocket PC, Office
What is .NET?
A comprehensive XML Web Services platform
Under the Hood
Common Language RuntimeCommon Language Runtime (CLR)(CLR)
The execution environment for IL. Provides security, garbageThe execution environment for IL. Provides security, garbage
collection, exception handling, inheritance and support forcollection, exception handling, inheritance and support for
Base Class Libraries. Comparable to JVM.Base Class Libraries. Comparable to JVM.
Common Language SpecificationCommon Language Specification (CLS)(CLS)
A subset of the Common Type Specification which all languageA subset of the Common Type Specification which all language
compilers targeting CLR must adhere to.compilers targeting CLR must adhere to.
Intermediate LanguageIntermediate Language (IL)(IL)
Compilers generate “platform” independent IL which the JITCompilers generate “platform” independent IL which the JIT
will compile for execution by the CLR. For equivalentwill compile for execution by the CLR. For equivalent
functionality, the IL should be exactly the same for differentfunctionality, the IL should be exactly the same for different
languages! Performance is same.languages! Performance is same.
Language Neutrality
CLR doesn’t know what language it is running. There
are more than 25 languages for .NET, including
COBOL, PERL, Eiffel and Java!
CLS objects are cross-language. A VB.NET class can be
created as an object in PERL and then passed to a
COBOL method!
Java is language specific and platform neutral. .NET is
language neutral, but platform specific.
.NET Base Classes
Object Oriented
Over 4,500 classes provide most of the features that
most applications ever need.
Much of the implementation of data is XML inside
(ADO.NET)
.NET support for Web Services leads industry.
.NET Assembly - The New .DLL
Combines MSIL with metadata for code management.
Strong Typing allows side-by-side, concurrent execution of
different versions of the same assembly! Determination of
which version to run can be made through application
settings or by administrators of the machine.
Global Assembly Cache (GAC) allows commonly shared
assemblies to be pre-compiled and stored in one place.
No Registry Required! “DLL Hell” is gone.
Security & Managed Code
Managed Code is type-safe and has execution
boundaries, called Domains.
Application Domains can execute in the same process.
Unmanaged code in an Assembly is identified by
metadata, letting the CLR treat it differently.
Policies at the Enterprise, Machine, User and Application
levels define permissible actions for execution, and
configuration settings.
Role-Based Security
Programmers can use role-based security to control access to
methods or properties at run-time.
Isolate security from code logic by applying attributes defined
in System.Security or EnterpriseServices
System.Security is feature-rich, but is limited to Windows user
groups.
EnterpriseServices uses COM+ roles for more flexibility but
classes must inherit from EnterpriseServices
You can implement your own security provider for databases,
LDAP, …
Example: Security Using Attributes
using System.Security.Permissions;
public class Car
{
[PrincipalPermission(SecurityAction.Demand,Role=“Parent")]
public long StartEngine()
{...}
[PrincipalPermission(SecurityAction.Demand,Role=“Parent")]
[PrincipalPermission(SecurityAction.Demand,Role=“Child")]
public long OpenDoor()
{...}
}
Evidence-Based Security
Evidence is the characteristics of the code such as its
directory or digital signature.
Code Groups are logical groupings of code with evidence
that satisfies certain conditions like
<Directory=“c:winnt”> or <URL=“UseDotNet.com”>.
Named Permission Sets define the permissions applied to
Code Groups.
Application Domain Hosts such as browsers or the shell can
enforce more restrictive permissions and, if trusted, provide
evidence about the hosted assembly to the CLR.
Evidence-Based Security
Effective PermissionsEffective Permissions are determined by calculating theare determined by calculating the intersectionintersection
of Named Permissions granted at each Policy Level.of Named Permissions granted at each Policy Level.
Each Policy Level grants permissions based on theEach Policy Level grants permissions based on the unionunion of Namedof Named
Permissions for all matching Code Groups defined at that level.Permissions for all matching Code Groups defined at that level.
AttributesAttributes can be applied to Code Groups in each policy level tocan be applied to Code Groups in each policy level to
modify the default determination.modify the default determination.
The effect is for least restrictive permissions within a Policy LevelThe effect is for least restrictive permissions within a Policy Level
(unless “nothing” is specified) but most restrictive permissions(unless “nothing” is specified) but most restrictive permissions
when Policy Levels are combined.when Policy Levels are combined.
Enterprise, Machine, User and Application policies are adhered toEnterprise, Machine, User and Application policies are adhered to
but defined independently.but defined independently.

More Related Content

What's hot

Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net frameworkLalit Kale
 
NoSQL Exploitation Framework
NoSQL Exploitation FrameworkNoSQL Exploitation Framework
NoSQL Exploitation FrameworkFrancis Alexander
 
Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...
Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...
Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...mfrancis
 
DockerCon 2016 Recap
DockerCon 2016 RecapDockerCon 2016 Recap
DockerCon 2016 Recapehazlett
 
An In-depth look at application containers
An In-depth look at application containersAn In-depth look at application containers
An In-depth look at application containersJohn Kinsella
 
A (fun!) Comparison of Docker Vulnerability Scanners
A (fun!) Comparison of Docker Vulnerability ScannersA (fun!) Comparison of Docker Vulnerability Scanners
A (fun!) Comparison of Docker Vulnerability ScannersJohn Kinsella
 
Oracle Database 12c Attack Vectors
Oracle Database 12c Attack VectorsOracle Database 12c Attack Vectors
Oracle Database 12c Attack VectorsMartin Toshev
 
Racf psw enhancement
Racf psw enhancementRacf psw enhancement
Racf psw enhancementLuigi Perrone
 
Secure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous DeliverySecure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous DeliveryBlack Duck by Synopsys
 
Intro to the sel4 Microkernel
Intro to the sel4 MicrokernelIntro to the sel4 Microkernel
Intro to the sel4 MicrokernelMatthew Russell
 
Container Security Vulnerability Scanning with Trivy
Container Security Vulnerability Scanning with TrivyContainer Security Vulnerability Scanning with Trivy
Container Security Vulnerability Scanning with TrivyFaheem Memon
 
Container security Familiar problems in new technology
Container security Familiar problems in new technologyContainer security Familiar problems in new technology
Container security Familiar problems in new technologyFrank Victory
 

What's hot (20)

Securing the Cloud
Securing the CloudSecuring the Cloud
Securing the Cloud
 
Implementing application security using the .net framework
Implementing application security using the .net frameworkImplementing application security using the .net framework
Implementing application security using the .net framework
 
Securing Docker Containers
Securing Docker ContainersSecuring Docker Containers
Securing Docker Containers
 
Anatomy of a Cloud Hack
Anatomy of a Cloud HackAnatomy of a Cloud Hack
Anatomy of a Cloud Hack
 
NoSQL Exploitation Framework
NoSQL Exploitation FrameworkNoSQL Exploitation Framework
NoSQL Exploitation Framework
 
Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...
Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...
Do not disturb my circles! Secure Application Isolation with OSGi - Mirko Jah...
 
SqlSa94
SqlSa94SqlSa94
SqlSa94
 
Injection flaw teaser
Injection flaw teaserInjection flaw teaser
Injection flaw teaser
 
DockerCon 2016 Recap
DockerCon 2016 RecapDockerCon 2016 Recap
DockerCon 2016 Recap
 
An In-depth look at application containers
An In-depth look at application containersAn In-depth look at application containers
An In-depth look at application containers
 
A (fun!) Comparison of Docker Vulnerability Scanners
A (fun!) Comparison of Docker Vulnerability ScannersA (fun!) Comparison of Docker Vulnerability Scanners
A (fun!) Comparison of Docker Vulnerability Scanners
 
Oracle Database 12c Attack Vectors
Oracle Database 12c Attack VectorsOracle Database 12c Attack Vectors
Oracle Database 12c Attack Vectors
 
Html5 hacking
Html5 hackingHtml5 hacking
Html5 hacking
 
Practice of AppSec .NET
Practice of AppSec .NETPractice of AppSec .NET
Practice of AppSec .NET
 
Racf psw enhancement
Racf psw enhancementRacf psw enhancement
Racf psw enhancement
 
Secure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous DeliverySecure Application Development in the Age of Continuous Delivery
Secure Application Development in the Age of Continuous Delivery
 
SQL Server 2017 CLR
SQL Server 2017 CLRSQL Server 2017 CLR
SQL Server 2017 CLR
 
Intro to the sel4 Microkernel
Intro to the sel4 MicrokernelIntro to the sel4 Microkernel
Intro to the sel4 Microkernel
 
Container Security Vulnerability Scanning with Trivy
Container Security Vulnerability Scanning with TrivyContainer Security Vulnerability Scanning with Trivy
Container Security Vulnerability Scanning with Trivy
 
Container security Familiar problems in new technology
Container security Familiar problems in new technologyContainer security Familiar problems in new technology
Container security Familiar problems in new technology
 

Viewers also liked

SynapseIndia dotnet development methodologies iterative
SynapseIndia dotnet development methodologies   iterativeSynapseIndia dotnet development methodologies   iterative
SynapseIndia dotnet development methodologies iterativeSynapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architectureSynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architectureSynapseindiappsdevelopment
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindiappsdevelopment
 
Synapse india dotnet framework development or c
Synapse india dotnet framework development or cSynapse india dotnet framework development or c
Synapse india dotnet framework development or cSynapseindiappsdevelopment
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practicesSynapseindiappsdevelopment
 
Synapse india reviews sharing chapter 23 – asp.net
Synapse india reviews sharing  chapter 23 – asp.netSynapse india reviews sharing  chapter 23 – asp.net
Synapse india reviews sharing chapter 23 – asp.netSynapseindiappsdevelopment
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseindiappsdevelopment
 
Synapse india dotnet development overloading operater part 3
Synapse india dotnet development overloading operater part 3Synapse india dotnet development overloading operater part 3
Synapse india dotnet development overloading operater part 3Synapseindiappsdevelopment
 
Synapseindia dot net development computer programming
Synapseindia dot net development  computer programmingSynapseindia dot net development  computer programming
Synapseindia dot net development computer programmingSynapseindiappsdevelopment
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application developmentSynapseindiappsdevelopment
 

Viewers also liked (17)

Synapseindia android apps application
Synapseindia android apps applicationSynapseindia android apps application
Synapseindia android apps application
 
SynapseIndia dotnet development methodologies iterative
SynapseIndia dotnet development methodologies   iterativeSynapseIndia dotnet development methodologies   iterative
SynapseIndia dotnet development methodologies iterative
 
SynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architectureSynapseIndia mobile apps deployment framework architecture
SynapseIndia mobile apps deployment framework architecture
 
SynapseIndia java and .net development
SynapseIndia java and .net developmentSynapseIndia java and .net development
SynapseIndia java and .net development
 
Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1Synapseindia strcture of dotnet development part 1
Synapseindia strcture of dotnet development part 1
 
SynapseIndia dotnet module development part 1
SynapseIndia  dotnet module development part 1SynapseIndia  dotnet module development part 1
SynapseIndia dotnet module development part 1
 
Chapter 6 arrays part-1
Chapter 6   arrays part-1Chapter 6   arrays part-1
Chapter 6 arrays part-1
 
Synapse india dotnet framework development or c
Synapse india dotnet framework development or cSynapse india dotnet framework development or c
Synapse india dotnet framework development or c
 
Synapseindia android apps overview
Synapseindia android apps overviewSynapseindia android apps overview
Synapseindia android apps overview
 
SynapseIndia dotnet development framework
SynapseIndia  dotnet development frameworkSynapseIndia  dotnet development framework
SynapseIndia dotnet development framework
 
SynapseIndia drupal presentation on drupal best practices
SynapseIndia drupal  presentation on drupal best practicesSynapseIndia drupal  presentation on drupal best practices
SynapseIndia drupal presentation on drupal best practices
 
SynapseIndia mobile apps trends, 2013
SynapseIndia mobile apps  trends, 2013SynapseIndia mobile apps  trends, 2013
SynapseIndia mobile apps trends, 2013
 
Synapse india reviews sharing chapter 23 – asp.net
Synapse india reviews sharing  chapter 23 – asp.netSynapse india reviews sharing  chapter 23 – asp.net
Synapse india reviews sharing chapter 23 – asp.net
 
SynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client librarySynapseIndia dotnet development ajax client library
SynapseIndia dotnet development ajax client library
 
Synapse india dotnet development overloading operater part 3
Synapse india dotnet development overloading operater part 3Synapse india dotnet development overloading operater part 3
Synapse india dotnet development overloading operater part 3
 
Synapseindia dot net development computer programming
Synapseindia dot net development  computer programmingSynapseindia dot net development  computer programming
Synapseindia dot net development computer programming
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application development
 

Similar to SynapseIndia dotnet development platform overview

.Net framework interview questions
.Net framework interview questions.Net framework interview questions
.Net framework interview questionsMir Majid
 
.Net platform an understanding
.Net platform an understanding.Net platform an understanding
.Net platform an understandingBinu Bhasuran
 
Inside .net framework
Inside .net frameworkInside .net framework
Inside .net frameworkFaisal Aziz
 
.NET TECHNOLOGIES
.NET TECHNOLOGIES.NET TECHNOLOGIES
.NET TECHNOLOGIESProf Ansari
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarPriyankaPinglikar
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseindiappsdevelopment
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishSvetlin Nakov
 
.Net framework
.Net framework.Net framework
.Net frameworkViv EK
 
Chapter 1 introduction to .net
Chapter 1 introduction to .netChapter 1 introduction to .net
Chapter 1 introduction to .netRahul Bhoge
 
Nakov dot net-framework-overview-english
Nakov dot net-framework-overview-englishNakov dot net-framework-overview-english
Nakov dot net-framework-overview-englishsrivathsan.10
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)DrUjwala1
 
.Net Framework
.Net Framework.Net Framework
.Net FrameworkMohamadKrm
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net FundamentalsAli Taki
 

Similar to SynapseIndia dotnet development platform overview (20)

.Net framework interview questions
.Net framework interview questions.Net framework interview questions
.Net framework interview questions
 
.Net platform an understanding
.Net platform an understanding.Net platform an understanding
.Net platform an understanding
 
.Net slid
.Net slid.Net slid
.Net slid
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 
.Net Session Overview
.Net Session Overview.Net Session Overview
.Net Session Overview
 
Inside .net framework
Inside .net frameworkInside .net framework
Inside .net framework
 
.NET TECHNOLOGIES
.NET TECHNOLOGIES.NET TECHNOLOGIES
.NET TECHNOLOGIES
 
Introductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka PinglikarIntroductionto .netframework by Priyanka Pinglikar
Introductionto .netframework by Priyanka Pinglikar
 
SynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture moduleSynapseIndia dotnet web development architecture module
SynapseIndia dotnet web development architecture module
 
Nakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - EnglishNakov - .NET Framework Overview - English
Nakov - .NET Framework Overview - English
 
Net framework
Net frameworkNet framework
Net framework
 
.Net framework
.Net framework.Net framework
.Net framework
 
Chapter 1 introduction to .net
Chapter 1 introduction to .netChapter 1 introduction to .net
Chapter 1 introduction to .net
 
Nakov dot net-framework-overview-english
Nakov dot net-framework-overview-englishNakov dot net-framework-overview-english
Nakov dot net-framework-overview-english
 
1.0
1.01.0
1.0
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)
 
dot NET Framework
dot NET Frameworkdot NET Framework
dot NET Framework
 
.Net Framework
.Net Framework.Net Framework
.Net Framework
 
Net Fundamentals
Net FundamentalsNet Fundamentals
Net Fundamentals
 

More from Synapseindiappsdevelopment

Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapseindiappsdevelopment
 
SynapseIndia dotnet web applications development
SynapseIndia  dotnet web applications developmentSynapseIndia  dotnet web applications development
SynapseIndia dotnet web applications developmentSynapseindiappsdevelopment
 
SynapseIndia dotnet website security development
SynapseIndia  dotnet website security developmentSynapseIndia  dotnet website security development
SynapseIndia dotnet website security developmentSynapseindiappsdevelopment
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseindiappsdevelopment
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseindiappsdevelopment
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseindiappsdevelopment
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
SynapseIndia dotnet debugging development process
SynapseIndia dotnet debugging development processSynapseIndia dotnet debugging development process
SynapseIndia dotnet debugging development processSynapseindiappsdevelopment
 
Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1Synapseindiappsdevelopment
 
Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2Synapseindiappsdevelopment
 
Synapse india dotnet development overloading operater part 4
Synapse india dotnet development overloading operater part 4Synapse india dotnet development overloading operater part 4
Synapse india dotnet development overloading operater part 4Synapseindiappsdevelopment
 

More from Synapseindiappsdevelopment (20)

Synapse india elance top in demand in it skills
Synapse india elance top in demand in it skillsSynapse india elance top in demand in it skills
Synapse india elance top in demand in it skills
 
SynapseIndia dotnet framework library
SynapseIndia  dotnet framework librarySynapseIndia  dotnet framework library
SynapseIndia dotnet framework library
 
SynapseIndia dotnet web applications development
SynapseIndia  dotnet web applications developmentSynapseIndia  dotnet web applications development
SynapseIndia dotnet web applications development
 
SynapseIndia dotnet website security development
SynapseIndia  dotnet website security developmentSynapseIndia  dotnet website security development
SynapseIndia dotnet website security development
 
SynapseIndia mobile build apps management
SynapseIndia mobile build apps managementSynapseIndia mobile build apps management
SynapseIndia mobile build apps management
 
SynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architectureSynapseIndia mobile apps deployment framework internal architecture
SynapseIndia mobile apps deployment framework internal architecture
 
SynapseIndia dotnet development panel control
SynapseIndia dotnet development panel controlSynapseIndia dotnet development panel control
SynapseIndia dotnet development panel control
 
SynapseIndia php web development
SynapseIndia php web developmentSynapseIndia php web development
SynapseIndia php web development
 
SynapseIndia mobile apps architecture
SynapseIndia mobile apps architectureSynapseIndia mobile apps architecture
SynapseIndia mobile apps architecture
 
SynapseIndia mobile apps
SynapseIndia mobile appsSynapseIndia mobile apps
SynapseIndia mobile apps
 
SynapseIndia dotnet development
SynapseIndia dotnet developmentSynapseIndia dotnet development
SynapseIndia dotnet development
 
SynapseIndia dotnet client library Development
SynapseIndia dotnet client library DevelopmentSynapseIndia dotnet client library Development
SynapseIndia dotnet client library Development
 
SynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically developmentSynapseIndia creating asp controls programatically development
SynapseIndia creating asp controls programatically development
 
SynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax DevelopmentSynapseIndia asp.net2.0 ajax Development
SynapseIndia asp.net2.0 ajax Development
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
SynapseIndia drupal presentation on drupal
SynapseIndia drupal  presentation on drupalSynapseIndia drupal  presentation on drupal
SynapseIndia drupal presentation on drupal
 
SynapseIndia dotnet debugging development process
SynapseIndia dotnet debugging development processSynapseIndia dotnet debugging development process
SynapseIndia dotnet debugging development process
 
Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1Synapse india sharing info on dotnet framework part1
Synapse india sharing info on dotnet framework part1
 
Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2Synapse india sharing info on dotnet framework part2
Synapse india sharing info on dotnet framework part2
 
Synapse india dotnet development overloading operater part 4
Synapse india dotnet development overloading operater part 4Synapse india dotnet development overloading operater part 4
Synapse india dotnet development overloading operater part 4
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

SynapseIndia dotnet development platform overview

  • 2. Outline • What is .NET? - Microsoft’s Strategy • Under the Hood • Security & Managed Code • ASP.NET • Cross-Language Debugging • Zero-Footprint Desktop Deployment
  • 3. VisualStudioVisualStudio Windows Server, Enterprise ServersWindows Server, Enterprise Servers Passport, Alerts, .NET My ServicesPassport, Alerts, .NET My Services Windows XP, Windows CE, Pocket PC, OfficeWindows XP, Windows CE, Pocket PC, Office What is .NET? A comprehensive XML Web Services platform
  • 4. Under the Hood Common Language RuntimeCommon Language Runtime (CLR)(CLR) The execution environment for IL. Provides security, garbageThe execution environment for IL. Provides security, garbage collection, exception handling, inheritance and support forcollection, exception handling, inheritance and support for Base Class Libraries. Comparable to JVM.Base Class Libraries. Comparable to JVM. Common Language SpecificationCommon Language Specification (CLS)(CLS) A subset of the Common Type Specification which all languageA subset of the Common Type Specification which all language compilers targeting CLR must adhere to.compilers targeting CLR must adhere to. Intermediate LanguageIntermediate Language (IL)(IL) Compilers generate “platform” independent IL which the JITCompilers generate “platform” independent IL which the JIT will compile for execution by the CLR. For equivalentwill compile for execution by the CLR. For equivalent functionality, the IL should be exactly the same for differentfunctionality, the IL should be exactly the same for different languages! Performance is same.languages! Performance is same.
  • 5. Language Neutrality CLR doesn’t know what language it is running. There are more than 25 languages for .NET, including COBOL, PERL, Eiffel and Java! CLS objects are cross-language. A VB.NET class can be created as an object in PERL and then passed to a COBOL method! Java is language specific and platform neutral. .NET is language neutral, but platform specific.
  • 6. .NET Base Classes Object Oriented Over 4,500 classes provide most of the features that most applications ever need. Much of the implementation of data is XML inside (ADO.NET) .NET support for Web Services leads industry.
  • 7. .NET Assembly - The New .DLL Combines MSIL with metadata for code management. Strong Typing allows side-by-side, concurrent execution of different versions of the same assembly! Determination of which version to run can be made through application settings or by administrators of the machine. Global Assembly Cache (GAC) allows commonly shared assemblies to be pre-compiled and stored in one place. No Registry Required! “DLL Hell” is gone.
  • 8. Security & Managed Code Managed Code is type-safe and has execution boundaries, called Domains. Application Domains can execute in the same process. Unmanaged code in an Assembly is identified by metadata, letting the CLR treat it differently. Policies at the Enterprise, Machine, User and Application levels define permissible actions for execution, and configuration settings.
  • 9. Role-Based Security Programmers can use role-based security to control access to methods or properties at run-time. Isolate security from code logic by applying attributes defined in System.Security or EnterpriseServices System.Security is feature-rich, but is limited to Windows user groups. EnterpriseServices uses COM+ roles for more flexibility but classes must inherit from EnterpriseServices You can implement your own security provider for databases, LDAP, …
  • 10. Example: Security Using Attributes using System.Security.Permissions; public class Car { [PrincipalPermission(SecurityAction.Demand,Role=“Parent")] public long StartEngine() {...} [PrincipalPermission(SecurityAction.Demand,Role=“Parent")] [PrincipalPermission(SecurityAction.Demand,Role=“Child")] public long OpenDoor() {...} }
  • 11. Evidence-Based Security Evidence is the characteristics of the code such as its directory or digital signature. Code Groups are logical groupings of code with evidence that satisfies certain conditions like <Directory=“c:winnt”> or <URL=“UseDotNet.com”>. Named Permission Sets define the permissions applied to Code Groups. Application Domain Hosts such as browsers or the shell can enforce more restrictive permissions and, if trusted, provide evidence about the hosted assembly to the CLR.
  • 12. Evidence-Based Security Effective PermissionsEffective Permissions are determined by calculating theare determined by calculating the intersectionintersection of Named Permissions granted at each Policy Level.of Named Permissions granted at each Policy Level. Each Policy Level grants permissions based on theEach Policy Level grants permissions based on the unionunion of Namedof Named Permissions for all matching Code Groups defined at that level.Permissions for all matching Code Groups defined at that level. AttributesAttributes can be applied to Code Groups in each policy level tocan be applied to Code Groups in each policy level to modify the default determination.modify the default determination. The effect is for least restrictive permissions within a Policy LevelThe effect is for least restrictive permissions within a Policy Level (unless “nothing” is specified) but most restrictive permissions(unless “nothing” is specified) but most restrictive permissions when Policy Levels are combined.when Policy Levels are combined. Enterprise, Machine, User and Application policies are adhered toEnterprise, Machine, User and Application policies are adhered to but defined independently.but defined independently.

Editor's Notes

  1. Key Points: Microsoft enterprise platform offers the most complete platform for building connected solutions Connected solutions: Tools for quickly and easily building (VS.NET), component services for extending your solutions (Passport, Alerts, .NET My Services), most robust server line for developing/deploying/managing (Windows Server, .NET Enterprise servers), and next generation smart clients for using (Windows XP, Windows CE, Pocket PC, Office, Tablet). Only platform that embraces and enables next generation of solutions that drive business value at every level: client, server, services, tools Detail: When you unlock data and have the ability to tailor access and usability to any business need or group, the path to the right solution will vary. Instead of building server-only applications, or client-only solutions, the new model will draw from the best combination of clients, servers and new data services. We have designed and built the Microsoft platform to fully embrace this new model. With VS.NET we introduce the first and most robust tool to easily, quickly develop applications and solution designed for connecting. We provide a library of “plug and play” services that can be added to your solution just as quickly and easily – freeing you up from having to build these yourself – services like authentication (Passport) and notifications (Alerts) – and we have announced a family of common services (My Services) that will add great value but are likely not the place where you want your precious developer time spent (functions like calendar, inbox, etc). Our server line-up is optimized for securely and reliably deploying, managing, and operating both traditional applications and the next generation of connected solutions. And our entire client platform (Windows XP, CE, Office, Tablet, Pocket PC) has been moved into the XML world to provide smart clients to get the best of connected computing value – smart about the user, smart about the network, smart about the data. Transition: Not only does this infusion of .NET enable incredible interoperability between Microsoft technologies, it also provides the comprehensive means for interoperating and driving new value from all of your –and your partners and customers – existing systems…regardless of platform they run on or what programming language they were created in…
  2. Although .NET classes are object oriented, the CLS does not preclude structural programming. In fact, most VB programmers are using a mix of both as they transition. Looking at Gartner’s Magic Quadrant comparing vision and implementation, Microsoft is the furthest to the top right, and even top competitors like IBM and BEA are just getting close. Sun and Oracle are still trying to figure out why anyone wants to use Web Services.