Est. 2008 Intermediate

Uniface 9.3

The 2008 release of Compuware's model-driven 4GL that standardized deployment around zip-based Uniface Archives and added cross-referencing for service-oriented refactoring.

Created by Compuware Corporation (Uniface Lab, Amsterdam)

Paradigm Procedural 4GL, Model-Driven, Component-Based
Typing Declared, with implicit conversion
First Appeared 2008
Latest Version Uniface 9.3 (superseded by Uniface 9.4 in 2010)

Uniface 9.3 is the late-2008 release of Uniface, the Dutch-born, model-driven fourth-generation language (4GL) that Compuware Corporation sold as an enterprise application platform. Arriving between Uniface 9.2 (2007) and the Rich-Internet-Application-focused Uniface 9.4 (2010), version 9.3 was not a flashy release — its headline features were a standardized, zip-based deployment mechanism and cross-reference tooling — but that is precisely what makes it interesting. Uniface 9.3 is a snapshot of enterprise software’s least glamorous and most consequential concerns: how do you ship, patch, and refactor applications that run businesses around the clock in places where no IT staff is present?

History & Origins

The Uniface Lineage

Uniface itself dates to 1984, when the Amsterdam company Inside Automation built a 4GL around the ANSI/SPARC three-schema architecture: describe an application’s data model, rules, and behavior once in a central application model, and let pluggable drivers handle any database, operating system, and user interface. Detroit-based Compuware Corporation acquired the product in 1994 and made it the flagship of its application development business.

The Uniface 9 generation began shipping under Compuware with a first general-availability release planned for December 2006. The 9 line concentrated on GUI and usability improvements, Unicode support for multilingual applications, simplified “thin” deployment using zipped archives, and better integration with web and XML standards. Uniface 9.2, announced in November 2007, pushed the platform onto Microsoft Windows Mobile devices, added Windows Vista support, and rounded out the service-oriented story with XML Schema, SOAP, and WSDL compliance.

The 9.3 Release

Uniface 9.3 was reportedly available by December 2008 as part of the Compuware Uniface Application Platform Suite. Compuware framed the release around three themes:

  1. A single, standardized deployment mechanism. Uniface 9.3 reworked the Uniface Archive (UAR) format around standard zip files with a defined internal structure. Critically, from 9.3 onward an application could run directly from the archive — compiled components, global objects, and descriptors no longer had to be unpacked onto the target machine. Compuware pitched this at organizations operating 24/7 applications in remote locations with no on-site IT personnel.

  2. Cross-reference functionality. New facilities for generating, managing, and reporting cross-reference information showed where components, entities, fields, and procedures were used across an application — tooling aimed squarely at teams refactoring monolithic Uniface applications into service-oriented architectures.

  3. A better mobile interface. Building on 9.2’s Windows Mobile support, 9.3 improved the graphical interface for mobile applications, with techniques to maximize the amount of data visible on constrained screens and user-definable buttons that end users could configure.

Documentation for the release also recorded changes to deployment-related Proc functions, assignment-file settings, and command-line switches — the connective tissue of the new deployment model.

Design Philosophy

Uniface 9.3 inherited, unchanged, the convictions that defined Uniface from the start:

  • The model is the application. Entities, relationships, and business rules live in a central application model; forms, services, reports, and server pages inherit structure and behavior from it.
  • Database and platform independence. Application code addresses the conceptual model; swappable DBMS connectors translate to the physical database, so the same application moves between database vendors and operating systems largely by reconfiguration. Wikipedia’s account of the platform lists Windows, Unix, Linux, OpenVMS, and IBM i among the operating environments supported across the product’s history.
  • Compiled components on a portable runtime. Uniface source compiles into components executed by a runtime engine on each deployment platform, and compiled applications migrate forward across Uniface versions.

What 9.3 added was a philosophy of operational simplicity: if the application is a set of compiled, model-derived components, then shipping it should be as simple as shipping one standardized archive. The zip-based UAR — inspectable with ordinary tools, runnable without unpacking — replaced the proprietary archive format used by earlier versions and became the deployment foundation that later releases, including today’s Rocket Uniface 10.4, still document and use.

The Language: ProcScript in the 9.3 Era

Application logic in Uniface 9.3 is written in the platform’s proprietary procedural 4GL, historically called Proc (today ProcScript). Logic attaches to components, entities, and fields through triggers, and is packaged into operations that can be called locally or remotely — including, in the 9.x era, as SOAP web services. A simple operation looks like this:

operation getOrder
   variables
      string vCustomer
   endvariables

   clear/e "ORDER"
   ORDERID.ORDER = "A-1001"
   retrieve/e "ORDER"
   if ($status >= 0)
      vCustomer = CUSTNAME.ORDER
      message "Order found for %%vCustomer"
   else
      message "Order not found, status %%$status"
   endif
end

