Presentation is loading. Please wait.

Presentation is loading. Please wait.

Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.

Similar presentations


Presentation on theme: "Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering."— Presentation transcript:

1 Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering

2 .NET Enterprise Vision Scheduling Authentication Notification ERP & Billing Customer Operations Sales Supply Engineering Customer Service Plant Operations Users Any device, Any place, Any time Roles/Experiences Get the right info To the right user At the right time XML Web Services Integrate and orchestrate business applications and processes Back Office Heterogeneous application and server infrastructure

3 What is.NET? A generic term for the MS vision A generic term for the MS vision –The successor to WinDNA –Sometimes applied to product names »Such as Windows.NET Server A specific software framework A specific software framework –Includes a common runtime »Common across OS and dev language –Includes baseline dev tools in an SDK –Includes powerful dev environment »Visual Studio.NET

4 .NET Framework Standard programming platform Common programming language Common programming language –C# “C Sharp” –Standardized as ECMA-334 –Similar to Java (simplified C++) Common Language Infrastructure (CLI) Common Language Infrastructure (CLI) –Standardized as ECMA-335 –Defines classes, types, and techniques –Internationalization (I18N) support

5 The structure of the.NET Framework VB ASP.NET ADO.NET and XML Common language specification (CLS) Common language runtime (CLR) COM+ services.NET Framework classes Windows J#... J#... C# Web Forms XML Web services Windows Forms System services Win32 API and COM+ services

6 The structure of the.NET Framework VB ASP.NET ADO.NET and XML Common language specification (CLS) Common Language Runtime (CLR) COM+ services.NET Framework classes Windows J#... J#... C# Web Forms XML Web services Windows Forms Microsoft implimentation of CLI and support for COM and platform interoperation

7 What is the CLR? CLR = Common Language Runtime CLR = Common Language Runtime –Microsoft’s implementation of CLI (ECMA 335) »For Windows environments –Plus extensions for Windows »Wintel PC, Wintel server, WinCE, WinXPE, … –Most extensions are in the class library »CLI-compliant code runs on CLR

8 What is the CLI? CLI = Common Language Infrastructure CLI = Common Language Infrastructure –Language-neutral platform –Provides a specification for executable code and the execution environment in which it runs –Executable code is presented to the VES as modules. –CLI comprise the specification of : »Execution engine (loader,JIT,garbage- collecting) »Common Type System (CTS) »Common Language Specification (CLS)

9 Common Type System (CTS) Types describe values and specify a contract that all values of that type shall support. CTS supports (OOP) as well as functional and procedural PL – –Values are simple bit patterns for things like integers and floats…; – –Objects Each object is self-typing, that is, its type is explicitly stored in its representation.

10 Common Language Specification (CLS) The CLS is a set of rules that apply to generated assemblies. The CLS is an agreement between language designers and framework (that is, class library) designers. The CLS is an agreement between language designers and framework (that is, class library) designers. The CLS specifies a subset of the CTS and a set of usage conventions. The CLS specifies a subset of the CTS and a set of usage conventions. For more info… For more info… –http://msdn.microsoft.com/net/ecma http://msdn.microsoft.com/net/ecma –http://www.ecma.ch/ http://www.ecma.ch/

11 CLR Features All code is compiled, not interpreted All code is compiled, not interpreted –Assemblies are deployed in intermediate language (IL, also called CIL or MSIL) –Converted to native machine code at run time (via JIT compiler) Static code management Static code management –Versioning, localizing, and signing –Configurable assembly resolver –Global assembly cache (GAC) Dynamic code management Dynamic code management –Memory allocation with garbage collection –Lifecycle management via reference tracking –Thread pooling

12 CLR Features Fine-grained code access security Fine-grained code access security –Augments OS security –Ensures that code only performs operations allowed by policies set by user or administrator –Based on code source, publisher signature, and other evidence Flexible remoting Flexible remoting –Includes XML/SOAP and binary –Remoting model is easily extended –Integrates with web services

13 CLR Internals Class Loader IL to Native CompilersCodeManagerGarbageCollector Security Services Debug Services Type Checker Exception Manager Thread Manager COM Marshaler Base Class Library

14 Assemblies( CLI deployment units ) Set of files in a derectory Set of files in a derectory –It can be single or multi file Assemblies are composed of Assemblies are composed of –Manifest »Metadata that describes the assemblies –Metada »Machine-readable information about a resource »In.NET metadata includes type definition, version information, external assemby references –Code IL » Code that CLR executes at runtime

15 Global Assembly Cache GAC = database of shared assemblies GAC = database of shared assemblies Each assembly must have strong name Each assembly must have strong name –Similar to GUID, but much more detailed –Includes text name, version, culture, digital signature, and public key –Keys created by SN (strong name) utility –Nobody can use your names because they are based on your private key GAC assemblies can only refer to other strong- named assemblies GAC assemblies can only refer to other strong- named assemblies

