oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button

Understanding WinFX in Longhorn
Pages: 1, 2, 3

Three Key Pillars of Longhorn: Presentation, Data, and Communication

Longhorn is based on three key pillars -- Presentation, Data, and Communication. The following describes the responsibility of each pillar.


The Presentation pillar represents the way your application interacts with the user (see Figure 9). As mentioned, for Longhorn Avalon applications you should use the System.Windows namespace.

If you are developing applications for the various Windows versions, the Windows Form System.Windows.Forms is still available in WinFX.

For web applications, use the System.Web.UI namespace.

Figure 9
Figure 9. Namespaces for the Presentation pillar.


The Data pillar represents the different ways in which you can access data programmatically (see Figure 10). The familiar ADO.NET stack is still preserved in WinFX and is exposed via the System.Data namespace. A new namespace is added in ADO.NET in WinFX, ObjectSpaces. ObjectSpaces gives an objective view of data in your database server, allowing you to access data through objects.

For WinFS (a modernized version of the current Windows File System) access, use the System.Storage namespace. Notice that there is the System.Web namespace in this pillar, which is used for such features as ASP.NET personalization, caching, and session-state management.

For manipulation of XML documents and data, use the System.XML namespace.

Figure 10
Figure 10. Namespaces for the Data pillar.


The Communication pillar handles the details of communicating with the outside world (see Figure 11). For example, you use the System.Web.Services namespace for consuming and publishing web services. And you use the System.Net namespace for such tasks as network communications and sockets programming.

The System.Collaboration namespace is used for building collaborative applications in Longhorn.

The System.MessageBus provides functionality for Indigo. Indigo is the technology for building Service Oriented Applications (SOA).

Figure 11
Figure 11. Namespaces for the Communication pillar.


Beneath all applications are the fundamental namespaces that support basic functionalities such as string manipulation, security, globalization, etc. The Fundamentals layer is divided into four different groups: Base and Application Services (See Figure 12), Security (see Figure 13), Configuration (See Figure 14), and Deployment/Management (see Figure 15).

Figure 12
Figure 12. Namespaces for Base and Application Services group.

Figure 13
Figure 13. Namespaces for Security group.

Figure 14
Figure 14. Namespaces for Configuration group.

Figure 15
Figure 15. Namespaces for Deployment/Management group.


I hope this article has given you a better idea of what WinFX involves. In a nutshell, it is important to realize that the way to move forward is to get yourself acquainted with the .NET Framework. If you have not started on .NET development, now is the time to do so.

Wei-Meng Lee (Microsoft MVP) is a technologist and founder of Developer Learning Solutions, a technology company specializing in hands-on training on the latest Microsoft technologies.

Return to