Wicket Objects v0.1 … give it a try

Over the last few months I’ve been plugging away at another sister project for Naked Objects, this time a new web-based viewer built using the Apache Wicket web framework. I reckon it’s now in a fit enough state to be tried out more widely, and hopefully find some contributors with better web UI skills than I do!

But what does it do? Well, Wicket Objects is a way of rapidly developing web apps simply by writing the domain objects. Fundamentally it consists of a set of Wicket IModel’s that wrap the NO metamodel, and a bunch of Wicket Components that can render those IModel’s. Given that there’s no UI code to write to get a fully-functional webapp, this means you can develop good code, very quickly. Then, when you do need to start to customize the app, you can just use the Wicket API against the aforementioned IModel’s.

Here’s a screenshot of Wicket Objects in action with its standard form for an entity:
wicketobjects-blog-screenshot

I’ve put together a new Maven website, plus some docs, and I’ve uploaded a snapshot into the sister projects snapshot repo. So, to try it out with a small test app, just do the following:

svn co https://wicketobjects.svn.sourceforge.net/svnroot/wicketobjects/trunk/testapp/claims .
mvn clean install
cd webapp
mvn jetty:run

To logon, use sven/pass.

One of the objectives of Wicket Objects is to be customizable. But I didn’t want to invent some new proprietary API for developers to have to understand. Hence choosing Wicket; I basically use its API for building Components as my customization API.

That also makes it easy to reuse 3rd party Wicket components to create customized views. For example, we can customize Wicket Objects so that Locatable objects are displayed in a google maps mashup; behind the scenes this uses the gmap2 Component on WicketStuff:
wicketobjects google maps mashup

So, please give it a try. And if you like what you see and either already know or want to learn Wicket, why not help me take it up to a 1.0 release?

Posted on June 28, 2010, in apache isis. Bookmark the permalink. 10 Comments.

  1. Where can I get access to source code for the project in order to study it?

  2. I have used Apache Wicket. I see you’ve built a web application. But from your article I still haven’t a clue as to what “Wicket Objects” are about. Are you assuming that readers are familiar with analogous “blah-blah Objects” frameworks for other technologies?

    • Hi Frank,
      Well, I wasn’t trying to, and that’s why I got the Wicket Objects website and a user guide (both linked to from the blog) up before posting. But you’re right; a little bit more context in the the first para would be useful. I’ll update the main text to say as much.
      At any rate, Wicket Objects is a way of rapidly developing web apps simply by writing the domain objects; it provides a bunch of IModel’s that wrap the NO metamodel, and a bunch of Wicket Components that can render those IModels. Given that there’s no UI code to write to get a fully-functional app, this means you can go very fast, very quickly. Then, when you do need to start to customize the app, you can just use the Wicket API against the aforementioned IModels.
      Hope that helps,
      Dan

  3. Hi Dan, I wanted try out the code, but I get a compile error. It seems the class org.nakedobjects.applib.util.Reasons (and 2 annotations) is missing from the NakedObjects 4.0.1-SNAPSHOT applib. Is it possible this class was (re)moved recently? Or might I be missing a dependency.

    I’m afraid I don’t know enough about Naked Objects to get this to work on my own. I hope you can give me a nudge in the right direction.

    Thanks in advance!

    • Hi Peter,
      Thanks for checking this out. Might be that we haven’t refreshed the applib in the NOF snapshot repo. It certainly should compile if you build nof 4.0.1-snapshot from source (I committed Reasons.java in rev 14701 on 22-Jul). Would you be happy to build NOF from source (http://www.nakedobjects.org/building.html says how to do so) and then give it another go? In the meantime, I’ll see about getting the snapshot updated.

      It’d be great if you could come on board with a Vaadin viewer; I think it’s a great framework. So anything I can do to help… Please do contact me via email if nec; I don’t always check the comments section on my blog every day (and have been on vacation hence the gap on replying here).

      Cheers
      Dan

  4. Am getting an error finding org.nakedobjects:trunk:pom:4.0.1-SNAPSHOT so perhaps your Maven repo is not quite up to date? Or do I need to download and build the latest NakedObjects source to get this to build? Thanks in advance for any advice.

    • Hi Jon,
      Sorry not for replying sooner.
      Yeah, I’m afraid you do need to build NOF from source.
      As you might have seen from other posts, we’re actually in the process of moving both the NOF and my sister projects (including Wicket Objects) into the Apache Incubator, to be called Apache Isis. So things will be a little more straightforward once we’ve done that. I’m hoping we’ll get the SVN tarballs moved over this coming week.
      In the meantime, thanks for your interest, contact me via the blog or direct if you want more info or fancy getting involved.
      Cheers
      Dan

  1. Pingback: Tweets that mention Wicket Objects v0.1 … give it a try | Domain Driven Design using Naked Objects -- Topsy.com

  2. Pingback: Naked Objects MVC is released! « Dan Haywood

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 126 other followers