logging in or signing up architecture aSGuest131877 Download Post to : URL : Related Presentations : Let's Connect Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Copy embed code: Embed: Flash iPad Dynamic Copy Does not support media & animations Automatically changes to Flash or non-Flash embed WordPress Embed Customize Embed URL: Copy Thumbnail: Copy The presentation is successfully added In Your Favorites. Views: 64 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: April 09, 2012 This Presentation is Public Favorites: 0 Presentation Description architecture of .net Comments Posting comment... Premium member Presentation Transcript Lecture 1: The .NET Architecture: Lecture 1: The .NET ArchitectureObjectives: Objectives “Microsoft .NET is based on the .NET Framework, which consists of two major components: the Common Language Runtime (CLR) and an extensive set of Framework Class Libraries (FCL). The CLR defines a common programming model and a standard type system for cross-platform, multi-language development.” CLR-based execution Application designsPart 1: Part 1 CLR-based execution…Influences: Influences .NET is the result of many influences… .NET OOP JVM GUI Web component-based design n-tier design.NET is multi-language: .NET is multi-language .NET supports VB, C# (C-sharp), C++, J# (Java 1.2), Eiffel, etc. code.vb code.cs code.cpp ... Development Tools app.exe FCL.NET is cross-platform: .NET is cross-platform Compiled .NET apps run on any supported platform: APP.exe ? Win64 Win32 ( XP,2K,98) WinCEHow is cross-platform achieved?: How is cross-platform achieved? Cross-platform execution realized in two ways: apps are written against Framework Class Library (FCL), not underlying OS compilers generate generic assembly language which must be executed by the Common Language Runtime (CLR)(1) FCL: (1) FCL Framework Class Library 1000's of predefined classes common subset across all platforms & languages networking, database access, XML processing, GUI, Web, etc. Goal? FCL is a portable operating system(2) CLR-based execution: (2) CLR-based execution Common Language Runtime must be present to execute code: APP.exe other FCL components CLR JIT Compiler obj code OS Process Underlying OS and HW Core FCLImplications of .NET's execution model: Implications of .NET's execution model Clients need CLR & FCL to run .NET apps available via Redistributable .NET Framework 20MB download runs on 98 and above, NT (sp6a) and above Design trade-off… managed execution (memory protection, verifiable code, etc.) portability: slower execution?Part 2: Part 2 Application design…Monolithic: Monolithic Monolithic app: all source code compiled into one .EXE *not* the norm on Windows… APP.exeComponent-based: Component-based Component-based app: .EXE + 1 or more .DLLs standard practice on Windows… compute.dll data.dll GUI.exeWhy component-based?: Why component-based? Many motivations: team programming multi-language development (I like VB, you like C#) code reuse (e.g. across different .EXEs) independent updating (update just component X) FCL ships as a set of components!Assemblies: Assemblies .NET packages components into assemblies 1 assembly = 1 or more compiled classes .EXE represents an assembly with classes + Main program .DLL represents an assembly with classes Development Tools assembly code.vb code.vb code.cs .EXE / .DLLCLR-based execution revisted: CLR-based execution revisted CLR must be able to locate all assemblies: .EXE other FCL assemblies CLR JIT Compiler obj code OS Process Underlying OS and HW Core FCL assembly .DLL .DLL .DLL obj code obj code obj codeAssembly resolution: Assembly resolution How does CLR find assemblies? For now, simple answer is sufficient: our DLLs must reside in same directory as our EXE FCL assemblies reside in GAC CLR looks in GAC first, then EXE's directory…GAC?: GAC? GAC = Global Assembly Cache C:\Windows or C:\WinNT directory Observations: explorer yields a flat view of GAC command-shell yields actual representation GAC can hold different versions of the same assembly some assemblies have been pre-JIT ("native image") tamper proof via digital signatures…Summary: Summary .NET architecture is: multi-language cross-platform based on the CLR, FCL, and JIT technology Application designs are typically multi-tier Application designs yield component-based development .NET components are packaged as assembliesResources: Resources Books: J. Richter, "Applied Microsoft .NET Framework Programming" (C#) J. Richter and F. Balena, "Applied Microsoft .NET Framework Programming in Microsoft Visual Basic .NET" (VB) T. Thai and H. Lam, ".NET Framework Essentials" Web sites: http://msdn.microsoft.com/net http://www.gotdotnet.com/ Linux port ( Mono ): http://www.go-mono.com/ MS source ( Rotor / SSCLI): http://msdn.microsoft.com/net/sscli You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.