Devoured By Lions

the eternal struggle to tame complexity

Ariba Web Framework

Oh man.

Despite productivity benefits in the back end of any framework, there is still always tedious and mostly formulaic work to do generating all the interfaces for CRUD operations (of course, depending on your application, those interfaces may be where you are adding value; for me it’s not). So having automatically generated interfaces is really useful (e.g. Django’s admin UI). In Java JPA is becoming the ORM leader, and is used to explicitly mark up the classes that compose the model (as opposed to implicit inference, e.g. db4o). Well, that type information can be used to generate user interfaces, and it’s rather pointless to have to specify it multiple times. So I decided to just check what is out there in Java land regarding driving UI from JPA and stumbled into the Ariba Web framework. While their standard template mechanism looks like the typical component XML vomit, they also provide:

MetaUI-JPA: Binds MetaUI to a Java JPA-provided persistence engine (powered, by default, by Hibernate). Business objects can be annotated with JPA annotations (e.g. @Entity, @OneToMany, etc) and JPA with generate a database schema and support persisting and retrieving object instances. MetaUI-JPA further processes these annotations (and those for the Compass search framework) to create MetaUI rules that influence the generated UI.


There’s a bunch of screencasts which hopefully will clear up whether this really does what I hope it does.