Citrix MetaFrame is widely used today to provide users with access to critical business applications via server-based computing and Terminal Server technologies. However, now that Microsoft’s .NET application strategy is beginning to mature, many people have openly wondered about the future of Citrix and their MetaFrame product line. How will Citrix MetaFrame fit into a .NET world, given that .NET applications inherently contain many of the features that make Citrix attractive in the first place?
This paper is not yet another feature-by-feature comparison of Citrix MetaFrame and Microsoft Terminal Server. Instead, it focuses on the fundamental application delivery architectures and the concept of server-based computing versus .NET applications.
Application Access and Usage Challenges
Before we can fully analyze whether future applications will be accessed via server-based computing (Citrix MetaFrame) or Microsoft’s .NET technology, we need to identify the core business issues that these technologies solve. There are six major challenges that must be addressed when deciding how end-users will access their critical business applications:
- Application installation and configuration.
- Prerequisites and requirements of client devices.
- Bandwidth requirements.
- Application compatibility.
- Application access from outside the firewall.
Citrix and Microsoft each address these challenges in their own unique ways. Let’s look at how each does it, beginning with Citrix.
How Citrix Addresses Traditional Application Challenges
Microsoft Terminal Services allows existing 32-bit Windows applications to be accessed via remote devices. Even though Citrix MetaFrame extends and adds to Terminal Services’ capabilities, MetaFrame leverages the same fundamental application architecture. Therefore, for the purposes of this discussion, the two key elements of Citrix MetaFrame’s technology are:
- 32-bit Windows applications can be used from any platform.
- Applications do not need to be installed locally on client devices in order to use them.
How Microsoft .NET Applications Address Traditional Application Challenges
Microsoft’s .NET strategy describes how components will exist and work together using the Internet, web services, servers, and many different types of client devices. This strategy is being implemented through the release and sale of several Microsoft products. Microsoft’s .NET strategy is made up of four types of components:
- XML Web Services.
- .NET client devices. (Microsoft-based devices with the “.NET Framework” client software loaded, which can be Windows CE.NET, Windows 2000, and Windows XP.)
- Servers. (Windows 2000 Server, Windows Server 2003)
- Development tools. (Visual Studio.NET)
From an application access and usage standpoint (i.e. the purpose of this paper), applications written for “.NET” have several features, including:
- Drag and drop application deployment.
- No application conflicts (automatic side-by-side DLL versioning, etc.).
- No manual client application installation.
- Applications do not need to modify the client registry.
How does .NET relate to MetaFrame?
Based on the above key elements of Citrix’s MetaFrame product and Microsoft’s .NET strategy, it’s easy to see that there are similarities between the two.
Similarities between Citrix MetaFrame and Microsoft .NET Application Architectures
- Client devices must have client software installed in order to access applications. (The
- ICA client for MetaFrame and the “.NET Framework” for Microsoft .NET.)
- Users can run new applications simply by accessing a URL.
- Users can run applications without manually installing them on their client devices.
- The client software works on many different types of devices.
- Both strategies focus on “anytime, anywhere” (ubiquitous) access to applications.
However, these similarities are more coincidental than planned. This comes from the fact that both architectures are trying to solve the same business problem (access to applications). Citrix created an ingenious “retrofit” solution that provides ubiquitous access to legacy Windows applications, and Microsoft designed a new solution from scratch that provides ubiquitous access to future (i.e. .NET) Windows applications.
Primary Difference between Citrix MetaFrame and Microsoft .NET Applications
Citrix MetaFrame is a solution that provides ubiquitous access to legacy applications, whereas Microsoft .NET is a solution that provides ubiquitous access to future applications.
Citrix MetaFrame or Microsoft .NET?
Given the fundamental differences between MetaFrame and .NET applications, we can begin to think about how each solves (or doesn’t solve) our business application access needs.
Advantages of MetaFrame Applications
The client software is smaller. (~4MB for the ICA client vs. ~22MB for the .NET Framework)
Many client devices and platforms are supported, including non-Microsoft solutions such as Java, UNIX, Linux, and Mac.
Disadvantages of MetaFrame Applications
MetaFrame applications execute in their own silos. The only integration that multiple applications have with each other is “cut” and “paste.”
100% of application execution occurs on the server, and applications cannot be used if connectivity to the server is lost.
When compared to Citrix MetaFrame applications, Microsoft .NET applications also have advantages and disadvantages.
Advantages of .NET Applications
They can be executed from the device’s cache, without connectivity to a server.
They can interact with other web services and applications.
Developers have a lot of control over the screen. For example, .NET applications can be smart enough to display a different user interface when running on a PDA or a full computer.
Disadvantages of .NET Applications
A critical mass of developers and applications is needed.
Only Microsoft client devices are supported. (Although third-party and/or open source initiatives may change this very soon.)
Looking out a few years, it’s easy to think that the whole world is moving towards “smart” XML–enabled applications, and that MetaFrame (and therefore Citrix) is doomed because it focuses on legacy Windows applications. However, this doesn’t necessarily have to be the case.
The Evolution of Citrix Server-Based Computing
Even though Citrix began life as a company that provided remote access to Windows applications, they are looking forward to a bright future.
- Citrix has a least a few good years left with their current MetaFrame architecture. Most of the .NET development components were not released by Microsoft until 2002. It will take a while for the development community to begin producing true .NET applications. Also, true .NET applications require substantial XML web services infrastructure which will take some time to put in place.
- Citrix purchased an XML web portal company called Sequoia. Citrix is now beginning to integrate true XML services into their existing technology. This was first be seen in their “NFuse Elite” product portals—portals that will drive the future of NFuse.
- Citrix has perfected the technology that allows applications to execute in one location while providing a user interface in another location. There will always be a need for this technology, even in the .NET world.
- Citrix applications will continue to evolve, and the Citrix middleware software will become smart enough to know what type of data is contained in the applications that are executing. For example, in today’s environment, MetaFrame XP is very good at allowing users to connect to applications via the ICA protocol. The ICA protocol allows users to see the content of their applications, but it doesn’t allow them to be able to do anything with that content (other than cutting and pasting it). In the future, the ICA protocol will be able to work with and understand the data from ICA applications, interfacing it with other portals, users, systems, and XML web services.
- Citrix MetaFrame will become more “.NET-ified,” essentially becoming a .NET XML web service. Citrix XML web services will authenticate users and describe what content is available. This will allow for dynamic and ad-hoc applications sets.
- Citrix will continue to develop their online and real-time collaboration projects, such as MetaFrame Collaboration Server (“Project Pearl”) The need for real-time integration will always exist, and Citrix will be in a great position to offer it.
Even though many people believe that Citrix competes with Microsoft in the “server-based computing” arena (i.e. Citrix’s ICA protocol versus Microsoft Terminal Server’s RDP protocol), the future “competition” will be between Citrix’s server-based computing model and Microsoft’s .NET application model. It’s a forgone conclusion that Microsoft will continue to develop RDP. Even today it offers high resolution, shadowing, and drive mapping. It will eventually offer seamless windows and application publishing. Since RDP will continue to mature, Citrix’s “killer app” functionality in the future will not be its ICA protocol.
Citrix has publicly stated that they are embracing .NET. The question is not “whether” they will. Rather, it’s “how” they will. Citrix and Microsoft will continue to be strategic partners—not competitors. Citrix software will continue to provide users with ubiquitous access to their applications, content, and data well into the future.