SynapseIndia dotnet development platform overview
SynapseIndia Drupal development
SynapseIndia Ecommerce development
SynapseIndia Sharepoint development
SynapseIndia PHP development
SynapseIndia Dotnet development
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
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…
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.