Est. 1984 Intermediate

Uniface

The Dutch model-driven 4GL that pioneered database-independent enterprise development in 1984 and still powers mission-critical business applications today as Rocket Uniface.

Created by Inside Automation (Bodo Douqué, Frits Kress)

Paradigm Procedural 4GL, Model-Driven, Component-Based
Typing Declared, with implicit conversion
First Appeared 1984
Latest Version Uniface 10.4.03 (2026)

Uniface is a model-driven fourth-generation language (4GL) and application platform created in the Netherlands in 1984 — a full decade before “three-tier architecture” became an industry buzzword and some three decades before the same ideas were rebranded as “low code.” Its founding premise was radical for its time: describe the application’s data structure, business rules, and behavior once, in a central application model, and let the platform generate and run the application against any database, on any operating system, with any user interface. Applications written against Oracle on a VAX in the late 1980s have reportedly been carried forward — through client/server, the web, and mobile — without wholesale rewrites, which is precisely why Uniface still runs mission-critical systems for enterprises today as Rocket Uniface.

History & Origins

Amsterdam, 1984

Uniface was developed in 1984 by Inside Automation of the Netherlands, a company headed by Bodo Douqué with Frits Kress as its technical director. The product was originally named UNIS; by 1986 both the product and the company had taken the name Uniface. The design drew explicitly on the ANSI/SPARC three-schema architecture — the formal separation of an application’s conceptual data model from its external presentation and its internal physical storage — and turned that academic idea into a working commercial development platform.

The first public release, Uniface 3 in 1986, was already recognizably the modern product: a 4GL with an integrated development environment and a runtime engine, running on DEC VAX/VMS and speaking to multiple databases (RMS, Oracle, C-ISAM, Ingres, RDB) through swappable drivers. Uniface 4 (1988) brought the platform to MS-DOS PCs, and Uniface 5 (1990) added client/server deployment and graphical interfaces through a “Universal Presentation Interface,” with roughly 13 databases supported.

The Compuware Years

In 1994, Detroit-based Compuware Corporation acquired Uniface, making the Dutch 4GL the centerpiece of its application development business for the next two decades. Under Compuware, the platform tracked each successive industry shift: Uniface Seven (1997) introduced the Uniface Request Broker for distributed applications and the first web development tools; Uniface 8 (2001) added the Uniface Router/Server middleware and SOAP/XML web services; Uniface 9 (2006) and its point releases carried the platform through Unicode, Rich Internet Applications, a JavaScript API, and eventually mobile and hybrid apps.

Independence, Then Rocket

In 2014, Marlin Equity Partners acquired Uniface from Compuware, spinning it out as the independent Uniface B.V., headquartered once again in Amsterdam. The independent company delivered Uniface 10 (full availability in 2016), the largest overhaul in the product’s history, replacing the proprietary development environment with a completely rewritten, industry-standard IDE. In February 2021, Rocket Software of Waltham, Massachusetts acquired Uniface, adding it to a portfolio focused on enterprise modernization — a natural home for a platform whose customers measure application lifespans in decades.

Design Philosophy

The Model Is the Application

Uniface’s core idea is that an enterprise application should be described, not hand-coded. The Application Model captures entities, fields, relationships, business rules, and default behavior in one central repository. Development components — forms, reports, services, server pages — inherit their structure and behavior from the model. Change a validation rule or a field definition in the model, and every component that uses it inherits the change. This is what today would be called model-driven or low-code development; Uniface was shipping it in the 1980s.

Database and Platform Independence

Following the three-schema architecture, Uniface applications never speak to a database directly. They address the conceptual model, and pluggable DBMS connectors translate to the physical storage layer — Oracle, Microsoft SQL Server, IBM Db2, MySQL, PostgreSQL, SQLite, and many others. The same application can be redeployed from one database vendor to another, or from one operating system to another, largely by reconfiguration rather than rewriting. For enterprises, this decoupling has proven to be the platform’s most durable selling point: it is the mechanism by which thirty-year-old Uniface applications have survived multiple generations of infrastructure.

Compiled Components, Interpreted Portably

Uniface source is compiled into components executed by a runtime engine on each deployment platform, in the style of a virtual machine — another design choice from the 1980s that anticipated mainstream practice.

The ProcScript Language

Application logic is written in Uniface’s proprietary procedural language, historically called Proc and today ProcScript. It is a compact, imperative 4GL: statements like retrieve, clear, store, and message operate directly on the entities and fields defined in the application model, and status is communicated through built-in variables such as $status. Logic is attached to components, entities, and fields through triggers (responding to user and data events) and packaged into operations callable locally or remotely.

A small ProcScript operation retrieving a customer record looks like this:

operation getCustomer
   variables
      string vName
   endvariables

   clear/e "CUSTOMER"
   CUSTID.CUSTOMER = "1001"
   retrieve/e "CUSTOMER"
   if ($status >= 0)
      vName = NAME.CUSTOMER
      message "Found customer: %%vName"
   else
      message "Customer not found, status %%$status"
   endif
end

Note what is absent: no connection strings, no SQL, no cursor management. The retrieve/e statement fetches data for the CUSTOMER entity as defined in the model, and whichever DBMS connector is configured does the physical work.

