Appendixes - Citrix MetaFrame XP

Many people wonder about the future of Citrix and the future of MetaFrame XP. The future is always uncertain, but this uncertainty is heightened by Microsoft's .NET strategy.

A. The Future of Citrix in a Microsoft .NET World

Many people wonder about the future of Citrix and the future of MetaFrame XP. The future is always uncertain, but this uncertainty is heightened by Microsoft's .NET strategy. How will Citrix and MetaFrame XP fit into the .NET world? To think about the future requires an understanding of the future as defined by today's players. In order to understand how the .NET strategy will affect Citrix, let's consider what Microsoft's .NET strategy really is.

Microsoft's .NET Strategy

As the name implies, .NET is a strategy, not a product. It is the strategy that describes how Microsoft components will exist and work together using the Internet, web services, and many different types of client devices. This strategy will be implemented through the release and sale of several Microsoft products. Some of them are out there today. Others are just around the corner.

Let's take a look at some of the main components that make up Microsoft's .NET strategy.

Application Development

From an application developer's standpoint, Microsoft's .NET strategy will change the way that traditional applications are developed, compiled, and deployed. These changes are possible with the release of Microsoft's new application development environment-Visual Studio .NET. There are two significant new features in Visual Studio .NET.

  • Applications that are developed with Visual Studio .NET can be executed on any Microsoft platform, from a Pocket PC to a Windows PC to a smart phone. This allows developers to focus on the content of their applications without needing to worry about how to program for many different client devices.
  • Visual Studio .NET applications can be written in any programming language. Historically, developers had to choose their language and develop applications based on that choice. Visual Studio .NET supports four different languages out of the box-Visual Basic, C++, C# (Microsoft's new version of C++), and J# (kind of like Java, although different enough to not get sued).

Application Strategies

With Visual Studio .NET, developers can create applications that have rich user interfaces without worrying about what type of client devices users have. Historically, developers were forced to write web applications because they didn't know what types of client devices were being utilized. Unfortunately, due to the static nature of the web, most web applications were more difficult to use than their "full client" counterparts (think of Outlook 2000 compared to Outlook Web Access). However, developers had no choice but to write web applications because they didn't know about or couldn't control the client devices. Also, web applications had the advantage of not needing to be "deployed." In order for a user to use a web application, all they had to do was access a web site.

With .NET, full Windows applications are back. Users can run full, rich Windows applications merely by accessing a website. They can access applications without running an "install" program, and without the application touching the client's registry. These applications are full, rich applications that run locally on client devices.

.NET Client Devices

As with almost everything in the computer world, these new .NET applications require that client devices have new client software in order to access them. For .NET client devices, there are three requirements.

  • Operating System. The client operating system must be Windows 98 or newer or Windows NT 4.0 or newer. Additionally, PocketPC will be supported for mobile devices.
  • Web Browser. The client device must have Internet Explorer 5.5 or newer.
  • .NET Framework. The bulk of the client software is called the ".NET Redistributable Framework." This can be thought of as the ".NET client." Just as you need Citrix ICA client software to access MetaFrame XP applications, you need .NET client software to access .NET applications.

Microsoft's vision is that the operating system and client device will be removed from the application access equation, so that everything is abstracted up a level to the .NET redistributable framework. This framework is available as a free download for users (~20MB) and built-in to future versions of Microsoft operating systems. There is also be a "compact" version of the .NET framework that installs onto things like PDAs, smart phones, set top boxes, and the X-Box.

Application Deployment

Historically, application development has only been half the battle. The other half was trying to figure out how to get a newly developed application deployed to your users. For web applications, deployment was simple. All you had to do was copy your files to your web server and send out an email that gave everyone the URL for your application. However, for developers that chose to create applications with full, rich user interfaces, the application (and its related DLLs and supporting files) had to be physically installed on every client device.

