Upload
garey-fisher
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
Overview of .NET FrameworkOverview of .NET Framework
Carlotta EatonCarlotta EatonAssociate Professor of ISTAssociate Professor of ISTNew River Community CollegeNew River Community CollegeDublin, VA Dublin, VA
Slides created by MicrosoftSlides created by MicrosoftModified by Carlotta EatonModified by Carlotta Eaton
22
Agenda Agenda
Development ChallengesDevelopment Challenges Implementation and BenefitsImplementation and Benefits Application TypesApplication Types .NET Language Support.NET Language Support Visual StudioVisual Studio®® .NET .NET
33
Development ChallengesDevelopment Challenges
Software IntegrationSoftware Integration Development and deployment complexityDevelopment and deployment complexity Multiple programming modelsMultiple programming models Underlying details not abstractedUnderlying details not abstracted Security not inherentSecurity not inherent
44
Implementation and BenefitsImplementation and Benefits.NET Framework and Tools.NET Framework and Tools
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# J#J# ……V
isua
l Stu
dio
.NE
TV
isua
l Stu
dio
.NE
T
55
Implementation and BenefitsImplementation and BenefitsCommon Language RuntimeCommon Language Runtime
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# J#J# ……V
isua
l Stu
dio
.NE
TV
isua
l Stu
dio
.NE
T
66
Implementation and BenefitsImplementation and Benefits.NET Evolution – Before COM.NET Evolution – Before COM
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
77
Implementation and BenefitsImplementation and Benefits.NET Evolution - Using COM.NET Evolution - Using COM
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.
88
Implementation and BenefitsImplementation and Benefits.NET Evolution - Using .NET Framework.NET Evolution - Using .NET Framework
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
99
Implementation and Benefits Implementation and Benefits 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
1010
Implementation and Benefits Implementation and Benefits Robust EnvironmentRobust Environment
Automatic lifetime managementAutomatic lifetime management All objects are garbage collectedAll objects are garbage collected Helps you avoid memory leaksHelps you avoid memory leaks
Exception handlingException handling Error handling 1Error handling 1stst class and mandatory class and mandatory
Type-safetyType-safety No buffer overruns, No unsafe casts, No buffer overruns, No unsafe casts,
Uninitialized variablesUninitialized variables Helps you avoid hacker attacksHelps you avoid hacker attacks
1111
Implementation and Benefits Implementation and Benefits Simplify DevelopmentSimplify Development
Common Type SystemCommon Type System Common instance and type definitionCommon instance and type definition
Enables clean OO programmingEnables clean OO programming Classes and InterfacesClasses and Interfaces Constructors, Properties, MethodsConstructors, Properties, Methods Cross-language inheritanceCross-language inheritance
Built-in interoperabilityBuilt-in interoperability With COMWith COM With native Win32With native Win32®® DLLs DLLs
1212
Implementation and Benefits Implementation and Benefits Simplify Deployment, ManagementSimplify Deployment, Management
Zero-impact installZero-impact install Applications, components shareable or privateApplications, components shareable or private
Side-by-side executionSide-by-side execution Multiple component versions can co-existMultiple component versions can co-exist Even in the same processEven in the same process .NET does not use Windows registry.NET does not use Windows registry
Assemblies Assemblies Contain dependency informationContain dependency information Avoid DLL ProblemsAvoid DLL Problems
1313
Implementation and BenefitsImplementation and Benefits.NET Framework Class Library.NET Framework Class Library
Operating SystemOperating System
Common Language RuntimeCommon Language Runtime
Base Class LibraryBase Class Library
ADO .NET and XMLADO .NET and XML
ASP .NETASP .NETWeb Forms Web ServicesWeb Forms Web Services
Mobile Internet ToolkitMobile Internet Toolkit
WindowsWindowsFormsForms
Common Language SpecificationCommon Language Specification
VBVB C++C++ C#C# J#J# ……V
isua
l Stu
dio
.NE
TV
isua
l Stu
dio
.NE
T
1414
Implementation and BenefitsImplementation and Benefits.NET Framework Class Library .NET Framework Class Library ( >6000 classes)( >6000 classes)
System System
System.DataSystem.Data System.XmlSystem.Xml
System.WebSystem.Web
GlobalizationGlobalization
DiagnosticsDiagnostics
ConfigurationConfiguration
CollectionsCollections
ResourcesResources
ReflectionReflection
NetNet
IOIO
ThreadingThreading
TextText
ServiceProcessServiceProcess
SecuritySecurity
CommonCommon
OleDbOleDb
SQLTypesSQLTypes
SqlClientSqlClient
XPathXPath
XSLTXSLT
RuntimeRuntimeInteropServicesInteropServices
RemotingRemoting
SerializationSerialization
SerializationSerialization
ConfigurationConfiguration SessionStateSessionState
CachingCaching SecuritySecurity
ServicesServicesDescriptionDescription
DiscoveryDiscovery
ProtocolsProtocols
UIUIHtmlControlsHtmlControls
WebControlsWebControls
System.DrawingSystem.Drawing
ImagingImaging
Drawing2DDrawing2D
TextText
PrintingPrinting
System.Windows.FormsSystem.Windows.Forms
DesignDesign ComponentModelComponentModel
1515
Implementation and BenefitsImplementation and BenefitsUnified Development ParadigmUnified Development Paradigm
Windows APIWindows API
.NET Framework.NET Framework
Consistent API availability regardless ofConsistent API availability regardless oflanguage and programming modellanguage and programming model
ASPASP
Stateless,Stateless,Code embeddedCode embeddedin HTML pagesin HTML pages
MFC/ATLMFC/ATL
Subclassing,Subclassing,Power,Power,
ExpressivenessExpressiveness
VB FormsVB Forms
RAD,RAD,Composition,Composition,
DelegationDelegation
1616
Implementation and BenefitsImplementation and BenefitsFactored and ExtensibleFactored and Extensible
Not a “black box”Not a “black box” .NET classes available through inheritance.NET classes available through inheritance
The sealing is much higherThe sealing is much higher
Plug-and-play components and subsystemsPlug-and-play components and subsystems
1717
Application TypesApplication TypesConsole ApplicationsConsole Applications
Build Command Line ExecutablesBuild Command Line Executables Use Any .NET LanguageUse Any .NET Language Batch ProcessingBatch Processing Unattended ExecutionUnattended Execution Very Light WeightVery Light Weight
Hello World ~ 5kHello World ~ 5k
1818
Application TypesApplication TypesWindows ServicesWindows Services
Build Services in any .NET LanguageBuild Services in any .NET Language Process InstallerProcess Installer
Writes registry entriesWrites registry entries IdentityIdentity
User NameUser Name PasswordPassword System AccountSystem Account
Start TypeStart Type ManualManual AutomaticAutomatic DisabledDisabled
1919
Application TypesApplication TypesWindows FormsWindows Forms
Desktop ApplicationsDesktop Applications Form BasedForm Based
Database Front-EndDatabase Front-End SDI/MDISDI/MDI Explorer Style ApplicationsExplorer Style Applications
DockingDocking SplittersSplitters
DeploymentDeployment XCopyXCopy No-Touch (even easier than XCopy!)No-Touch (even easier than XCopy!)
PrintingPrinting Page settingsPage settings Print PreviewPrint Preview
2020
Application TypesApplication TypesWeb FormsWeb Forms
Much Less CodingMuch Less Coding VB-Style Programming ModelVB-Style Programming Model Validator ControlsValidator Controls Rich ControlsRich Controls
DataGridDataGrid DataListDataList CalendarCalendar
Sessions Are Safe to Use!Sessions Are Safe to Use! Span servers in a web farmSpan servers in a web farm Don’t require cookiesDon’t require cookies
TracingTracing CachingCaching More Events in Global.asaxMore Events in Global.asax
Begin Request, End Request, Error, etc. Begin Request, End Request, Error, etc.
2121
Application TypesApplication TypesXML Web ServicesXML Web Services
Evolution of applications and Web sitesEvolution of applications and Web sites Secure interactions across trusted boundariesSecure interactions across trusted boundaries
New integration methodologyNew integration methodology Cross any operating system in any languageCross any operating system in any language
Programmable application components Programmable application components Accessible via standard Internet protocolsAccessible via standard Internet protocols HTTP, XML, SOAP, WSDL, UDDIHTTP, XML, SOAP, WSDL, UDDI
Framework-provided supportFramework-provided support Automatic generation of XML, SOAP, WSDL Automatic generation of XML, SOAP, WSDL
2222
Application Types Application Types Web ServicesWeb Services
DataData
SchemaSchema
ServicesServices
InvocationInvocation
FrameworkFramework
ObjectsObjects
ClassesClasses
MethodsMethods
CallsCalls
WebWeb
XMLXML
XSDXSD
WSDLWSDL
SOAPSOAP
ApplicationApplicationConceptsConcepts
The .NET Framework providesThe .NET Framework providesa bi-directional mappinga bi-directional mapping
2323
.NET Language Support .NET Language Support
Common Language Specification Common Language Specification First class support across the boardFirst class support across the board
Microsoft provided languagesMicrosoft provided languages Visual BasicVisual Basic®®, C#, C++, J#, JScript, C#, C++, J#, JScript®®
3rd-party provided languages3rd-party provided languages APL, Cobol, Component Pascal, Eiffel, Fortran, APL, Cobol, Component Pascal, Eiffel, Fortran,
Haskell, Mercury, Oberon, Oz, Perl, Python, RPG, Haskell, Mercury, Oberon, Oz, Perl, Python, RPG, Scheme, Smalltalk, Standard MLScheme, Smalltalk, Standard ML
2424
Visual Studio .NETVisual Studio .NETIntegrated Development EnvironmentIntegrated Development Environment
Simplifies mixed-language development Simplifies mixed-language development Single Solution Explorer, ToolboxSingle Solution Explorer, Toolbox IntelliSenseIntelliSense®® statement completion statement completion SquiggliesSquigglies
End-to-end debugging support across End-to-end debugging support across Languages Languages ProjectsProjects ProcessesProcesses MachinesMachines
2525
SummarySummary
Simplified development with unified Simplified development with unified programming modelsprogramming models
Simplified application deployment and Simplified application deployment and managementmanagement
Robust foundation with secure execution Robust foundation with secure execution environmentenvironment
Significant industry support for standards Significant industry support for standards and multiple languagesand multiple languages
2626
MSDN Subscriptions MSDN Subscriptions THE way to get Visual Studio .NETTHE way to get Visual Studio .NET
Visual Studio .NETVisual Studio .NET MSDN SubscriptionsMSDN Subscriptions
NE
WN
EW
ProfessionalProfessional Tools to build applications Tools to build applications
and XML Web services and XML Web services for Windows and the Webfor Windows and the Web
MSDN ProfessionalMSDN Professional$1199 new$1199 new
$899 renewal/upgrade$899 renewal/upgrade
MSDN EnterpriseMSDN Enterprise$2199 new$2199 new
$1599 renewal/upgrade$1599 renewal/upgrade
MSDN UniversalMSDN Universal$2799 new$2799 new
$2299 renewal/upgrade$2299 renewal/upgrade
Enterprise DeveloperEnterprise Developer Enterprise lifecycle toolsEnterprise lifecycle tools Team development supportTeam development support Core .NET Enterprise ServersCore .NET Enterprise Servers
Enterprise ArchitectEnterprise Architect Software and data modelingSoftware and data modeling Enterprise templatesEnterprise templates Architectural guidanceArchitectural guidance
2727
.NET Partners.NET Partners
2828
ResourcesResources
msdn.microsoft.commsdn.microsoft.com msdn.microsoft.com/seminarmsdn.microsoft.com/seminar www.gotdotnet.comwww.gotdotnet.com www.asp.netwww.asp.net Microsoft Tech·Ed 2002Microsoft Tech·Ed 2002
New Orleans, LANew Orleans, LA April 9 – 13, 2002 April 9 – 13, 2002 msdn.microsoft.com/events/teched msdn.microsoft.com/events/teched
Questions?Questions?
3030© 2002 Microsoft Corporation. All rights reserved.© 2002 Microsoft Corporation. All rights reserved.