This content originally appeared on DEV Community and was authored by Peter + AI
Note: This blog post was created with AI assistance.
π― What Are Global Objects in Uniface?
Global objects in Uniface are reusable components that can be accessed throughout your entire application. Think of them as shared resources that multiple parts of your program can use, such as common functions, procedures, or data structures.
πΎ Where Are Global Objects Stored?
Uniface stores global objects in two main locations depending on whether you're developing or deploying your application:
During Development π οΈ
All object definitions, including global objects, are stored in the Repository. This is Uniface's central database where you define and model your application components.
When you compile your objects during development, they are stored in a location specified by the $RESOURCES_OUTPUT
setting. This compiled version is used for testing and debugging.
Example:
$RESOURCES_OUTPUT = C:\MyApp\Resources
This tells Uniface to put compiled objects in the C:\MyApp\Resources
folder.
In Production π
For deployed applications, compiled global objects are stored in UAR files (Uniface Archive Resources). UAR files are optimized containers that improve performance significantly.
Why UAR files? They make your application run faster because the compiled code is packaged efficiently for quick access.
β‘ Performance Tip
While it's technically possible to compile directly to a UAR file during development, this approach has a performance penalty. The recommended workflow is:
- Develop and compile to the
$RESOURCES_OUTPUT
location - Test and debug your components
- Create UAR files for deployment using the Uniface Resource Manager (URM)
π§ Working with UAR Files
Uniface provides the Uniface Resource Manager (URM) tool to create and manage UAR files. This tool allows you to:
- Package compiled global objects into UAR files
- Organize objects into different archives
- Distribute parts of your application separately
Example Use Case:
Imagine you have a large application with different modules:
-
customer_management.uar
- Contains global objects for customer handling -
inventory.uar
- Contains global objects for inventory management -
reporting.uar
- Contains global objects for reports
This modular approach makes it easy to update individual parts of your application without affecting the entire system. π
π Benefits of Storing Global Objects in UAR Files
- Modularity: Distribute application parts separately
- Performance: Optimized storage for faster runtime access
- Organization: Group related objects together
- Easy Updates: Replace individual UAR files without redeploying everything
- Visibility: Objects remain separate and identifiable
π‘ Best Practice
When organizing your global objects, group them logically based on application functionality. Put the global objects that belong to a specific module in the same UAR file as the other components of that module.
Example Structure:
MyApplication/
βββ customer_module.uar
β βββ CustomerGlobalProcs
β βββ CustomerComponents
β βββ CustomerValidations
βββ order_module.uar
βββ OrderGlobalProcs
βββ OrderComponents
βββ OrderValidations
π― Key Takeaways
- Global objects are stored in the Repository during development
- Use
$RESOURCES_OUTPUT
for development compilation - Deploy using UAR files for optimal performance
- Use URM to create and manage UAR files
- Organize objects modularly for easier maintenance
Understanding how Uniface stores and manages global objects helps you build more efficient and maintainable applications! π
This content originally appeared on DEV Community and was authored by Peter + AI

Peter + AI | Sciencx (2025-10-05T06:43:19+00:00) π¦ Understanding Global Objects Storage in Uniface 10.4. Retrieved from https://www.scien.cx/2025/10/05/%f0%9f%93%a6-understanding-global-objects-storage-in-uniface-10-4/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.