Database Patterns realized with AribaWeb

Take a look at aribaweb.org (viaTheServerSide).

AribaWeb is a 4GL RAD for web applications running on a Java stack.

It uses an approach described in data dictionaries as a database pattern to generate metadata-driven UI.

The Ariba toolset seems reasonably mature from the screencasts, although one has to be wary because a lot of the AJAX work appears to be relatively new.

I’m watching the MetaUI screencast now, and the bubble style error messages on fields is quite cool. However, cooler still is the use of CSS-like language to mark up how fields are presented. This reduces impedance mismatch between binding data to controls, instead turns data into its representation.

Custom validation rules is specfied using a groovy string. I’m not sure if this is translated into Javascript on the client-side. The Meta UI specification decoupled from HTML (layout is in named zones), and there is no reason why this couldn’t be rendered in a RIA.

Actions in UI on a POJO is declared via an annotation (similar to Naked Objects). However, the actions seem to be more restrictive in the sense that the methods must not take any arguments.

e.g.

@Action(message="Account Suspended")
@Visible("! $object.isSuspended")
void suspendAccount() {
...
}

Overall, AribaWeb looks very polished. I haven’t had a look at the underlying libraries used1, but I look forward to delve into it further.

Footnotes

1There was a mention of JPA and Hibernate. (Is the display layer JSF?)


About this entry