There is no SQL, no connection string, and no cursor handling in application code: retrieve/e fetches data for the ORDER entity as defined in the application model, and the configured DBMS connector does the physical work. In 9.3 this language surface was stable and mature — the release’s changes to Proc functions and command-line switches served the new deployment machinery rather than reshaping the language itself.

Lifecycle and Succession

Uniface 9.3 had a well-defined commercial lifecycle. According to Uniface’s published support information for legacy versions, standard support for 9.3 ended in November 2012 and extended support ended in June 2013. By then, Uniface 9.4 (2010) had taken the platform into Rich Internet Applications, followed by the JavaScript API in 9.5 (2011), HTML5 controls in 9.6 (2012), and mobile hybrid apps in 9.7 (2015). True to the platform’s compatibility discipline, applications deployed on 9.3 had a supported migration path forward through these releases — and Uniface’s own migration documentation for later versions still addresses customers coming from 9.3.

The platform around it kept changing hands: Marlin Equity Partners carved Uniface out of Compuware in 2014 as the independent Uniface B.V., and Rocket Software acquired the company in February 2021. The product continues today as Rocket Uniface, with the 10.4 line under active development.

Current Relevance

As a specific version, Uniface 9.3 is long out of support and no longer available for new deployments; there is no Docker image, and the software was always a licensed commercial product distributed through platform-specific installers. Its relevance today is archaeological in the best sense:

  • Its deployment model survived. The zip-based UAR structure that 9.3 standardized remains the documented deployment mechanism in current Rocket Uniface releases.
  • It marks the platform’s SOA moment. The cross-referencing and web services emphasis of 9.2–9.3 captures precisely how early-2000s enterprises were taught to decompose monoliths — a decade before “microservices” made the same argument with new vocabulary.
  • It is a rung on a forty-year ladder. Organizations still running Rocket Uniface today almost certainly passed their applications through the 9.3 era, recompiling and redeploying rather than rewriting.

Why Uniface 9.3 Matters

Most language history is written about syntax; Uniface 9.3 is a reminder that for enterprise platforms, logistics is the product. Its lasting contributions — run-in-place zip archives, standardized resource layout, cross-reference tooling for safe refactoring — are the kind of features that never trend on developer forums but determine whether a business system can be patched at midnight in a warehouse with no IT staff. For the code archaeologist, Uniface 9.3 is a well-preserved stratum in one of the industry’s longest continuous platform lineages: the moment a 1984 Dutch 4GL quietly modernized how it ships software, so that the applications built on it could keep outliving the infrastructure beneath them.

Timeline

2006
The Uniface 9 line arrives under Compuware, with a first general-availability release planned for December 2006, focusing on GUI and usability improvements, Unicode support, thin deployment, and integration
2007
Compuware announces Uniface 9.2 in November, extending the platform to Microsoft Windows Mobile devices, adding Windows Vista support, and deepening service-oriented architecture support with XML Schema, SOAP, and WSDL compliance
2008
Uniface 9.3 reportedly becomes available by December, introducing a single standardized deployment mechanism built on zip-format Uniface Archive (UAR) files, an improved graphical interface for mobile applications, and new cross-reference functionality
2009
Uniface 9.3 serves as Compuware's current application platform release, with organizations using its UAR-based deployment to distribute applications to remote sites without on-site IT staff
2010
Uniface 9.4 ships as the next release in the line, with a major focus on Rich Internet Application functionality for building Web 2.0 front ends
2012
Standard support for Uniface 9.3 ends in November, according to the Uniface technical support lifecycle for legacy versions
2013
Extended support for Uniface 9.3 ends in June, closing out the release as customers migrate to Uniface 9.4 and later versions along the platform's compiled-application upgrade path
2014
Marlin Equity Partners acquires the Uniface business from Compuware, re-establishing it as the independent Uniface B.V. in Amsterdam; the platform later becomes Rocket Uniface following Rocket Software's 2021 acquisition

Notable Uses & Legacy

Distributed enterprise deployments

Compuware positioned Uniface 9.3's standardized UAR deployment specifically at organizations running applications around the clock in remote locations without on-site IT personnel, letting a central team package compiled components, global objects, and descriptors into archives that run without being unpacked.

Service-oriented architecture programs

The 9.x line's SOAP, WSDL, and XML Schema support, combined with 9.3's new cross-reference reporting, was aimed at enterprises decomposing large Uniface applications into reusable services and composite business services.

Windows Mobile field applications

Building on the Windows Mobile support introduced in Uniface 9.2, version 9.3 improved the graphical interface for mobile applications with techniques to maximize data display on small screens and user-definable buttons for field workers.

Long-lived administrative systems

Like every Uniface release, 9.3 was a waypoint for the large administrative systems — point-of-sale, financial, salary, and inventory applications — that organizations in reportedly more than 30 countries carry forward from release to release rather than rewrite.

Language Influence

Influenced By

Uniface 9.2

Influenced

Uniface 9.4

Running Today

Run examples using the official Docker image:

docker pull
Last updated: