The .NET Framework Technology The .NET Framework Technology
Why .NET?Why .NET?
–Interoperability between languages and
execution environments
–Uniformity in schema or formats for Data
Exchange using XML, XSL
–Extend or use existing code that is valid
–Programming complexity of environment is
reduced
The .NET Framework is…The .NET Framework is…
•A COMPONENT MODEL FOR THE INTERNET
–The new approach to building large scale
distributed systems for the Internet
–Provides the capability to integrate multiple
devices
–Built around the tools and protocols (XML,
WSDL, SOAP, HTTP) that are becoming
standard on the Internet
The .NET Framework Design GoalsThe .NET Framework Design Goals
–Component Development for the Internet
–"Cross-Language Development”
•Inheritance, Debugging, Exception handling
–Reliability and Security
–Simple Development and Deployment
–Device-agnostic
Wednesday, September 07, 2005 http://groups.yahoo.com/group/dotnetchaps
.NET Evolution.NET Evolution
Before COM, applications were Before COM, applications were
completely separate entities completely separate entities
with little or no integrationwith little or no integration
ApplicationApplication
Code and Code and
data structuresdata structures
Wednesday, September 07, 2005 http://groups.yahoo.com/group/dotnetchaps
.NET Evolution.NET Evolution
COM provides a way for COM provides a way for
components to integrate. components to integrate.
However, each However, each
component must provide component must provide
the “plumbing” and the “plumbing” and
objects cannot directly objects cannot directly
interact.interact.
Wednesday, September 07, 2005 http://groups.yahoo.com/group/dotnetchaps
.NET Evolution.NET Evolution
With the .NET Framework With the .NET Framework
common language runtime, common language runtime,
components are built on a components are built on a
common substrate. No common substrate. No
“plumbing” is needed and “plumbing” is needed and
objects can directly interactobjects can directly interact
Understanding the .NET FrameworkUnderstanding the .NET Framework
•.NET Framework Architecture
•.NET Web Services
•Key Benefits
.NET Framework Architecture.NET Framework Architecture
V
i
s
u
a
l
S
t
u
d
i
o
.
N
E
T
Operating System
Common Language Runtime
Base Class Library
ADO .NET and XML
ASP .NET Windows Forms
Common Language Specification
C# VB C++Scheme …
Base Framework
Data Connectivity
XML Services User Interfaces
Wednesday, September 07, 2005 http://groups.yahoo.com/group/dotnetchaps
Operating SystemOperating System
Common Language Runtime (CLR)
Inside the .NET FrameworkInside the .NET Framework
Base Framework
Data and XML
Web Services User Interface
VBC++C#
ASP.NET
J#Python …
Secure, integrated class
libraries
•Unifies programming models
across languages
•Enables cross-language
integration
•Factored for extensibility
•Designed for tools
Common Language
Runtime
Executes code, maintains
security, handles component
“plumbing” and dependencies
ASP.NET
High-productivity environment for
building and running Web
services
Common Language RuntimeCommon Language Runtime
•Common Type System
•Metadata
•Execution Engine
Common Language RuntimeCommon Language Runtime
Class Loader
MSIL to Native
Compilers (JIT)
Code
Manager
Garbage
Collector (GC)
Security Engine Debug Engine
Type Checker Exception Manager
Thread Support COM Marshaler
Base Class Library Support
Intermediate Language (IL)Intermediate Language (IL)
VBVB VCVC ......ScriptScript
ILIL
NativeNative
CodeCode
““Econo-JITEcono-JIT
CompilerCompiler
Standard JITStandard JIT
CompilerCompiler
NativeNative
CodeCode
Install timeInstall time
Code GenCode Gen
Common Language RuntimeCommon Language Runtime
Assembly Assembly
Language Language
of CLRof CLR
Code is Code is
never never
interpretedinterpreted
Wednesday, September 07, 2005 http://groups.yahoo.com/group/dotnetchaps
Compilation and ExecutionCompilation and Execution
Source Source
CodeCode
CompilationCompilation
At installation or the At installation or the
first time each first time each
method is calledmethod is called
Language Language
CompilerCompiler
AssemblyAssembly
ExecutionExecution
JIT JIT
CompilerCompiler
NativeNative
CodeCode
Code (IL)Code (IL)
MetadataMetadata
.NET Classes.NET Classes
•Namespaces and Classes
–Hierarchical, unified, extensible class libraries
–Provide “system” and base functionality and services
–Everything is an object!
•Interfaces
–The .NET (Service) contracts
•Types
–Byte, Sbyte, Single, Double, String, Int16, Int32, Int64
etc.
–Common Type System - “Common Type Denominator”
Unified Programming ModelUnified Programming Model
OS API
.NET Framework
Consistent API availability regardless of
language and programming model
Web PagesClass Libraries
Windowing
(GUI)
RAD,
Composition,
Delegation
Subclassing, Power,
Expressiveness
Stateless,
Code embedded
in HTML pages
Languages Languages
•lcc
(MS Research Redmond)
•Mondrian (Utrecht)
•ML
(MS Research Cambridge)
•Mercury
(Melbourne U.)
•Oberon (Zurich University)
•Oz (Univ of Saarlandes)
•Perl
•Python
•Scheme (Northwestern U.)
•SmallTalk
Ada
APL
Basic (Visual Basic)
C#
C
C++
J#
COBOL
Component Pascal
(Queensland Univ of Tech)
ECMAScript (JScript)
Eiffel (Monash University)
Haskell
(Utrecht University)
Wednesday, September 07, 2005 http://groups.yahoo.com/group/dotnetchaps
The Framework
Microsoft
®
.NET Base Class
Libraries
File IO
Networking
Database Access
XML
Security
Cryptography
Threading
Enterprise Services
Graphics
COM Interoperability
Registry
Monitoring System Events
Windows
®
Management
Interface
Globalization
Configuration
Diagnostics
Reflection
Sample of what’s in the framework (Not Exhaustive)
Wednesday, September 07, 2005 http://groups.yahoo.com/group/dotnetchaps
The .NET Framework NamespacesThe .NET Framework Namespaces
System
System.Data System.Xml
System.Web
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security
Design
ADO
SQLTypes
SQL
XPath
XSLT
Runtime
InteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
Services
Description
Discovery
Protocols
UI
HtmlControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.WinForms
Design ComponentModel
Visual Studio .NETVisual Studio .NET
•Increased programming productivity
–Easier to write code: drag and drop Web App and Services
Development.
–Fully supports the .NET Framework
•Simplified development
–Multi-language support
–Improved debugging
–Unified IDE
•Powerful design tools
–Windows Forms, Web Forms
–XML and component designers
–Consistent set of tools across languages
Wednesday, September 07, 2005 http://groups.yahoo.com/group/dotnetchaps
.NET SDK Tools.NET SDK Tools
•Configuration and Deployment Tools
•Debugging Tools
•Security Tools
•General Tools
Wednesday, September 07, 2005 http://groups.yahoo.com/group/dotnetchaps
General ToolsGeneral Tools
•Common Language Runtime Minidump Tool
(Mscordmp.exe)
–mscordmp /pid [pid number] /out [output file]
•MSIL Assembler (Ilasm.exe)
•MSIL Disassembler (Ildasm.exe)
•Resource File Generator Tool (Resgen.exe)
•Windows Forms Class Viewer (Wincv.exe)
The .NETThe .NET CompactCompact FrameworkFramework
•Designed specifically for smart devices
•Lightweight architecture
•Compatible subset of desktop platform
•Visual Studio.NET used for app development
•Adaptable to different application needs
•Build Smart Device applications in Visual
Studio .NET
•Broad availability
–Across multiple CPUs
–Across Windows CE and third-party RTOSes
–Across a variety of physical form factors
.NET Services.NET Services
•What is a Web Service?
–Unit of application logic providing data and
services over the Web using standard protocols
–XML Web Services expose additional services
needed to build solutions
–ASP .NET in the .NET Platform
•Building Block Services
–Basic services used to build applications and Web
Service
–Examples: www.xmethods.com
–Access through any Website
XML Web Services FoundationXML Web Services Foundation
Simple, Open, Broad Industry SupportSimple, Open, Broad Industry Support
Ubiquitous Communications: Internet
Universal Data Format: XML
Service Interactions: SOAP
Publish, Find, Use Services: UDDI
How .NET Makes Web Services PossibleHow .NET Makes Web Services Possible
•.NET is built on Internet standard protocols
•Uses Framework classes, such as
–System.Web.Services
•Enables communication through open standards
–XML
•Service description expressed with WSDL
–SOAP
•Basic wire format
•Universal Description Discovery Integration (UDDI)
–HTTP
.NET Key Benefits.NET Key Benefits
•Ease of Use
–Object-oriented model
–Namespace and Framework structure
•Freedom to Choose
–The language that meets your needs
–The development tool that will make it easier to learn
programming
.NET Key Benefits.NET Key Benefits
•Stability
–Garbage collection
–Assemblies eliminates DLL compatibility issues
•Security
–Restricting or containing the illegal memory reference
–Comprehensive security model
General ResourcesGeneral Resources
•Visit the following sites for more information on product
capabilities
–www.gotdotnet.com
–www.asp.net
–www.csharptoday.com
–Faculty Online Community at www.msdnaa.com
–Student Online Community at www.gotdotnet.com/student
•Download the .NET Framework SDK from
msdn.microsoft.com
Recommended TextbooksRecommended Textbooks
•Courses focusing on Compilers:
–"Compiling for the .NET Common Language
Runtime" by John Gough
•Courses focusing on 'Introduction to
Programming':
–"C# and the .NET Platform” at
http://www.apress.com/catalog/book/1893115593
–"C# How to Program“ by Deitel and Deitel
(currently being used at Yale)
Microsoft Hands-On LabsMicrosoft Hands-On Labs
•Labs on
–Peer-to-Peer Computing with Terrarium
–http://www.gotdotnet.com/terrarium
Reach MeReach Me
DotNet User Group
-http://groups.yahoo.com/group/dotnetchaps
My Blog with DotNet Articles
-http://360.yahoo.com/ravikpatel
Email: [email protected]