Thursday, November 3, 2011

Evolution of .Net Framework


Before Dot Net release
            Before the release of the Dot Net, Microsoft has really established and has vast clients on both VB and ASP. VB is used to develop a windows based application whereas ASP is used to develop web based application. So they try to make both VB developers and ASP developers to develop in one environment. Moreover they like to make the developers working with cross platform.
           So they come with the concept of Language Independent (VB.NET & C#, now J#, F# is also available).
Dot.Net 1.0, 1.1 & 2.0 release

  •  Winforms, ASP.Net, ADO.Net
    • Winforms provides the windows based application
    • ASP.Net provides the web based application
    • ADO.Net provides the interface for connection between Database and (ASP.Net / Winforms )Applications
  •   Base Class Library (BCL)
    •  Microsoft follows the standardization as of the ECMA 335 and ISO/IEC 23271:2006 standards. They are as follows
      System , System.Collections , System.Diagnostics, System.Globalization , System.IO , System.Net, System.Reflection, System.Runtime,
      System.Security, System.Text, System.Threading , System.Xml
  •   Common Language Runtime

Dot.Net 3.0 release
  • WPF - Windows Presentation Foundation
    • It provides the unified common user interface (UI) elements (2D/3D rendering, vector graphics) and also it provides a separation between UI and business logic

  • WCF - Windows Communication Foundation
    • It is a framework to build the service-oriented application and achieve the distributed computing. Both the service and client have N-N relationship. A service can be consumed at all kind of communication protocol through it end points. Communication protocol – TCP, HTTP, HTTPS and other bindings as well
  • WF – Work Flow Foundation
    • Provides the task automation and integrated transactions using workflows.
  • Card Space - Microsoft now retired this functionality

Dot.Net 3.5 release
  • LINQ
It is developed to fill the impedance mismatch between the languages and relational database (data sources). LINQ allows query expression to benefit from rich metadata, compile time syntax checking, static typing and IntelliSense
LINQ Evolution: in the following order
Anonymous Method - Lambda expressions – Extension methods

  • ADO.Net – Entity Framework
      
    • It makes the Dot Net developer free of thinking from structure of data store and their performance. They can concentrate on application development. Business object maps directly with conceptual data model. Developer will write data access code against the conceptual data model rather than doing against database schema.
    • When you write queries against this version of the model, you don't need to use JOINs. The model provides navigation between the entities. The concept of Entity Data Model (EDM) is derived from Entity Relationship Model (ERM) which is formed in the 1970s by Peter Chen
    • Three ways we can design the Entity Data Model. Database First, Model First and Code First