Saturday, January 15, 2011

Google App Engine and JSF/Weld

I was planning to create another long blog about this topic but it turned out to be more work to get a sample application running.  Here's the basic premise.  In prior blogs about Glassfish and JSF we went thru the process of setting up an eclipse based development environment, mavenized project that illustrated JEE6 features like JSF, Facelets and JPA.  We also added Primefaces JSF tags for a little spice.

Now I'd like to turn that exercise into something more real so I imaged an application....  Call it cabin finder and what I want to build is a 4 panel layout -- with header, footer, left panel and content.  On the header I want to use primefaces Dock for site navigation.  The footer is adverstisements I guess.  The left panel is a search criteria builder where you could enter the location, amenities and price range of the vacation spot your looking for.  In the content panel we'll show google maps of the resulting cabins and a popup dialog for each with more details.

We'll also need a cabin entry page that should be secured -- so login required.  Also, just to get things up and going I want an admin page to load sample data.  I actually had the entities, search controller and pages built pretty quickly based on our previous work.

Then......

I decided it would be cool to host the whole thing on Google App Engine.  I've spent the past 2 days working on that part and finally have it going.  Take a look for yourself at http://mycabinshh.appspot.com.  Keep in mind I've spent more time futzing around with GAE than working on the application so there's no entry page, security, only the state searching is supported, the maps info popus aren't there, etc., etc.

Now .....

I'd like to move the source code to github.  Maybe I'll never get to the app.

4 comments:

  1. Well, I spent this morning trying to get @ConversationScoped components to work on GAE so I could get map marker info boxes to work. Hit a bunch of exceptions on GAE. Tried swapping out jsf ri with myfaces to no avail. I think I'm done with GAE for a while.

    ReplyDelete
  2. I see that Conversations are not supported on weld 1.0.1 but should be with 1.1. Unfortunately 1.1 gives me a threading security issue when the ConversationManager tries to cleanup conversations by spawning a new thread.

    ReplyDelete
  3. I told you Google was evil! :) I like the widget on the header. Comes with one of the libraries?

    ReplyDelete
  4. The "dock" on the top of the page comes from primefaces.org jsf component library. Lots of cool gadgets in there. Check out primefaces.org and the showcase.

    ReplyDelete