February 14, 2004

Naked Objects vs. ObjectBrowser

Deutsch Es war ein harter Kampf, aber nun ist ObjectBrowser endlich auf dem Weg, Open-Source zu werden. Mit dem ObjectBrowser haben wir Mitte 2002 begonnen, eine Anwendungsplattform zu implementieren, mit welcher - in Kombination mit iQgen - Stammdatenpflege-Applikationen vollst�ndig generiert werden k�nnen. Wir wollten mit dem ObjectBrowser ebenfalls die Technologieunabh�ngigkeit des MDA-Ansatzes demonstrieren. Deshalb sind verschiedene Persistenzmechanismen implementiert. Zu guten Zeiten: Objekt-Serialisierung, Castor/JDO und EJB-CMP 2.0.

Allerdings wirkte die EJB-L�sung aufgesetzt und passte nicht wirklich zur ObjectBrowser-Architektur, die eher auf Standalone-Anwendungen zugeschnitten war. Die Persistenz mittels EJB haben wir deshalb einschlafen lassen, und ein neues internes Projekt daf�r aufgesetzt.

In den ObjectBrowser ist beachtlich viel Aufwand hineingeflossen und dennoch haben wir nie etwas ernsthaftes damit gemacht. Ich sah es schon kommen, dass er noch einige Zeit in unserem CVS-Repository herumd�mpelt, bis ihn jemand entsorgt.

Dank des Aufsehens um Naked Objects ist uns die Bedeutung des ObjectBrowsers allerdings wieder sehr bildhaft vor Augen gef�hrt worden. Im Prinzip entsprechen gleichen sich die Philosophien von ObjectBrowser und Naked Objects. Selbst das Look-and-Feel ist sich �hnlich. Beide Ans�tze haben unterschiedliche Schwerpunkte: ObjectBrowser ist f�r die Generative Software-Entwicklung entworfen. Deshalb ist die manuelle Verwendung des Frameworks etwas aufwendiger als bei Naked Objects. Allerdings funktioniert die Entwicklung meiner Menung nach genauso einfach, wenn f�r ObjectBrowser mit den entsprechenden Transformationen aus iQgen heraus generiert. Dann k�nnen "beliebig gro�e" Applikationen in kurzer Zeit gebaut werden.

Ich bin froh, dass der ObjectBrowser nun endlich freigegeben wird. In k�rze werden wir ein Tutorial herausgeben, dass die modell-getriebene Software-Entwicklung mit iQgen demonstriert. Als Basis werden wir nun den ObjectBrowser nehmen, weil der keine Installation von Laufzeit-Komponenten wie z.B.: Applikationsserver oder Datenbank erfordert.

English After some struggle ObjectBrowser is becoming open source. Starting mid 2002 to create an application platform in order to provide the usual CRUD actions for arbitrary objects by using iQgen for fully generating. ObjectBrowser was intended to demonstrate platform independence of the model-driven approach. Therefore we've implemented several strategies of object persistency: Java's object serialization, Caster/JDO, and EJB-CMP 2.0.

Unfortunately the EJB persistence was not that conformant to ObjectBrowser's architecture, which was primarily designed for standalone applications. That's why we dismissed the EJB persistence and launched another internal project for that.

We've spent some effort in developing ObjectBrowser, although we didn't make any use of that. I wasn't sure, whether we would ever use ObjectBrowser before someone removed it from our CVS-repository.

Due to the Naked Objects hype we realized that there's a certain use case for applications like ObjectBrowser. Naked Objects and ObjectBrowser have some basic similarities regarding user experience. But both approaches have different focusses: ObjectBrowser ist designed as a framework especially for supporting a model-driven generative development approach. That's why handcrafting an application with ObjectBrowser and without a software generator requires more effort than handcrafting an application with Naked Objects framework. But using iQgen's ObjectBrowser transformation enables the same simple development experience allowing the generation of arbitrarily large applications in short time.

Publishing ObjectBrowser as open source software is good. Soon we'll publish a tutorial that'll demonstrate the model-driven software development with iQgen using ObjectBrowser. ObjectBrowser is suited perfectly well because it doesn't require any runtime components - like RDBMS or application servers - installed.

Posted by Phillip Ghadir at February 14, 2004 11:33 PM | TrackBack