Overview of .NET Framework Carlotta Eaton Associate Professor of IST New River Community College Dublin, VA Slides created by Microsoft Modified by Carlotta Eaton Agenda 2 Development Challenges Implementation and Benefits Application Types .NET Language Support Visual Studio® .NET Development Challenges 3 Software Integration Development and deployment complexity Multiple programming models Underlying details not abstracted Security not inherent Implementation and Benefits .NET Framework and Tools VB C++ C# … J# Common Language Specification Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Common Language Runtime Operating System 4 Visual Studio .NET ASP .NET Implementation and Benefits Common Language Runtime VB C++ C# … J# Common Language Specification Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Common Language Runtime Operating System 5 Visual Studio .NET ASP .NET Implementation and Benefits .NET Evolution – Before COM Application Code and data structures Before COM, applications were completely separate entities with little or no integration 6 Implementation and Benefits .NET Evolution - Using COM COM provides a way for components to integrate. However, each component must provide the “plumbing” and objects cannot directly interact. 7 Implementation and Benefits .NET Evolution - Using .NET Framework With the .NET Framework common language runtime, components are built on a common substrate. No “plumbing” is needed and objects can directly interact 8 Implementation and Benefits Compilation and Execution Compilation Source Code Language Compiler Native Code JIT Compiler Execution 9 Code (IL) Assembly Metadata At installation or the first time each method is called Implementation and Benefits Robust Environment Automatic lifetime management Exception handling Error handling 1st class and mandatory Type-safety 10 All objects are garbage collected Helps you avoid memory leaks No buffer overruns, No unsafe casts, Uninitialized variables Helps you avoid hacker attacks Implementation and Benefits Simplify Development Common Type System Enables clean OO programming Classes and Interfaces Constructors, Properties, Methods Cross-language inheritance Built-in interoperability 11 Common instance and type definition With COM With native Win32® DLLs Implementation and Benefits Simplify Deployment, Management Zero-impact install Side-by-side execution Multiple component versions can co-exist Even in the same process .NET does not use Windows registry Assemblies 12 Applications, components shareable or private Contain dependency information Avoid DLL Problems Implementation and Benefits .NET Framework Class Library VB C++ C# … J# Common Language Specification Web Forms Web Services Mobile Internet Toolkit Windows Forms ADO .NET and XML Base Class Library Common Language Runtime Operating System 13 Visual Studio .NET ASP .NET Implementation and Benefits .NET Framework Class Library System.Web Services Description Discovery Protocols UI HtmlControls WebControls Caching Configuration Security SessionState System.Windows.Forms Design ComponentModel System.Drawing Drawing2D Imaging System.Data OleDb Common ( >6000 classes) Printing Text System.Xml SqlClient SQLTypes XSLT XPath Serialization System Collections Configuration Diagnostics Globalization 14 IO Net Reflection Resources Security ServiceProcess Text Threading Runtime InteropServices Remoting Serialization Implementation and Benefits Unified Development Paradigm Consistent API availability regardless of language and programming model .NET Framework RAD, Composition, Delegation VB Forms Subclassing, Power, Expressiveness MFC/ATL Windows API 15 Stateless, Code embedded in HTML pages ASP Implementation and Benefits Factored and Extensible Not a “black box” .NET classes available through inheritance 16 The sealing is much higher Plug-and-play components and subsystems Application Types Console Applications Build Command Line Executables Use Any .NET Language Batch Processing Unattended Execution Very Light Weight 17 Hello World ~ 5k Application Types Windows Services Build Services in any .NET Language Process Installer Writes registry entries Identity Start Type 18 User Name Password System Account Manual Automatic Disabled Application Types Windows Forms Desktop Applications Form Based SDI/MDI Explorer Style Applications XCopy No-Touch (even easier than XCopy!) Printing 19 Docking Splitters Deployment Database Front-End Page settings Print Preview Application Types Web Forms Much Less Coding VB-Style Programming Model Validator Controls Rich Controls Sessions Are Safe to Use! Span servers in a web farm Don’t require cookies Tracing Caching More Events in Global.asax 20 DataGrid DataList Calendar Begin Request, End Request, Error, etc. Application Types XML Web Services Evolution of applications and Web sites New integration methodology Accessible via standard Internet protocols HTTP, XML, SOAP, WSDL, UDDI Framework-provided support 21 Cross any operating system in any language Programmable application components Secure interactions across trusted boundaries Automatic generation of XML, SOAP, WSDL Application Types Web Services The .NET Framework provides a bi-directional mapping 22 Application Concepts Web Framework Data XML Objects Schema XSD Classes Services WSDL Methods Invocation SOAP Calls .NET Language Support Common Language Specification Microsoft provided languages Visual Basic®, C#, C++, J#, JScript® 3rd-party provided languages 23 First class support across the board APL, Cobol, Component Pascal, Eiffel, Fortran, Haskell, Mercury, Oberon, Oz, Perl, Python, RPG, Scheme, Smalltalk, Standard ML Visual Studio .NET Integrated Development Environment Simplifies mixed-language development End-to-end debugging support across 24 Single Solution Explorer, Toolbox IntelliSense® statement completion Squigglies Languages Projects Processes Machines Summary 25 Simplified development with unified programming models Simplified application deployment and management Robust foundation with secure execution environment Significant industry support for standards and multiple languages MSDN Subscriptions THE way to get Visual Studio .NET Visual Studio .NET MSDN Subscriptions Enterprise Architect Software and data modeling Enterprise templates Architectural guidance MSDN Universal $2799 new $2299 renewal/upgrade Enterprise Developer Enterprise lifecycle tools Team development support Core .NET Enterprise Servers Professional 26 Tools to build applications and XML Web services for Windows and the Web MSDN Professional $1199 new $899 renewal/upgrade NEW MSDN Enterprise $2199 new $1599 renewal/upgrade .NET Partners 27 Resources msdn.microsoft.com msdn.microsoft.com/seminar www.gotdotnet.com www.asp.net Microsoft Tech·Ed 2002 28 New Orleans, LA April 9 – 13, 2002 msdn.microsoft.com/events/teched Questions? © 2002 Microsoft Corporation. All rights reserved. 30