GWT and AppFuse

Someone recently sent me the following e-mail asking about GWT integration in AppFuse.

I see from your blog that you're spending some time with GWT at the moment. What's your plan, are you going to integrate GWT as another UI Option for AppFuse?

The reason I'm asking is that I actually checked out all of the AppFuse code from the svn repository yesterday, with the intention of starting off adding some GWT stuff in there. My intention was to start by getting a basic Maven archetype together for GWT as an AppFuse UI.

However, if you're planning on doing this yourself in the near future, then there's no point in me starting doing it, I'd have to learn how to write archetype's for a start (not that it looks too difficult) but you'd obviously do it much quicker.

Being a good open-source developer, I moved the discussion to the developer mailing list and replied there:

It's likely I'll create a version of AppFuse Light with GWT, but I doubt I'll do it in the near future. I hope to release AppFuse 2.1 first (which will include "light" archetypes). I wouldn't get your hopes up in waiting for me to do the work. However, I'd be happy to assist you in doing it. AppFuse Light is now modular and uses the AppFuse backend.

http://raibledesigns.com/rd/entry/appfuse_light_converted_to_maven

Here's how I believe GWT should be integrated:

  1. Create an appfuse-ws archetype that serves up RESTful services (http://issues.appfuse.org/browse/APF-897).
  2. Create an appfuse-gwt archetype that consumes those services. This archetype would contain a proxy servlet that allows #1 to be on a separate host/port.

In addition to #1, I hope to convert the Struts 2 and Spring MVC archetypes to use those frameworks' REST support.

For #2, we could use SmartGWT or GXT. SmartGWT might be better since Sanjiv is a committer on this project. ;-)

I know I've been slacking on AppFuse development, but it is ski season and running to work seems to drain my late-night coding ambitions. With that being said, I'm committed to getting AppFuse 2.1 released by JavaOne (hopefully sooner). I figure it's a good week's worth of work and I'll probably have to do it late at night to find the time. That's OK though, I usually really start to enjoy it once I get into it.

Posted in Java at Mar 04 2009, 10:50:26 PM MST 5 Comments
Comments:

Hi Matt,

I am currently working on a personal project based on appfuse and in my spare time and I am working on a gwt integration for the frontend. Basically I took the dao and services jars and put it in the gwt project classpath and rewrote the web part with the toolkit. To invoke the service layer I used "gwt-sl".

There is a project on the google code called "gwt-ent" that contains an acegi/spring security integration as well.

I had some problems with the serialization of my domain classes (that I would like to use both on the client and on the server)but, as they use commons-logging stuff, I had to replicate the model part into gwt and use the "dozer" library as a bean mapper.

Your post about gwt-maven,jetty and urlrewrite was another improvement to speed up the development process.

Hope this could help.

Bye,
Matteo

Posted by Matteo on March 05, 2009 at 12:29 AM MST #

I'm happy to hear that other frontend technologies are implemented. For all of you searching for an ICEfaces integration have a look here:

http://code.google.com/p/icefusion/

BTW: I skipped the idea to have a maven-archetype in the first place. I don't think that this is important. But, it is planned ;-).

Posted by rainwebs on March 05, 2009 at 03:01 AM MST #

Hello Matteo,

how do You stand in your personal Appfuse-GWT project? I've a project that is based on Appfuse 1.9.4 JSF (with lot of DWR and ajax4jsf), and I want rewrite the frontend to GWT. How can I start the project? I think first I need a simple GWT test page that is integrated in AppFuse to see how it works ( the most important I think is servlet session timeout! ). Can You give me some tipps?

Thank You

Bye

Posted by Attila on June 19, 2009 at 04:51 AM MDT #

@Attila - I haven't started integrating GWT with AppFuse yet. Unfortunately, AppFuse isn't a priority for me right now. When I'm not working, I'm playing with my kids, mtn biking, rafting or going to baseball games. It's summer time - get out and have fun! ;-)

On a serious note, I still plan on doing this, but in reality it probably won't happen for a few more months. In our GWT application, we are completely stateless. We use an authentication token to identify the user with each request (we stuff it in the header) and serve up JSON on the backend. If you need further assistance, I'd suggest contacting the AppFuse mailing list.

Posted by Matt Raible on June 19, 2009 at 09:28 AM MDT #

The repository for spring-security-oauth must be updated to

<repository>
    <id>spring-milestone</id>
    <url>http://s3browse.springsource.com/browse/maven.springframework.org/milestone</url>            
</repository>

Posted by 62.13.224.25 on July 14, 2011 at 11:14 AM MDT #

Post a Comment:
  • HTML Syntax: Allowed