New Technology Overview - WinFX, AJAX, & Atlas
Posted by Jim Kayler
Lately with the barrage of new technologies showing up on the horizon; there has been a flood of acronyms coming from the Microsoft camp; obviously, for those of us involved with the technology, this scenario makes for difficulty in trying to keep up and learn the new skills and tools.
Now; let?s for a second, try to imagine that we are not technical individuals and are working for a technology company; and our job it to sell, and (or) evangelize products that utilize or will utilize some of these new technologies, that we don?t really understand and are now having to speak to. Not to mention trying to remember and understand what all of the acronyms, nicknames, and verbiage mean. Let?s face it, after a while all this stuff can get a bit confusing and start to blend into a techno-colored rainbow. It is as bad as trying to keep up with the ?super secret? ?code-names? for the pre-release wares.
With that being said, I put together some very brief high level explanations of some of the new Microsoft technologies coming down the pipe; more specifically, WinFX and Atlas technologies. Most of this information was put together to help some of our internal folks get a handle on things, and is geared toward a more high-level (non-techy) audience, so I tried to keep the techno-speak down and just give some details and remove some of the ambiguity that may be present. Even though this was done as an internal company exercise, I thought that I might share the info for anyone who would like a little more clarity on the technologies at hand. Also, I will add my 2 cents worth, along the way to fill in some gaps as necessary.
So, without further ado, let?s get to the goods.
- WinFX Technologies Overview
WinFX —- .NET Framework 3.0
WinFX has now been renamed to the .NET Framework 3.0 and I am sure
that most everybody in the tech sector is aware of this, as I am also pretty
sure that this “neat” little renaming has added to the level of confusion that already surrounds the WinFX technologies. So, hopefully as we move along; this post can help to clear things up a bit.
What is WinFX
— (.NET Framework 3.0)
- A new (managed (CLR compliant)) Windows API that is designed to be the next generation ‘native’ Windows OS development platform.
- Is an integrated part of the Windows Vista OS
- Meant to be a replacement for the current Win32 API
- WinFX consists of several different Run-Time components
- WCS (formerly InfoCard)
- WCF (formerly Indigo)
- WPF (formerly Avalon)
- WF (formerly WWF)
- .NET Framework 2.0 —- Notice the confusion
First, let?s take a look at each of these components
individually, starting with the .NET Framework 2.0, since this is really the
foundation for the WinFX (.NET 3.0) Framework. Confusing huh??
Beware - Rant Zone:
?I was actually quite happy with WinFX as
the product name, it seemed to have a pretty good wring and it was unique. Now with the onset of renaming of the framework to .NET Framework 3.0, which encompasses the .NET 2.0 framework;
(among other things), confusion seems imminent. Why not just leave the name at WinFX, or
if a change was necessary ?to remove confusion?, why not use something like
WinNG ? (Windows Next Gen. Platform) or something catchy like that ?Sounds cool, looks cool, and makes some semblance of sense. At least IMHO. Of course, what do I know, I am not a ?marketing? guy. But I
digress!!!?
Now back to the point!!
.NET Framework 2.0 (for the sake of clarity)
What is .NET Framework
- The Microsoft Managed (CLR compliant) Development API for developing applications. Includes support for multiple programming languages including VB.NET, C#, C++, and J#
- Consists of essentially 4 main components
- ADO.NET - Managed Data Access API
- ASP.NET - Managed Web Application Development API
- Windows Forms - Managed Desktop Application API
- CLR (Common Language Runtime)
- The .NET Engine
- Responsible for several actions
- Memory management
- Thread management
- Security management
- Code Verification
- Code Compilation
As you can see, the .NET Framework is the base set of APIs that were used in the Development of the.NET Framework 3.0 Framework (WinFX).
Now, let?s look at the rest of
the WinFX (.NET 3.0 Framework) components.
WCS (Windows CardSpace —- Formerly InfoCard)
What is WCS??
- New security model for providing multiple digital security identities across credentials providers, sites, applications, and users
- Four (4) main aspects of this technology
- Provide support for any digital identity system
- Provide consisten user control of digital identity
- Replacement of password-based Web login
- Improve user confidence in the identity of remote applications
- WCS implements an intuitive user interface for working with digital identities
- Essentially a Digital locker containing the available virtual “ID Cards”
How does WCS work??
- Basic Steps: (User Logging into Application using WCS)
- The application being accessed gets the security token requirements of the relying party (website/application host) that the user wishes to access
- Next, the application passes this information to WCS; asking it to request a token from an appropriate identity provider
- WCS then gives the token to the application which passes it on to the relying party. The relying party can then use this token to either authenticate the user, set permissions, or for some other purpose
WCF (Windows Communication Foundation —- Formerly Indigo)
What is WCF??
- New breed of communications infrastructure built around the Web services architecture as a new means for creating applications and (or) systems that rely on a distributed architecture
- Four (4) main aspects of this technology
- Provide support for any digital identity system
- Provide consisten user control of digital identity
- Replacement of password-based Web login
- Improve user confidence in the identity of remote applications
- WCS implements an intuitive user interface for working with digital identities
- Essentially a Digital locker containing the available virtual “ID Cards”
How does WCF work??
- Follows the “software as a service” model, where all units of functionality are defined as services
- A WCF Service is a program that exposes a collection of Endpoints. Each Endpoint is a portal (connection) for communication with either clients (applications) or other ?services?
- Enables greater design flexibility and extensibility of distributed systems architectures
- A WCF application is represented as a collection of services with multiple entry points for communications
WPF (Windows Presentation Foundation —- Formerly Avalon)
What is WPF??
- The new graphical subsystem of Windows (Managed)
- Included with Vista
- Available for Windows XP SP2 and Windows Server 2003 SP1
- Provides a consistent programming model for building graphical applications
- Using a Markup language (XAML) and (or) .NET Code
- Works for both Desktop and Browser based applications
- Enables richer control, design, and development of the visual aspects of Windows programs
- Provides support for
- 2D and 3D graphics
- Fixed and adaptive documents
- Vector graphics
- Raster Graphics
- Animation
- Data-Binding
- Audio
- Video
- Provides support for
How to work with WPF??
- New Toolset Developed by Microsoft for working with WPF
- Microsoft Expression Suite
- Expression Graphic Designer
- Used for creating Vector and Pixel based graphics
- Expression Interactive Designer
- Used for creating Advanced, Intuitive Graphical Interfaces
- Expression Web Designer
- Used for creating highly standardized Web Sites
- Expression Graphic Designer
- Microsoft Expression Suite
- A WCF application is represented as a collection of services with multiple entry points for communications
WPF (Windows Workflow Foundation —- Formerly WWF)
What is WF??
- Enables Business processes to be expressed graphically and linked directly to the business logic
- Programming model, engine, and tools for quickly building workflow enabled applications on Windows
- Provides a set of general-purpose activities that cover most control flow constructs
- Workflow can be expressed in either declarative XAML or in imperative code using any .NET-targeted language
- Workflows can be developed visually through Visual Studio Designers (drag-drop)
That should just about do it; as far as a quick overview of the WinFX (.NET 3.0 Framework). As you can see, WinFX is a fairly inclusive SDK that is designed with the idea of fostering more ?managed code? development around the Windows platform, through the use of robust APIs and libraries.
Now, let’s review AJAX
- AJAX Overview
What is AJAX??
- First thing to note:
- NOT a Microsoft technology
- AJAX stands for
- Asynchronous Javascript and XML
- Ajax is a Web development technique for developing interactive web applications
- Essentially reduces a Web Page?s need to refresh/reload after each user action
- Is intended to make web pages feel more responsive: (like a desktop app)
- Exchanges small amounts of data with the server to eliminate Post Backs (Page Refreshing) for every action
- Increases a Web Page?s interactivity, speed, and usability
How does AJAX work??
- The AJAX technique uses a combination of technologies in it?s implementation:
- XHTML (or HTML), CSS Cascading Style Sheets)
- Used for marking up and styling data for display to the user
- Client-side scripting language (usually JavaScript)
- Used to dynamically display and interact with the information being presented
- XML
- Used as the means for transferring data between the server and the client during the communications
- Defines the transport protocol (the Pipeline)
- XHTML (or HTML), CSS Cascading Style Sheets)
As you probably guessed by reading the descriptions for AJAX; these techniques can be used without the need for any additional Microsoft applications for support. In essence anybody with the a good text editor and the ability to publish a web-site can develop AJAX enabled web applications. However, Microsoft is putting together an offering that is being tagged as Making AJAX development easier and more robust. Hence the onset of Atlas (yet another acronym)!!!
Finally, let’s quickly discuss Atlas
What is Atlas??
- Atlas is a package of Microsoft technologies with some specific objectives
- It is designed to allow easier implementation of AJAX in Web Application Development
- This package (framework) is meant to Apply and extend the AJAX approach to Web Development
- It allows for the implementation of AJAX enabled Web Applications built on the .NET Framework
How does AJAX work??
- Atlas provides a set client-side script libraries as an extension to ASP.NET
- Is said to work with IE, Firefox, Mozilla, and Safari
- With no modifications
To wrap up the AJAX / Atlas Overview, I am going to mention a couple of popular AJAX enabled Web Applications already in widespread use. You have probably either already used them or have most certainly heard of them.
Examples of AJAX enabled Applications??
- Microsoft Virtual Earth
- Outlook Web Access (OWA)
And there you have it. A fairly high level quick overview of the technologies surrounding WinFX and AJAX that are on the horizon from the Microsoft camp. Hopefully the information that has been provided in this post will help to give a better understanding of some exciting new technologies, as well as decipher the hidden meanings behind the shroud of acronyms that are currently plaguing the technology sector. All good stuff, yet sometimes confusing and hard to grasp without knowing where to start.
Some final thoughts:
I personally am excited about the advent of all the up and coming technologies, even though at times I have no idea how I am going to get ahead of the curve for getting up to speed on this stuff. In any case this is definitely an exciting time to be involved in technology and it is easy to see that the industry as a whole is gearing up for another big shift. If Microsoft’s gamble pays off by rolling out the host of software that is currently baking, and adoption of these new technologies is “relatively” quick and widespread, then we could all be in for an exciting ride of new, innovative applications that we will get to build and use; and that is the “fun stuff”.
So, buckle up and enjoy the ride. ![]()














April 11th, 2008 at 1:58 pm
really a good note