The Essence of Microsoft's .NET Framework
 
Published: 16 Feb 2007
Abstract
Are you just wondering what WinFx is all about or are you confused about the terms Avalon, Indigo, Infocard, Workflow or .Netfx 3.0? Are you interested having a complete overview of the new .NET Framework 3.0 [WinFx]? In this article Koti explores these technologies in detail.
by Saripalli Koti Reddy
Feedback
Average Rating: 
Views (Total / Last 10 Days): 59317/ 108

Introduction

Microsoft .NET Framework [.NetFx] is one of the most important technological platform to any professional associated with Microsoft technologies. In the vein of any other upcoming technology, .NET Framework is undergoing rapid changes and enhancements to empower its developers to deliver world class software solutions.

Microsoft has released .NET Framework 3.0 [formerly called WinFx] in November 2006. WinFx empowers the developers to develop applications/solutions for windows operating system by using .NET Framework through taking complete advantage of Windows Operating System.

History of Microsoft .NET Framework

Before we move ahead to deal with .NET Framework, let us have a look at the history of .Net Framework.

Microsoft started development of the .NET Framework [.NetFx] in the late 1990’s with the code name "Next Generation Windows Services [NGWS]."

First beta version of .NetFx was released in November 2000. There after, Microsoft has released many versions of .NetFx to make .NetFx more effective and also developer friendly.

 

Version Name

Version Number

Release Date

1.0 Beta 1

1.0.xxxx.0

Nov - 2000

1.0 Beta 2

1.0.2914.0

20-Jun-2001

1.0 RTM

1.0.3705.0

05-Jan-2002

1.0 SP1

1.0.3705.209

19-Mar-2002

1.0 SP2

1.0.3705.288

07-Aug-2002

1.0 SP3

1.0.3705.6018

31-Aug-2004

1.1 SP1

1.1.4322.2032

30-Aug-2004

1.1 SP1 (Windows Server 2003 Version)

1.1.4322.2300

30-Mar-2005

2.0 RTM

2.0.50727.42

07-Nov-2005

3.0 RTM

3.0.4506.30

06-Nov-2006

Major Changes in .NET Framework since Version 1.0 Till 3.0

.Net Framework1.0

 This is the initial version of Microsoft .NET Framework.

.Net Framework 1.1

This is the major upgrade to the .NET Framework 1.0 to provide:

1) .NET Compact Framework - a version of the .NET Framework for small devices

2) Internet Protocol version 6 (IPv6) support

3) Built-in support for ODBC and Oracle databases: previously available as an add-on for .NET Framework 1.0, now part of the framework

4) Built-in support for mobile ASP.NET controls: previously available as an add-on for .NET Framework, now part of the framework

5) Security changes: enable Windows Forms assemblies to execute in a semi-trusted manner from the Internet and enable Code Access Security in ASP.NET applications

6) Numerous API changes and many more

.Net Framework 2.0

This version shipped with Microsoft Windows Server 2003 Release Candidate [RC]. This is the last version with support for Microsoft Windows 2000.

Changes in .NET Framework since 1.1:

1) Full 64-bit support for both the x64 and the IA64 hardware platforms.

2) Language support for Generics built directly into the .NET CLR.

3) Many additional and improved ASP.NET web controls.

4) New data controls with declarative data binding.

5) New personalization features for ASP.NET, such as support for themes, skins and webparts.

6) Numerous API changes and many more.

.NET Framework with Visual Studio .NET

Every Microsoft developer will agree, Microsoft Visual Studio .NET is one of the prime Integrated Development Environment [IDE] for developing applications for .NETaware/compliance programming languages such as C#.NET, VB.NET, etc.

First release of Microsoft Visual Studio.Net has .NET Framework 1.0 as a part of it.

This first release is also known as Visual Studio .NET 2002.

The second release of Microsoft Visual Studio.Net (Visual Studio .NET 2003) has .NET Framework 1.1 as a part of it.

The third release of Microsoft Visual Studio.Net (Visual Studio .NET 2005) has .NET Framework 2.0 as a part of it.

.NET Framework 3.0 [WinFx] - Here It Goes…

This version of .NET Framework is formerly known as WinFx (Pronounced as "Win Effects").

Every developer of Microsoft technologies has come across Win32 Application Programming Interface [API] and the Principle API of all the Microsoft windows operating systems. But in upcoming versions of Microsoft Operating Systems, such as Windows Vista, Win32 API will no longer be the principal API. However, it will continue to be supported; likewise, the old DOS application can still run under the latest version of operating systems. A new API called WinFX will replace the Win32 API in upcoming versions of the Microsoft Windows Operating Systems.

To be clearer, WinFX is the .NET Framework 2.0 with the addition of four specific new technologies as mentioned below:

1) Windows Presentation Foundation [WPF]

2) Windows Communication Foundation [WCF]

3) Windows Workflow Foundation [WF]

4) Windows Card Space [WCS]

Figure 1

The above diagram illustrates the pictorial arrangement of .Net Framework 3.0 [WinFx].