Key Features

  • Central application model — entities, relationships, and business rules defined once and inherited by all components
  • Component-based architecture — forms and server pages for presentation, services for business logic, reports for output
  • DBMS connectors — swappable drivers for Oracle, SQL Server, Db2, MySQL, PostgreSQL, SQLite, and more, with no SQL in application code for standard operations
  • Multi-tier deployment — the Uniface Router and Uniface Server distribute components across client/server, web, and service tiers
  • Integration surface — SOAP and RESTful web services, XML, and connectors that have historically included COM, CORBA, and MQSeries
  • Web and mobile — Dynamic Server Pages with a JavaScript API for responsive web front ends, and hybrid mobile app support
  • Longevity by design — compiled applications migrate forward across Uniface versions, a compatibility discipline maintained for four decades

Evolution

Uniface’s version history reads as a tour of enterprise computing eras: character-cell VAX applications (Uniface 3, 1986), PC and client/server GUIs (Uniface 4–6, 1988–1994), distributed n-tier and the first web tooling (Seven, 1997), web services and middleware (8, 2001), Unicode, RIA, and mobility (9.x, 2006–2015), and finally a modern IDE (10, 2016). Through each transition, the model-driven core meant existing applications could adopt the new deployment technology rather than be rewritten for it.

Under Rocket Software, development continues at a steady clip: the Uniface 10.4.03 line receives frequent patch releases — continuing into mid-2026 — and Rocket distributes a free Community Edition, a full version of the current product for building demos, prototypes, and small applications.

Current Status

Uniface today is a living commercial platform in the “quiet giant” category: rarely discussed on developer forums, yet running point-of-sale, financial, logistics, government-administration, and manufacturing systems for organizations in more than 30 countries. Rocket Software actively sells, supports, and patches the product, positioning it within its application-modernization portfolio. Publicized customers include Pernod Ricard, whose Uniface-built Spirit/1 application and barrel-inventory mobile module have managed cognac production since the early 1990s, and Brazil’s Coamo Agroindustrial Cooperativa. There is no official Docker image — Uniface is a licensed commercial product (with a free Community Edition) installed through Rocket’s platform-specific installers.

Why Uniface Matters

Uniface is one of the clearest early implementations of ideas the industry keeps rediscovering. Model-driven development, database abstraction layers, three-tier deployment, virtual-machine portability, and “low-code” productivity were all present in a product shipping from Amsterdam in the late 1980s. Its endurance also illustrates a truth about enterprise software economics: the applications businesses depend on outlive every infrastructure fashion, and a platform architected around that fact — describe once, redeploy forever — can remain commercially viable across five decades and four owners. For the code archaeologist, Uniface is that rare artifact: a 1984 design you can still download, patch, and put into production this year.

Timeline

1984
Inside Automation, a Dutch company headed by Bodo Douqué with Frits Kress as technical director, develops the product in the Netherlands under its original name, UNIS
1986
Uniface 3, the first public release, ships as a multi-database 4GL with an integrated development environment and runtime, initially targeting DEC VAX/VMS with support for databases including RMS, Oracle, C-ISAM, Ingres, and RDB
1988
Uniface 4 adds MS-DOS PC support along with improvements to the form editor and runtime engine
1990
Uniface 5 introduces client/server deployment and graphical user interfaces through the Universal Presentation Interface, with around 13 databases supported
1994
Detroit-based Compuware Corporation acquires Uniface; Uniface Six ships with fully graphical development environments, OLE support, and version control integration
1997
Uniface Seven introduces the Uniface Request Broker distributed architecture along with web development capabilities, including Services and Server Pages
2001
Uniface 8 brings the Uniface Router/Server middleware, SOAP and XML web services, and connectors for CORBA, COM, and MQSeries
2006
Uniface 9 is released with improved Unicode handling and Windows Mobile support; later 9.x releases add Rich Internet Application support (9.4, 2010), a JavaScript API (9.5, 2011), and mobile/hybrid app development with PostgreSQL and SAP HANA drivers (9.7, 2015)
2014
Marlin Equity Partners acquires Uniface from Compuware, re-establishing it as the independent company Uniface B.V., headquartered in Amsterdam
2016
Uniface 10 reaches full availability (following a 2015 preview) with a completely rewritten, industry-standard IDE
2021
Rocket Software acquires Uniface B.V. in February, and the platform continues as Rocket Uniface with the 10.4 release line
2026
Rocket continues active development with frequent Uniface 10.4.03 patch releases into mid-2026 and a free Community Edition download for prototypes and small applications

Notable Uses & Legacy

Pernod Ricard

According to a published Uniface case study, the global spirits and wine group has used Uniface since 1992 to run its core Spirit/1 production application — first built by the Martell IT team — including a mobile module that manages barrel inventory offline, reportedly covering more than six million barrels, backed by an embedded SQLite database.

Coamo Agroindustrial Cooperativa

One of Latin America's largest agricultural cooperatives, based in Brazil, uses Rocket Uniface to modernize and maintain the business applications behind its agro-industrial operations, as documented in Rocket Software's customer case studies.

Enterprise ISVs and in-house IT shops

Uniface has been used by thousands of organizations in more than 30 countries for large administrative systems — point-of-sale, financial transactions, salary administration, and inventory control — in government, banking and insurance, healthcare, manufacturing, and retail.

Compuware era application development

As Compuware's application development flagship from 1994 to 2014, Uniface anchored the company's client/server and web development tooling and was sold worldwide through Compuware's enterprise sales channel.

Running Today

Run examples using the official Docker image:

docker pull
Last updated: