On Center Home | MyOnCenter Portal | REQUEST A DEMO | CONTACT | SALES: 1-866-627-6246
 
 
Advanced
How to Use Search Effectively
Login


Tools Add
Table of Contents

Using Azure, Citrix, Remote Desktop and other Virtualization Solutions with On Center's Classic Products - OST QB DPC

Reference Number: AA-00279 Views: 8659 Created: 01/14/2016 03:41 pm Last Updated: 05/02/2019 11:19 am 0 Rating/ Voters

Many of our clients ask us about virtualization and running their products over Azure, Citrix, etc. Let's look at some of those questions:

Note
For the rest of this article, we are going to assume you understand what is meant by virtualization and you are looking for information on implementing or troubleshooting virtualization in your organization.

What are Virtualization Solutions?

You may hear the terms Azure, Citrix, Remote Desktop, VMWare, Parallels, but may not understand what is meant or how you would use them with regard to your takeoff and estimating products.

Azure, Citrix, Remote Desktop all solutions that allow a company to "virtualize" computers, servers, and applications to make distributing, maintaining, and upgrading those systems easier and more cost efficient. For more information on "virtualization", see related articles.

The biggest difference between Azure and Citrix or Remote Desktop (or other on-premise systems) is that Azure allows you to virtualize in the cloud. You don't even have to maintain servers on your end to host the virtualization - Azure does it all. There are other cloud-based virtualization solutions similar to Azure such as Amazon Web Services and Google Cloud. ConstructConnect does not endorse any particular virtualization solution or method.

Another consideration is what are you virtualizing? 

  • You can virtualize a user's entire desktop experience (Windows 10, for example) and use "thin clients". They may not have a real Windows PC in front of them, or it is very basic, low-powered one, simply to connect to the network. They connect to this remote desktop and work in it - just like they would their physical desktop including most installation tasks.
  • You can virtualize and distribute/publish just the applications. Citrix and Remote Desktop servers are the leaders in this. The apps get installed on the server and the users run a copy of that application in a remote session. 

Remote access environments can be configured to run over a local network (within an office with the server located on-site) or over a VPN or WAN.  This allows remote users to benefit from software they may not otherwise have access to - your IT department could allow a very remote user access to your business systems without having to install or license the product on their physical computer.

Can I Install Apps in Virtual Environment or Distribute/Publish Them?

  • Oasis Products - Yes and No. The program is designed to run on a desktop operating system and to be installed in each user's App folder. This does not work if you are publishing the application only, it simple cannot be installed and run in a Citrix-type published manner. If you are virtualizing the users' entire desktop environment, depending on the virtualization solution, running Oasis Takeoff should work. But with Oasis, all data is stored in the Cloud and each user always has to update his or her installation of the software individually when updates are pushed so the benefits of virtualization are reduced or unnecessary.
  • Classic Products - Yes, but we cannot provide technical support or assistance with configuring or troubleshooting network environments or virtual/sharing environments. We do not test or certify the applications for use in a remote desktop or published-application environment and cannot guarantee the program will provide acceptable performance or suitability to your company's needs when used in this manner. Our experience with those customers who have virtualized On-Screen Takeoff, Quick Bid, and Digital Production Control in either Azure, Citrix, or some other  remote-access environment provided the information this article. This article is provided as a general guideline based on our observations, only, and must not be considered a substitute for the expertise a qualified IT professional experienced in setting up remote/distributed environments and applications.
    • For Classic products released after 1/1/2018 - Server Codes cannot be used in Citrix/TS/RDS environments. You must use a Local License Key to activate the software in a distributed environment.
Note
For the rest of this article, we may refer to Azure or Citrix, but the concepts are the same. Also, for the remainder of this article, it is assumed that the Classic Products line is being used because Oasis Takeoff is not supported in any remote-desktop type environment.

Due Diligence

It is your company's responsibility to determine which applications are suitable for installation/publishing in a remote access environment.  On Center Software, Inc. is not responsible for ensuring applications will perform acceptably in every environment/situation nor do we guarantee that they will perform acceptably in your particular environment.  This is where a qualified IT professional who has experience with remote desktops comes in - they can help your company develop a plan of action that meets the needs of the organization and the end users.

Resources

