.Net Framework 4.5 Architecture
4.5 layered architecture diagram
.Net framework is an integrated component of windows operating system that supports development and execution of next generation applications, Windows store apps and services.
.NET Framework 4.5 at its core consists of Common Language Runtime (CLR), Dynamic Language Runtime (DLR), Base Class Library (BCL), Portable Class Library, Parallel Extension and WinRT.
With .Net Framework 4.0 there are various new additions in BCL which includes DLR, MEF, Parallel Extension, Entity Framework, WCF Data Services and ability to host .NET 4 runtime with .NET 3.5, 3.0, 2.0 runtimes side by side under the same hosting process.
Components of .NET Framework 4.5 Architecture
Common Language Runtime
This acts as the execution engine for the .NET Framework. All .NET programs executes under the supervision of CLR.
Base Class Library
This is a library of functionalities which are available to all languages using the .NET Framework. It consists of classes, interfaces of reusable types that integrates with CLR
Portable Class Library
The Portable Class Library project in Visual Studio 2012 allows you to develop and build managed assemblies that work on multiple .NET Framework platforms. Using a Portable Class Library project, you choose the platforms (such as Windows Phone and .NET for Windows Store apps) to target.
Managed Extensibility Framework (MEF)
MEF is a library for creating lightweight, extensible applications. It allows application developers to discover and use extensions with no configuration required.
Dynamic Language Runtime
This provides the runtime environment for dynamic languages like python etc. for executing under the full control of CLR.
This is used to build rich internet based web application.
Windows Store Apps (Metro Style Apps)
A Windows Store app is a new type of application that runs on Windows 8 devices and can take advantage of new WinRT APIs. These can only be distributed in the Windows 8 store.
Desktop Apps (Windows Forms)
A Windows Desktop app is traditional Windows Forms application with a new name. Software developed for Windows XP, Windows Vista and Windows 7 will be categorized as a Windows Desktop app when running in Windows 8. Examples of Windows Desktop apps are Microsoft Office families products, notepad etc.
WPF is used to create applications with a rich user experience. It includes application UI, 2D graphics, 3D graphics and multimedia. It takes advantage of hardware acceleration of modern graphic cards. WPF makes the UI faster, scalable and resolution independent.
This is a cross-browser web based technology which allows designers and developers to deliver Rich Internet Applications (RIA) embedded in Web pages.
This is used to create Data Access Layer to query and manipulate data from underlying data source like SQL Server, Oracle, and DB2 etc.
This allows you to query the data from the various data sources (like SQL databases, XML documents, Ado.Net Datasets, Various Web services and any other objects such as Collections, Generics etc.) using a SQL Query like syntax with .Net framework languages like C# and VB.
Ado.Net Entity Framework
This is used to query and store data into to the relational databases (like SQL Server, Oracle, DB2 etc.) in ORM fashion.
This allows you to distribute your work code across multiple processors to take advantage of the hardware.
This is used for building and developing services based on WS-* standards.
Asp.Net Web API is a framework for building HTTP services that can be consume by a broad range of clients including browsers, mobiles, iphone and tablets.
ASP.NET SignalR is a library that simplifies the process of adding real-time web functionality to applications. Real-time web functionality is the ability to have server code push content to connected clients instantly as it becomes available, rather than having the server wait for a client to request new data.
This is used to build process oriented business workflow and rules engine.
Visual Studio 2012
The Visual Studio IDE offers a set of tools that help you to write and modify the code for your programs, and also detect and correct errors in your programs. Using Visual Studio 2012 you can build Windows Store apps, desktop apps, mobile apps, ASP.NET web apps, and web services.