Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Using Citrix with VFP 9 App
Message
De
07/09/2017 18:10:18
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Installation et configuration
Divers
Thread ID:
01653907
Message ID:
01654112
Vues:
60
>>>>>>>>Citrix allows a user to connect to a remote desktop. This remote desktop is a virtual desktop that is generated by the Citrix server. Since this is a generated desktop for each user, it can be customized for the applications that each remote user will use. In your case it is VFP with the associated libraries. This also includes any other dependencies such as active-x components, app files (such as FoxyPreviewer), and the VFP runtime support files. These virtual desktops also need to be able to connect to a common share drive for the databases (if DBC/DBF) or to the SQL server.
>>>>>>>
>>>>>>>Greg,
>>>>>>>If you don't mind, I would like to clarify something (anybody can input, please chime in). Does the VFP application actually run on the Citrix server or on the regular PC/desktop that uses the Citrix server? I am trying to understand if the memory and CPU on the PC/desktop is important or only the RAM and CPU on the Citrix desktop is important?
>>>>>>>Thank you.
>>>>>>
>>>>>>runs on the server and beefing it up is way to go
>>>>>
>>>>>I understand that beefing up the server will improve the performance.
>>>>>But my question is whether the RAM and CPU of the PC/desktop plays any role and if yes, to what extend.
>>>>
>>>>Think of the desktop as a old-style (nearly) dumb terminal into big iron. Needs ONLY to display the GUI sent from server - as long as the machine is not taxed by that, you will feel no real benefit. Depends of course also on the window size and amount/speed of changes sent from the server...
>>>
>>>Thank you. This explains it clearly. Therefore, I now need to tell the Citrix people how much memory they need to have on the Citrix server to run the VFP application. I will tell them a minimum of 2 GB. And any CPU that provides a good performance with Windows 7 or 10.
>>
>>If you're dealing with experienced Citrix installers you should probably be providing them with other information that is likely more useful to them:
>>
>>- Peak actual RAM memory usage by your VFP app
>>- Peak CPU utilization is actually easy - it's always 100% - but since VFP is essentially single-threaded then it can only use 1 CPU core
>>- Highly important: how many people will be simultaneously using the app on the Citrix server, and how many of those will be simultaneous *active* users
>>- Does your app have any other prerequisites such as SQL Server, do they also have to run on the Citrix server, and what resources do they use?
>>
>>With that kind of information the Citrix installers can recommend a suitable server - CPU, RAM, disk etc. Or you can get an idea for yourself, you can Google [citrix server sizing tool].
>
>First, thank you for your input.
>
>I am copying your important point:
>>- Highly important: how many people will be simultaneously using the app on the Citrix server, and how many of those >will be simultaneous *active* users
>
>This is something that I don't know. It could be up to 20 people who will simultaneously be using the application. How *active*, I don't know.
>But do I understand correctly that it would be like running 20 copies of my VFP application on my PC?
>Another *unknow* for me is the following. On a PC/notebook, the application can be loaded only once. That is, I use some old code that checks if the application already runs and does not start it again.
>I am confused then as to how it will run on the Citrix server. If user 1 starts the application, does it mean that user 2 will use the same instance of the application, under the same credentials as user 1?

There are 2 general ways to check if an app is already running:

- Launcher/API calls to see if the app EXE name is already running (good)
- Writing rows to a VFP table somewhere; if row(s) already exist, don't allow startup (problematic)

If you're using the second technique and the table is in a fixed, non-profile location such as C:\MyAppFolder\MyControlTable.dbf then you will have a problem running on Citrix, because although the desktops/sessions are all separate, the fixed location is the same for all of them.

Otherwise, your "old code" should be OK, and prevent each of the 20 users from opening more than 1 instance of your app in their individual sessions - which is a good thing.

Each of the 20 remote desktops/sessions are separate from each other. Your "old code" can only see its own session, it can't know anything about anyone else's session. If Alice has it open in her session, that doesn't stop Bob from opening it in his (except for the special case above). Your code will prevent Alice or Bob from opening a second instance of your app in their sessions.

It's very important in a TS/Citrix environment that each separate user with their own desktop/session running your app have a separate user account on the Citrix server. You don't want multiple users sharing the same Citrix account.
Regards. Al

"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov

Neither a despot, nor a doormat, be

Every app wants to be a database app when it grows up
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform