This article was brought to you by the guys from VDF-GUIdance.
For more DataFlex targeted articles see http://www.vdf-guidance.com


Citrix and Visual DataFlex

by Filip Huwaert

Summary

A paper about Citrix Metaframe and how to use it with Visual DataFlex.
No Files Available
Date Created: 12/08/1999
Date Updated: 12/08/1999
Author: Filip Huwaert
Company: Soft-Naert


Citrix and Visual DataFlex


by Filip Huwaert

What is WTS ?



Windows Terminal Server (WTS) is an extension to Microsoft Windows NT server (version 4.0), wich allows WTS clients to connect to the WTS server and run applications on that server.

The difference between WTS and a normal Windows NT server is that with a normal NT server the application may be loaded from a share on that server but actually runs using the workstation processor, memory and disks.

In a WTS environment the application(s) run using the WTS's processor, memory and disk, while its keyboard, screen and mouse I/O for that application takes place on that WTS client.

This way of working is also called the "Server-based Computing Model" .

So, WTS is a true multi-user operating system, wich allows multiple concurrent users to log and run applications in separate, protected sessions on a single server.

What is Metaframe (also called Citrix) ?



Metaframe is a software package that runs on WTS. Installing Metaframe extends WTS with the following functionalities :

  • Additional clients (E.G. Dos, Mac, CE2, etc.)
  • Support for multiple Lan protocols (E.G. IP, IPX, SPX, NetBeui)
  • Ica protocol for use in low bandwith environments
  • ALE for embedding and launching applications from web pages
  • Application publishing
  • Automatic client update
  • Load balancing
  • Session Shadowing
  • Secure ICA
  • Seamless user experience
  • Speed screen
  • Sound
Note that whereas WTS is available for both intel and alpha platforms, metaframe is only available for intel.

A few of these benefits more in detail :
Bandwith- Independent Performance

Ica, the unique Citrix server-based computing protocol, typically consumes between 10 and 20kb per second of network bandwith and is optimized for connections as low as 14.4 kbps. Therefore, ervery remote user can experience connections as low as 14.4 kbps. Therefore, every remote user can experience LAN-like performance, even with 32-bit applications over analog or ISDN modems, WAN's or the internet.
Seamless Desktop Integration

With metaframe, users gain complete access to local system resources such as disk drives, printers, ports, audio and the windows clipboard, even though applications are running remotely on the server. Conseqeuntly, users get the familiarity of their local desktop. Starting a local application is as easy as starting a remote application ( he doesn' see the difference) by double clicking a familiar desktop icon.

Additionally, users can enjoy the benefits of local printing, local file access, and the ability to cut, copy and paste between local and remote applications.
Any Client Device

Metaframe extends to virtually any client device trough the use of Citrix ICA Client software. Client devices include 286, 386, 486 and pentium based Pc's, windows based terminals, network computers, wireless devices, ICA-based information appliances, Apple macintosh systems, UNIX - based computers and X-based devices. Metaframe suppoprt all types of windows clients WVW, Windows95/98, Windows NT en Windows CE. Metaframe also supports Dos, UNIX,OS/2 Warp, MAC OS and Java clients.
Server requirements

Because the aplications run on the server, is the choice of the hardware verry important. The exact hardware requirements depend primarly on the number of users and applications there will be running on the server. This is what you must have in mind :

Configuration Task-based Typical Advanced
Single Pentium 25 15 8
Dual Pentium 50 30 15
Quad Pentium 100 60 30

A Task based user typically runs a single application that is not processor intensive. An example of this may be a terminal emulator

A typical user maybe run two applications that are not processor heavy (such as a spreadsheet or word processor) but only active at one applictaion at a time. Users that require OLE for their operations will be classed as advanced users.

An advanced user will typically run 3 or more applications simultanously and more than one of these applications will be processing at anyone time.
Memory requirements :

For the base operating system : 64 Megabytes

For each Task Based User : 8 Megabytes

For each typical user : 16 Megabytes

For each power user : 24 Megabytes

Installing applications on metaframe 1.8



  • Check if there are home folders created for the users. The application compatbibility script will ask for it.
  • Applications should be installed and shared on metaframe servers so that multiple users can have access those applications with private settings. The add/remove programs utility in the control panel can install an application for multiple users or a single user. So, use the add/remove programs utility in the control panel to install the application.
  • Determine if an application compatibility script exists for the application installed.
  • Run the application compatibility script and perform any additional steps specified in the application notes.

Installing Visual Dataflex applications on metaframe



  • Create home directories for the users (Application compatibility scripts needs them)
  • Make a installationprogam for your application (using Wise or InstallShield)
  • Install your application with the Add/Remove programs utility from the control panel. Use the option "All users begin with common application seetings"
  • For the shortcut to your application use the "c:\vdf5\bin\dfrun.exe regkeyname" notation.
I have the experience that when I use the shortcut directly to my program and 
I have multiple users running my application on a metaframe server, it doesn't work. 
Only one user was allowed using my application.


  • When you use crystal as reportwriter, and it doesn't work, give your users "Print Operator rights" .
  • If You use Winql (16 bit) as reportwriter. You must copy the runtime in the corresponding home folders of the users.
  • If you use btrieve and you need the 16bit requester (winql). Check if the 16 bit requester is working (using installscout win16). If it is not working, copy the runtime files of the 16 bit requester to the home directory of the users.