All four new technologies developed are to be used by any .Net aware/compliance programming language (such as C#.Net, VB.Net, and etc…), which means all these technologies were developed as managed code/API.

These four new technologies [API's] enable .Net Framework 3.0 developers to develop applications for Windows Operating System by taking advantage of underlying Windows Operating System features in .Net aware/compliance programming languages. Hence, developers of .NetFx 3.0 are dealing with Windows Operating System through Managed API.

So .Net Framework 3.0 [WinFx] = .NetFx 2.0 + WPF + WWF + WCF + WCS.

My Definition of WinFx - Goes Here…

The Managed Code Programming Model for Upcoming Microsoft Windows Operating Systems.

All about WinFx API

As it was mentioned in the previous sections of this article, WinFx = .NetFx 2.0 + API of four major components (WPF, WCF, WF, WCS).

Please find the detailed charts as plotted below describing the enhancements made to the .NET API.

Figure 2

    

 

                               

Four Major Components of .NET Framework 3.0 [WinFx]

Windows Presentation Foundation [WPF]

WPF, formerly code named Avalon, is the graphical sub system feature of the Microsoft .NET Framework 3.0 [WinFx].

WPF provides a consistent programming model for building next generation user experiences with User Interface [UI], Media and Documents and provides a clear separation between the User Interface and the business logic [Code Behind] by relating itself to the Extensible Application Markup Language [XAML] to store all the UI related information, whereas, the business logic will be placed within the corresponding .xaml.cs file.

WPF enables developers and designers to create visually stunning user interfaces.

WPF addresses the communication gap between the Multimedia Designer and Developer by enabling the Designers to create their design in the form of XAML by using XAML Designers, such as Microsoft Expressions and Developers, to directly use that XAML file and then define the business logic for it.

WPF enables the Developers to create 2D or 3D graphics through declarative programming.

WPF applications can be deployed on the desktop or hosted in web browser.

Check out my future article "Hands on WPF" for many more features and in depth discussion on WPF.

Windows Communication Foundation [WCF]

WCF is one of the four major components introduced as part of .NET Framework 3.0 [WinFx]. WCF is formerly known as "Indigo."

Development of "Indigo" began in early 2001, even before the completion of the first version of the .NET Framework. At the time, it was thought that Indigo would be released alongside "Longhorn," then the codename for a version of Windows that would ship in 2003 or 2004. Indigo made its first public appearance at the 2003 Professional Developers Conference as one of the "pillars of Longhorn." As Longhorn's release was delayed, Indigo's release was delayed as well.

On January 18, 2006, Microsoft released a preview of the WinFX runtime components and a run-time license for Windows Communication Framework.[1] The components made available included the WinFX Runtime Components, WinFX SDK, and Visual Studio Extensions for Workflow, and Visual Studio "Orcas" CTP Development tools for WinFX. Server applications based on this technology could be used in production development environments with the acquisition of a free license.

Final sign-off on Windows Communication Foundation came on November 3, 2006, almost six years after its inception and the release came a few days later.[1]

WCF unifies Web Services, .NET Remoting, COM+ Enterprise Services and Message Queues into a single "Service Oriented Programming" model.

WCF = ASMX [with WSE] + .NET Remoting + COM+ Enterprise Services + MSMQ

WCF is designed in accordance with Service oriented architecture principles to support Distributed computing where services are consumed by consumers. Clients can consume multiple services and services can be consumed by multiple clients. Services typically have a WSDL interface which any WCF client can use to consume the service, irrespective of which platform the service is hosted on. WCF implements many advanced WS* web services standards such as WS-Addressing, WS-ReliableMessaging and WS-Security. While Microsoft is a board member of WS-I it is not clear how many WS-I profiles they are committing to support fully.

Check out my future article "Building First WCF Service…" for a hands-on demonstration of WCF.

Windows Workflow Foundation [WF]

Workflow is a set of activities that coordinates people and/or software to perform a result oriented business process.

Windows Workflow Foundation is useful for defining, executing, and managing workflows. Windows Workflow Foundation API provides Programming model, engine, and tools for building workflow enabled applications.

Extensible Object Modeling Language [XOML] based on XAML is used for declaring the structure of workflow, business logic for the workflow activities can be defined within the .Net aware programming languages (such as C# .NET, …) within the .xoml.cs file.

Check out my future article "Building First Workflow Enabled Windows Application" for a hands-on demonstration of WF.

Windows Card Space [WCS]

WCS, formerly called InfoCard, is a framework developed by Microsoft which securely stores digital identities of a person and provides a unified interface for choosing the identity for a particular transaction, such as logging in to a website.

WCS is a central part of Microsoft's effort to create an Identity Metasystem or a unified, secure and interoperable identity layer for the internet.

WCS allows users to create self-issued identities for themselves, which can contain one or more of around 15 fields of telephone-book quality identity information. Other transactions may require a managed identity issued by a trusted identity provider, such as a bank, employer or a governmental agency.

WCS is built on top of Web Services Protocol Stack, an open set of XML-based protocols, including WS-Security, WS-Trust, WS-Metadata Exchange and WS-SecurityPolicy. This means that any technology or platform which supports WS-* protocols can integrate with CardSpace.

Supported Operating Systems for .NET Framework 3.0 [WinFx]

1. Longhorn (Windows code name)

2. Windows Server 2003 Service Pack1

3. Windows Vista

4. Windows XP - Service Pack2

Download .NET Framework 3.0 [WinFx]

You can download and start working with WinFx by clicking here.

Visual Studio - 2005 Extensions for WPF, WCF & WF

In order to make use of Visual Studio - 2005 for developing the WPF, WCF and WF applications we need to install a few extensions to the Visual Studio - 2005 explicitly.

You can download those extensions from the links mentioned below:

1) Microsoft Visual Studio 2005 CTP Extensions for .NET Framework 3.0 (WCF & WPF)

2) Microsoft Visual Studio 2005 Extensions for Windows WorkFlow Foundation

Microsoft Windows SDK for .NET Framework 3.0 [WinFx]

The Windows Software Development Kit [SDK] is the SDK for developing Windows applications, Windows SDK contains documentation for all APIs of .Net Framework 3.0 [WinFx] interfaces, types, etc. found in the Windows operating system. It also contains samples, tools and build environments. The Windows SDK includes all the content you would previously have found in the Platform SDK, Typically Unmanaged APIs, Samples and Tools.

So Windows SDK can be used as the basic guide to develop applications for Windows Operating Systems by using .NET Framework 3.0 [WinFx].

You can download the Windows SDK by following the below URL:

[INSTALLATION OF WINDOWS SDK IS NOT MANDATORY TO WORK WITH THE WinFx]

1) Microsoft Windows SDK for .NET Framework 3.0

Free .NET Framework 3.0 [WinFx] Training from Microsoft

Microsoft offers hands-on support to professionals to learn about .Net Framework 3.0 [WinFx]. You can also learn WinFx from Microsoft for free by using the URL below.

References

Conclusion

So, we can say that .NET Framework 3.0 [WinFx] is not a brand new version of CLR or anything else, rather WinFx is all about new technologies, such as WPF, WCF, WF, and WCS wrapped around the .NET Framework 2.0 and will help the developers to develop next generation windows applications by using .NET aware/compliance programming languages.



User Comments

Title: Inappropriate details   
Name: Ehtesham Siddiqui
Date: 2010-11-23 3:15:24 AM
Comment:
Not satisfactory
Title: straight to the xact research   
Name: Yonela
Date: 2009-03-23 3:25:09 PM
Comment:
It would be nice to get the necessary information when browsin, it would make life much easier.but thakyou very much for the as i know tyou are doin all you can to make searching simple
Title: important information at one place   
Name: pallavi
Date: 2009-03-22 8:27:23 AM
Comment:
hello
the article is very good.
From this we can have clear idea of .net framework details from 1.0 till 3.5
thanks
Title: Thank You   
Name: Koti Reddy. Saripalli
Date: 2009-01-10 8:07:39 AM
Comment:
Folks,

Thanks for all your comments, as there are no auto notifications within this site, you can also mail me your comments over kotis@microsoft.com or koti.saripalli@microsoft.com for immediate response.

Kr.
Title: The Essence of Microsoft's .NET Framework   
Name: Jagannath
Date: 2009-01-06 4:43:34 AM
Comment:
Excellent Presentation of Evolution of Indigo/WCF + Basics

(Attended your Session on Basics of DOTNET @ Synergy(Ravi Pola)
Title: The Essence of .net framework   
Name: Sridhar
Date: 2008-08-06 3:46:30 AM
Comment:
"Every developer of Microsoft technologies has come across Win32 Application Programming Interface [API] and the Principle API of all the Microsoft windows operating systems. But in upcoming versions of Microsoft Operating Systems, such as Windows Vista, Win32 API will no longer be the principal API."

This is not true. The number of new Win32 APIs in Vista/Server 2008 indicate that contrary to what you are claiming, there is a lot of new work/innovation going on with respect to native code and programming models.

Also please refer any code that runs outside the CLR as "native" code. Unmanaged is not the right way to describe it as most languages (non-.net) have ways (better?) to handle their state, not to mention memory and resources.
Title: The Essence of Microsoft's .NET Framework   
Name: Venkat
Date: 2008-05-23 8:50:29 AM
Comment:
Its really very good article and excellent prasentation
Title: .NET Framework 3.0 [WinFx] - Here It Goes…   
Name: Dileep
Date: 2007-12-12 6:31:00 AM
Comment:
good information and presentation..
u r always great in ur presentations..

dileep (your student in .net ur fan always)
Title: ---   
Name: ---------
Date: 2007-02-16 2:11:20 PM
Comment:
wonderful article content provided in sequential sorted order, expecting more articles on windows workflow foundation.






Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-05-04 8:37:45 PM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search