All posts by seelig

Uniface 9.7 WEB: When business rules

Guest contributor Dino Seelig (Uniface Business Partner) talks about his first impressions of Uniface 9.7

Last week I visited the Uniface Lab. The goal: getting informed about connecting WEB apps using Uniface DSP’s.

Building an app, using an off the shelf frame-work, integrating the power of Uniface service was for me a wish for many many years.

Communicating from a WEB app with a Uniface server using a HTTP request was not that hard, but something simple like: “leaving this field validate of the value of this field is a valid key” was still a lot of work. Setup an event listener, pickup the event fired, post an request over HTTP, handle the response, and so on.

With the introduction of Uniface 9.7 the javascript library Uniface.js simplifies the number of actions. The Uniface 9.7 way: create using javascript a new instance of your Uniface component, activate your operation using params and get your result makes life easy. The power available in Uniface Client/Server becomes now a part the web environment. Not bad. Implementing requirements like “can you calculate the sum? can you switch value when? can you hide show when?” are not time consuming anymore.

Is that all? No there is more. The lab switched from promise driven to quality driven delivery. In the past, the timebox (4 months) was used for to deliver the communicated promises. However the time box is not changed. The vision is. They will spend the time needed to make it excellent. That for me is the best promise to move to 9.7. Uniface is back on track simplifying complex things and shorten the time to delivery again.

Dino Seelig

Dino Seelig
Dino Seelig



We can set $occcrc $occstatus, the missing link is $occid for building an xml stream that can be reconnected using retrieve/reconnect. XMLSAVE creates an id attribute. But we don\’t want to use XMLSAVE because every time a service change, we must also change the corresponding DTD.

triggers on association level

From a MDA perspective we want to declare business rules on association level on association level. Adding Uniface Triggers on association level seems a good solution. In a optimal situation we can assemble the model and the template together (without modifications on form level) to one application.