Deployment with Uniface archives (uar), question about performance

Author: (gerd)

hello when deploying Uniface with uar files, I am wondering how this will influence the overall performance. as far as I understand, the runtime must read through alle archives during startup to know the table structures, where to find a component etc., ie. alle uars must be opened and the file index (in the file) meaning that the file must be read at least once to access that index part. For a huge application that must have some negative performance impact compared to the classical method where the components could be loaded throug a directory structure or direct database access without the need to read through a lot of files at runtime startup, just the few asn files. It also seems that if the uar files for a windows application are made available on a samba share, this also takes more time compared to putting them on a windows file server. Does anyone has any experience with that ? thank you for sharing your experiences gerd


  1. Well, there is a simple test. Don't use the archive manager to create the uar file, compile /all with $resources_output set to a folder. Then use 'send to compressed folder' to zip up frm,svc,sig etc into one zip file (or more if you like) and rename it (them) to .uar files. You now have an application in both formats. Set up one set of asn files to have [RESOURCES] folderpath and another set to have [RESOURCES] path to uar file1 path to uar file2 ... And run a test. Shouldn't take all that long. Personally we use the uar files because they make it easy to patch our customers. (Ship one uar file for the system, then a new one each time for the programs which have changed in between.) This allows you to put the uar file in place while the system is running and change the adsn to include it, then the next time they start the app the new code kicks in. We actually have a web service which ships the patches from our home server to the customer servers, and then a routine which copies the changes out to the clients, so my patch creation routine has become 1. Zip up all the new programs, rename as a uar. 2. Alter an asn file to include the new patch uar file name. 3. Copy these to the distribution folder on our server. 4. Wait. Simples. Cool

    Author: Iain Sharp (
  2. Hello FiresongKt we also intend to do uar deployment for our app, and have written our tools to automate distribution of the uars with automatic update of the asn files. Works all fine, and the uar certainly is a nice feature with a lot of advantages compared to classic deployment: easy distribution of the application, be able to roll back to a previous version, exactly knowing which version of a module every customer runs, making available a pre-production version to the customer,... What I would like is to understand what internally happens when Uniface makes use of uar files, so that I can decide whever a big uar is better than a lot of smaller ones, or providing patches by a lot of small uars... of course I can spend my time with making tests and guessing whats going on, but I was expecting that others have already done so (or even really know) and could tell me (if Compuware does not provide this information in the help file). This would probably also help us to decide where to put the uars (on a windows file server or a linux samba one, which I would prefer). independantly of that your approach seems interesting and the way you do it easy to reproduce. could be an option for us too. thank you for having explained and shared. gerd

    Author: gerd (