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
0 comments