I thought getting used to C# 2.0 (as a programming language), ASP.NET 2.0(as web development platform) and SQL Server 2005 would be good enough of a thing as far as – understanding next release of .net framework (i.e. ver 2.0) was concerned. You bet! I was wrong. I felt like knowing INDIGO would be good enough for sure and I’d be able to use it whenever the time would come. I had read introductions about Avalon, Win FS etc and thought good GOD this .NET 2.0 is becoming massive as far technological advancements were concerned and not to forget so many code names (Indigo, Avalon, Longhorn, Yukon, Whidbey etc).
And then came PDC 2005 and brought along with it new technologies, new names and even new code names J. I was completely lost when I read about new names like Windows Vista, Windows Workflow Foundation , Windows Communication Foundation, and Windows Presentation Foundation etc. Since I have only heard and read about Longhorn, Avalon, Indigo, Whidbey etc, I felt like I was left behind in this technology race. And specially back then I was just completely occupied with the project that I was working on and I dint have any time or energy left in me to start exploring these new horizons. But then slowly and gradually I got to read about these new names I thought I should write some sort of summary that would help MS developer community by highlighting what’s coming up and how to get ready for it. So this is a small write-up pursuing the same task.
Windows Vista Technologies:
Event before I start introducing these new code names to you. Lets understand that the umbrella technology that was previously named “Longhorn” is now called “Vista”, yes Windows Vista is an old wine in new bottle – not really old though. Now if you are wondering from where did Windows got its new name “Vista” then you will have to look at this image below:
Win FX can be thought of as a container that contains and provides access to other exciting technologies. WinFX is an umbrella platform built on top of .NET framework 2.0 and it contains products and initiatives like Windows Communication Foundation (INDIGO), Windows Presentation Foundation (AVALON), Windows Workflow Foundation, InfoCard, WinFS and Microsoft Expression etc.
Windows Communication Foundation (previously named as INDIGO):
WCF, Windows Communication Foundation (previously known as INDIGO), encapsulates all the available distributed technologies that are available with Microsoft.Net platform including ASMX Web Services, MSMQ, COM+ (Enterprise Services) and .NET Remoting. WCF not only encapsulates all these available distributed technologies but also provides a consistent programming model. This consistent programming model is something that was really needed, since; an asmx web service required a different programming approach as compared to that of COM+ (Enterprise Services) or .NET Remoting for that matter. Although there is nothing wrong in principle with offering different programming models but it makes adaptability of different technologies a bit difficult for a .NET developer.
WCF, provides consistent and service oriented means of developing distributed and enterprise scale applications and developers find themselves at home while using different technologies from within .NET environment.
For more details on Windows Communication Foundation I would like to recommend you all an excellent article by Clemens Vaster available here at MSDN.
Windows Workflow Foundation:
On September 15, 2005 Microsoft announced release of one of the most fascinating technologies to be shipped with .NET 2.0, called “Windows Workflow Foundations – WWF”. WWF offers a programming model, tools and engine for building workflow applications on Windows (both client and server) platforms. According to MSDN workflow can be defined as:
“A workflow is a set of activities stored as a model that describe a real world process.”
Workflow Applications have been in high demand for past couple of years and a lot of custom development has been done (and is still being done) in this regard. Usually workflow applications that have been written cater to one of the workflow-scenarios like document centric workflows, user interface (page) flow workflows, business-rule driven workflows etc. And then there are high-end servers that offer variety of workflow services like Microsoft BizTalk Server. WWF is very powerful in-terms of its offerings and it provides programmable experience with used to programming languages like VB.NET and C# (once installed, WWF SDK provides Workflow project templates in Visual Studio 2005 that can be used to develop workflow applications). Although workflows can be defined in code but they are much better of while given a graphical presentation. WWF offers a GUI based workflow designer that provides means of designing of Workflows. Following is a snapshot of a sequential workflow designed in a Workflow designer:
Those of us who have worked with BizTalk Orchestration/Human Workflow designer would find them selves at ease with WWF Workflow Designer.
So in short WWF is a wonderful platform that makes brings to workflow development to mainstream .NET developers.
In the next episode I will be talking about:
- Windows Presentation Foundation (previously named as AVALON)
- Microsoft Expression
- .NET Server Family (SQL Server 2005 and BizTalk 2006)