Each user session (each person who fires up a remote desktop or launches a distributed/published application) draws resources from the server providing the remote access services. It's important that your IT department keep this in mind when setting up/building the server.  As an example only, let us say we are configuring a server to publish On-Screen Takeoff to a maximum of five concurrent users. Based on current System Requirements (2/2018), on top of the system requirements to run your server operating system, the minimum additional hardware requirements for five simultaneous users, are:

  • Multi-core processor(s) (On-Screen Takeoff is a graphics-intensive program and taxes the CPU when rendering plans and calculating takeoff results)
  • At least 20 GB RAM over and above the RAM required to run the OS (this only provides each user with a virtual desktop with 4GB of RAM, this barely meets minimum requirements for OST - 8GB per user would be better)
  • Sufficient storage space for each user's temporary files .  When using a remote desktop solution, no data should be stored on the Citrix/Remote Desktop server's hard drives - only remote, SQL databases should be used, next bullet point.
  • Databases and image files must be stored on a separate server (SQL Server should be used for all remote access applications, see CLS - Using SQL with Classic Products).  Do not use "local" (local to the user's remote desktop session) Access databases.  
  • Your Citrix server should be a dedicated machine and should not be providing other services such as license management, SQL database server, or e-mail servicing, as examples.

Additional concurrent users require additional hardware resources (added RAM, a more powerful processor, etc.).

For assistance with hardware needs/configuration, contact an IT professional who is certified in the remote access software you have chosen.  On Center Software does not provide this type of software nor do we provide consulting services for configuring these environments.

Note

Even with the most top-of-the-line server and network, end users will notice some performance lag. How much?  That depends on just how robust your setup is, but if you and your IT professional optimize your configuration, the lag should be minimal and acceptable to most users.

How do I install the products in a virtualized environment?

This depends on if you are distributed the applications through a product such as Citrix or Remote Desktop or if you are virtualizing the users entire desktop experience.

Distributed/Published Apps

Using Windows Control Panel on the virtualization solution's server, you 

On-Screen Takeoff and Quick Bid are installed on the virtualized server itself.  Installation of On Center Software applications into a Citrix Server environment may require steps that are different from the standard workstation installation instructions provided by On Center Software.  Only a qualified IT professional should install the applications to ensure that appropriate steps are followed for your particular environment.  Once installed, the applications are “Published” so that users will be able to access them.  Please remember, On Center does not provide technical assistance with configuring Citrix or publishing applications.

Remote Desktops/Virtual Desktops

If you have virtualized a user's entire desktop environment, he or she can install the applications "locally" on that desktop. They will update and maintain the installation, just as if the products were installed on their physical computer. (This is not the recommended scenario.)

Alternately, and what makes more sense and what we recommend, if you are going through the effort of virtualizing your users' desktop environment, put in the extra effort and set up their applications as distributed/published apps (above). This way, you (the IT person) can control which versions they are using and do all the application maintenance necessary. 

Regardless of the method you use for virtualizing the applications, it is vital that you do not store databases or images to the users virtualized workspace, the virtualization server, or the users local machine. 

Licensing

The version of the Classic products you install dictates how you can license your product(s).

Products released after 1/1/2018

Products released after 1/1/2018 can be licensed using Local Keys or Server Codes. See Licensing Classic Products Released after 1/1/2018 - OST DPC QB.

Products released prior to 12/31/2017

On-Screen Takeoff/Digital Production Control version 3.94.02.21 and lower and Quick Bid version 4.96.0.12 cannot use "local" licenses when installed in any virtual environment. To license these versions in any virtual environment, you will need to use a network (license manager) license. The system requirements vary a little, based on whether you are installing the license manager on a physical server or on a virtual Windows server. See Related articles for more information on ELM. The License Manager must be installed on a different server - this can be a standalone server or a central data storage server - as long as it is separate from the server providing your remote desktops.  Users are restricted to "Floating" licenses when the products are installed in a Citrix environment. "Borrowing" is disabled within the program itself, by design.

Warning
It is a violation of the Electronic End User License Agreement (EULA) to use On Center products in any manner which attempts to or successfully circumvents licensing security restrictions.  Violations can and will be prosecuted to the fullest extent of the law.

Data Storage (Databases and Images Files/Plans)

By default, On Center Software applications use a Microsoft Access database stored in "C:\OCS Documents\<application>" and creates image folders for planroom projects in that directory also. This is not an acceptable solution when using a remote desktop/published-application environment.

  • Databases - To ensure adequate performance, stability, and security, you must use SQL Databases instead of the standard Microsoft Access databases. The SQL server should be a separate machine as there are extensive data read-writes involved with our software (image movements, performing takeoff, storing values, etc.). For more information on implementing SQL, see Related articles.
  • Image Files/Project Plans - Image files (plans, drawings, whatever you call them) should not be stored within a user's virtual environment, although they can be stored on the virtualizing server if necessary. There is not a lot of server activity involved with storing image files, but if you are going through the trouble of virtualizing desktops and applications, do it right the first time and put users' projet plans/image files on a stand-alone image repository server.

There are several reasons for de-centralizing your applications and your data. One of the main reasons for storing data on a separate server is to keep it safe from being deleted accidentally. Remember, users are running a session of Windows when accessing a virtualizing server – they are not actually running the software on their physical machine. A session can be reset or deleted and any changes (databases and projects created or updated, files downloaded, etc.) made to that session could be lost immediately and permanently. Again, this is something whoever sets up your virtualizing needs to configure, and not something with which On Center Software provides assistance.

Another reason for decentralization is reducing the chances of a single machine's failure to bring down your entire operations. 

Warning
Never store a working Microsoft Access database on a network drive nor share a Microsoft Access database with other users - your data will get corrupted. 
Note
You can automate database connections in your login scripts - these are simply entries in the HKEYCurrentUser registry hive - analyze the "HKEY_CURRENT_USER\Software\On Center Software\" Registry keys to determine what Registry Keys need to be set when users log in to point them to the appropriate servers.

Performance Concerns

Let's get this out in the open right away. Anytime you are accessing a product over the Internet, its performance is never going to be the same as running the program on your local machine. The Internet is fast, but it does not hold a candle to the internal bus of your computer. That being said, there are things you can do to mitigate some of the performance concerns and issues that your user may encounter.

Because On-Screen Takeoff is a graphics-intensive program, users may experience noticeably reduced performance when running the program in certain remote environments. Especially if they are "panning" (either by moving the page using the Pan tool or by drawing takeoff past the edge of the page so the program Pans the image automatically). Two ways Remote connections may also require limiting the color depth of a user’s display and compressing the images, which results in a loss of detail when viewing plans and can make it more difficult to use the application due to a loss of image quality.  An experienced IT professional who has experience configuring and optimizing Citrix/Remote Desktop may be able to find ways to fine-tune the performance of your environment, but, application performance will always be slightly slower when using Citrix, this is just the nature of using the product over a network.

Best Practices & Suggestions

Examples

Publishing Just the Applications

In the following example, On-Screen Takeoff is installed on the Citrix or Terminal server.  On-Screen Takeoff is pre-configured to pull a license from the license manager on one server, the database (SQL, of course) is stored on another server, and Bids are pointed to image files stored on a third server.  You can automate database connections in your login scripts - these are simply entries in the HKEYCurrentUser registry hive - analyze the "HKEY_CURRENT_USER\Software\On Center Software\" Registry keys to determine what Registry Keys need to be set when users log in to point them to the appropriate servers.

When a user logs in to the Citrix and opens On-Screen Takeoff, the software pulls a license from the license manager and opens the database from the data server.  When another user logs in and opens his or her session, a separate license is pulled from the license manager, and they can open whatever database they choose. All application settings are stored in the Registry key noted above and are per-user, not system-wide.

example of published app 

Virtualizing the Users' Desktop Environment

example of virtualized desktop

Note
No matter how you virtualize or what you distribute, you must own sufficient licenses for each concurrent user - each logged in user pulls his or her individual license for the software.

Discussion
  • There is no feedback for this article.
Info kBase Article Feedback

If you need Technical Support or want to submit a Feature Request, click one of the buttons below, do not use this form.

 
request support Request Support submit feature request Feature Request

 

How Does This Article Not Measure Up?

Your full name: Your Email: Your feedback on this article:

 

Something Wrong with this Article? Let us Know! Copyright 2018 - On Center Software, Inc. All Rights Reserved.
Be sure to rate this article 5 stars if you found it helpful!.