In .NET environments, the traditional application deployment challenge is completely removed from the picture. .NET applications can be accessed directly from web servers via Internet Explorer. From a user's standpoint, a .NET application looks and feels the same as any traditional application. This is essentially a "no touch" application deployment. Users can still access the full, rich application, but there are no install or uninstall routines. The registry and system folders are not be touched. Users can access the application via a simple URL.

When a user accesses a .NET web server, the .NET application is dynamically downloaded from the server and executed on the user's client device, similar to a Java application. However, unlike Java applications, the application execution begins on the client device without waiting for the entire application to be downloaded. Any necessary DLLs are trickled down from the server as they are needed (in the background) after application execution begins.

There are no install or uninstall routines for .NET applications. When a user closes his browser, the application is gone. As an administrator, you can configure applications to remain cached on the local client devices so that they do not need to be downloaded every time they are used. You can even configure applications so that they can be executed from the local cache, allowing users to access the applications when they are offline.

The Concept of Web Services

Another advantage of .NET applications is the ability to integrate and interact with other applications and services via XML and the Internet. .NET applications' ability to interact with each other addresses two fundamental problems with traditional applications.

  • Integration. It has been difficult for applications to effectively integrate with one another, especially if each application's developers do not know too much about the other application. In reality, most applications only integrate via a user "cutting and pasting" from one application to another. Even in these cases, application integration only occurs at the local level.
  • Basic Services. Traditionally, developers have had to custom build many rudimentary components of their applications. For example, people who developed web-based shopping applications would have to develop components that contacted shippers and calculated shipping costs. Even though there are probably 10,000 applications that need to calculate shipping, each developer wrote their own shipping routine.

A large part of Microsoft's .NET strategy is XML-based web services. These web services act as the building blocks for .NET applications, allowing them to be distributed and interact with other applications via XML and the Internet. This common service interaction allows any program written in any language running on any computer, to be able to interact with any other. For example, in the web shopping application discussed previously, one company might create a XML shipping service that all of the other 10,000 applications use, with each application sending and receiving data to the shipping module via XML files sent over the Internet.

The Future of .NET

Microsoft executives have said again and again that they are "betting the company" on their .NET strategy. They understand that the key to .NET's success will be getting the application developers to accept and embrace it. However, it will probably take a year or two before the critical mass of new applications are developed on the .NET platform.

Based on this overview, it's easy to see the advantages and disadvantages of .NET applications.

Advantages of .NET Applications

  • They can be executed from the device's cache, without connectivity to the server.
  • They can interact with other web services and applications.
  • Developers have a lot of control over the screen. The applications are smart enough to display a different user interface when running on a PDA or a full computer.

Disadvantages of .NET Applications

  • Unproven.
  • A critical mass of developers and applications is needed.
  • Only Microsoft client devices are supported.

How does .NET Relate to MetaFrame?

Before we look at how Citrix and MetaFrame fit into Microsoft's .NET strategy, let's look at the advantages and disadvantages of the current MetaFrame architecture as it relates to Microsoft's .NET strategy.

Advantages of MetaFrame Applications

  • The client software is smaller.
  • Many client devices and platforms are supported, including non-Microsoft solutions.

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.

Based on this high-level overview of Microsoft's .NET strategy and your understanding of MetaFrame XP, you can easily see that there are a lot of similarities between the two.

Similarities Between .NET and MetaFrame Architectures

  • Client devices must have client software installed in order to access applications. (The .NET Framework for .NET and the ICA client for MetaFrame.)
  • Users can run new applications simply by accessing a URL.
  • The client software works on many different types of devices.
  • Both strategies focus on "anytime, any where" (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 is designing a new solution from scratch that provides ubiquitous access to future Windows applications.

Primary Difference Between .NET and MetaFrame Applications

  • MetaFrame is a solution that provides ubiquitous access to legacy applications, whereas .NET is a solution that provides ubiquitous access to future applications.

When you look out a few years, you can see that the whole world is moving towards "smart" XML-enabled applications, and that MetaFrame is doomed because it focuses on legacy Windows applications.

The Evolution of Citrix

Even though Citrix began life as a company that provides 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, and Windows .NET server is slated for 2003. It will take a while for the development community to begin producing true .NET applications. Also, .NET applications require a lot of 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 will first be seen in their "South Beach" 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.

B. Acronyms Used in this Book

AD
 Active Directory (W2K)
 
ADF
 Application Deployment File
 
ADM
 Policy Template File
 
ASP(1)
 Active Server Pages
 
ASP(2)
 Application Service Provider
 
CA
 Certificate Authority
 
CAB
 Cabinet File Archive
 
CAL
 Client Access License
 
CCC
 Citrix Connection Configuration Utility
 
CDN
 Citrix Developer's Network
 
CMC
 Citrix Management Console (XP)
 
COM
 Component Object Model
 
CSA
 Citrix Server Administration Utility
 
CSG
 Citrix Secure Gateway
 
CSNW
 Client Services for NetWare
 
CSV
 Comma Delimited Text File
 
CUP
 Citrix User Profile
 
CWC
 Citrix Web Console
 
DCS
 Database Connection Server
 
DLG
 Domain Local Group (W2K)
 
DLU
 Dynamic Local User (NDS)
 
DMZ
 Demilitarized Zone (Firewalls)
 
DSL
 Default Server Location
 
EMF
 Enhanced Metafile
 
EULA
 End User License Agreement
 
FMS
 Farm Metric Server (XP)
 
FQDN
 Fully Qualified Domain Name
 
FR1
 Feature Release 1
 
GDI
 Graphics Device Interface
 
GINA
 Graphical Identification and Authentication
 
GPO
 Group Policy Object (W2K)
 
GSNW
 Gateway Services for NetWare
 
GUI
 Graphical User Interface
 
HKCU
 HKEY_CURRENT_USER (registry hive)
 
HKLM
 HKEY_LOCAL_MACHINE (registry hive)
 
IASP
 Internal Application Service Provider
 
ICA
 Independent Computing Architecture (Protocol or File Type)
 
IDS
 IMA Data Store (XP)
 
IIS
 Internet Information Server (NT4) or Services (W2K+)
 
IM
 Installation Management (XP)
 
IMA
 Independent Management Architecture (XP)
 
IMS
 Installation Management Services (1.8)
 
INI
 Configuration File with .ini file extension
 
ISS
 InstallShield Script
 
JAR
 Java Archive
 
JDK
 Java Development Kit
 
JRE
 Java Runtime Environment
 
JSP
 Java Server Pages
 
JVM
 Java Virtual Machine
 
LBS
 Load Balancing Services (1.8)
 
LE
 Load Evaluator (XP)
 
LHC
 Local Host Cache (XP)
 
LM
 Load Management (XP)
 
MB
 ICA Master Browser
 
MDAC
 Microsoft Data Access Components
 
MMC
 Microsoft Management Console (W2K)
 
MSI
 Microsoft Installer File
 
NAL
 NetWare Application Launcher
 
NAT
 Network Address Translation
 
NDPS
 Novell Directory Printing Service
 
NDS
 Novell Directory Services
 
NIC
 Network Interface Card
 
ODBC
 Open Database Connectivity
 
OEM
 Original Equipment Manufacturer
 
OS
 Operating System
 
OU
 Organizational Unit (W2K or NDS)
 
PAM
 Published Application Manager (1.8)
 
PEM
 Personal Electronic Mail
 
PN
 Program Neighborhood
 
PNA
 Program Neighborhood Agent
 
POL
 Policy File (NT4)
 
RC5
 Rivest version 5 Encryption Algorithm
 
RDP
 Remote Display Protocol
 
REG
 Registry Entries
 
RM
 Resource Management (XP)
 
RMS
 Resource Management Services (1.8)
 
RPC
 Remote Procedure Call
 
RSA
 Rivest Shamir Adleman
 
SAM
 Security Account Manager (NT4)
 
SDB
 Summary Database
 
SID
 Security Identifier
 
SMS(1)
 Microsoft Systems Management Server
 
SMS(2)
 Short Message Service
 
SNMP
 Simple Network Management Protocol
 
SP1
 Service Pack 1
 
SPL
 Print Spooler File
 
SQL
 Microsoft SQL Server
 
SRC
 Source INI Configuration File
 
SSL
 Secure Socket Layer
 
STA
 Secure Ticket Authority
 
TSCAL
 Terminal Services Client Access License
 
TSICL
 Terminal Services Internet Connector License
 
TSE
 Windows NT Server 4.0, Terminal Server Edition
 
TSL
 Terminal Services Licensing (Service)
 
TTA
 The TTA Acronym
 
UNC
 Universal Naming Convention
 
VBS
 Visual Basic Script
 
VPN
 Virtual Private Network
 
W2K
 Windows 2000
 
WAN
 Wide Area Network
 
WFS
 File extension for IMS script
 
XML
 Extensible Markup Language
 
XP
 eXtended Platform (not eXtra Pricey)
 
ZDC
 Zone Data Collector (XP)
 

C. MetaFrame Component Configuration

D. MetaFrame XP TCP Ports

E. MetaFrame XP Scheduled Events

F. Websites Referenced in this Book

Active Server Page (ASP) References and Tutorials
www.4guysfromrolla.com

AppSec (Application Security Utility)
ftp.microsoft.com/reskit/win2000/appsec.zip

Brian Madden (Author/Publisher of this book)
www.brianmadden.com

Citrix Demoroom (Live Demos of MetaFrame XP)
www.citrix.com/demoroom

Citrix Developer Network
www.citrix.com/cdn

Citrix Licensing Information
www.citrix.com/licensing

Citrix Product Activation
www.citrix.com/activate

Emergent Online (Citrix Management & Printing Utilties)
www.go-eol.com

FutureLink Canada (Printing Utilities)
www.uniprint.net

Hiddensoft (AutoIT scripting utility)
www.hiddensoft.com/autoit

InstallShield
www.installshield.com

Kixtart (Batch Scripting Language)
www.kixtart.org

LearnCitrix.com (Citrix Certification Practice Exams)
www.learncitrix.com

Mercury Interactive (Loadrunner Sizing Utilities)
www.mercuryinteractive.com

Microsoft Developer Network
msdn.microsoft.com

Microsoft Licensing Information
www.microsoft.com/licensing

Microsoft .NET Home
www.microsoft.com/net

Microsoft Universal Data Access Website (MDAC, Jet, etc.)
www.microsoft.com/data

Norton Ghost (Server Imaging Software)
www.symmantec.com

Novell NDS Client Download
download.novell.com

Packeteer Packetshaper (Bandwidth Management Hardware)
www.packeteer.com

Project-in-a-Box (Doug Brown's Website)
www.dabcc.com

Scapa Technologies (StressTest Server Sizing Utility)
www.scapatech.com

Sitara QoSWorks (Bandwidth Management Hardware)
www.sitaranetworks.com

StorageSoft ImageCast (Server Imaging Software)
www.storagesoft.com

Sun (Java Runtime Environment)
www.sun.com/java

T-scale (Server Optimization Software)
www.kevsoft.com

Techtonik ONEAPP (Audit Logging)
www.oneapp.co.uk

The THIN List (Portal for Thin Client Solutions)
thethin.net

Thin Print (Printing Utilities)
www.thinprint.com

triCerat (Printing Utilities)
www.tricerat.com

TweakCitrix (Rick Dehlinger's Tips Site)
www.tweakcitrix.com

VeriSign Internet Software Distribution Certificates
www.verisign.com/installshield

WinBatch (Scripting Utility)
www.winbatch.com

Willamette (SecurID with NFuse Project)
www.tweakcitrix.com/sections/wilakenz.htm

XML File Editors
www.download.com

 

Start the conversation

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

-ADS BY GOOGLE

SearchVirtualDesktop

SearchEnterpriseDesktop

SearchServerVirtualization

SearchVMware

Close