16 CLR and Classic Runtimes

17 Execution Code Metadata Compilation & Execution Compilation Before installation or the first time each method is called JIT Compiler NativeCode Source Code Language Compiler Assembly Unit of deployment, similar to DLL or EXE with added metadata Saved in cache An assembly can also be pre-compiled as part of deployment

18 The structure of the.NET Framework VB ASP.NET ADO.NET and XML Common language specification (CLS) Common Language Runtime (CLR) COM+ services.NET Framework classes Windows J#... J#... Provide classes that can be called from any.NET- enabled PL C# Web Forms XML Web services Windows Forms Frameworks make use of sealed classes(do not permit any subclassing)

19 Framework Foundation System System.DataSystem.Xml System.Web Globalization Text Security Collections Resources Reflection Net IO Threading Diagnostics ServiceProcess Configuration Design Data (Dataset) SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel Reader/Writers DOM Drawing

20 Framework support (configuration,globalization, and management) System System.DataSystem.Xml System.Web Globalization Text Security Collections Resources Reflection Net IO Threading Diagnostics ServiceProcess Configuration Design Data (Dataset) SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel Reader/Writers DOM Drawing

21 Framework support (platform acces and COM interoperation) System System.DataSystem.Xml System.Web Globalization Text Security Collections Resources Reflection Net IO Threading Diagnostics ServiceProcess Configuration Design Data (Dataset) SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel Reader/Writers DOM Drawing

22 Framework support (I/O, messaging, remoting, and serialization) System System.DataSystem.Xml System.Web Globalization Text Security Collections Resources Reflection Net IO Threading Diagnostics ServiceProcess Configuration Design Data (Dataset) SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel Reader/Writers DOM Drawing

23 Framework support (debugging, compilation, and code generation) System System.DataSystem.Xml System.Web Globalization Text Security Collections Resources Reflection Net IO Threading Diagnostics ServiceProcess Configuration Design Data (Dataset) SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel Reader/Writers DOM Drawing

24 Framework support ( web protocol, web sever acces,and XML standards,…) System System.DataSystem.Xml System.Web Globalization Text Security Collections Resources Reflection Net IO Threading Diagnostics ServiceProcess Configuration Design Data (Dataset) SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel Reader/Writers Run Time DOM Drawing (subset)

25 Framework support (component classes, web server support… ) System System.DataSystem.Xml System.Web Globalization Text Security Collections Resources Reflection Net IO Threading Diagnostics ServiceProcess Configuration Design Data (Dataset) SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms DesignComponentModel Reader/Writers Run Time DOM Drawing (subset)

26 The structure of the.NET Framework VB ASP.NET ADO.NET and XML Common language specification (CLS) Common Language Runtime (CLR) COM+ services.NET Framework classes Windows J#... J#... ADO.NET is a set of classes that provide data access support for the.NET Framework C# Web Forms XML Web services Windows Forms ADO.NET is based on ADO but is designed to work with XML and to work in a disconnected environment

27 The structure of the.NET Framework VB ASP.NET ADO.NET and XML Common language specification (CLS) Common Language Runtime (CLR) COM+ services.NET Framework classes Windows J#... J#... C# Web Forms XML Web services Windows Forms ASP.NET Including Web Forms And XML Web services Traditional client application that use windows Forms

28 The structure of the.NET Framework VB ASP.NET ADO.NET and XML Common language specification (CLS) Common Language Runtime (CLR) COM+ services.NET Framework classes Windows J#... J#... C# Web Forms XML Web services Windows Forms CLS set of rules that a CLS-compliant language needs to follow Language that follow the CLS C#, VB, J# …

29 Classic MS languages VB – gains many OO features VB – gains many OO features VC++ – gains managed code features VC++ – gains managed code features VJ# – replaces VJ++ (not J2EE) VJ# – replaces VJ++ (not J2EE) C# – new language C# – new language

30 C# (C Sharp) Overview C# is a new language, crafted specifically to work well within the.NET Framework C# is a new language, crafted specifically to work well within the.NET Framework C# do not support C# do not support –Templates –Multiple Inheritance –Global Functions –Preprocessor Macros C# support C# support –Operator Overloading –…

31 Summary.NET Framework provides….NET Framework provides… –Common platform for all.NET languages –Sophisticated code management –Fine-grained security.NET Framework fixes….NET Framework fixes… –Object life-cycle problems, especially COM –Weak support for enterprise features »COM+, WMI, MSMQ, … –DLL hell and other deployment problems

32 ???


Download ppt "Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering."

Similar presentations


Ads by Google