During JSF 1.0, 1.1 and 1.2, we relied on the old cardemo application to do end-to-end testing of the implementation. I was never satisfied with how this simple app exercised the code, and have been wanting to get a more real-world application.

Similar to the XSLT Stylesheet contest, I'm giving away a copy of my new bookSecrets of the Rockstar Programmers to the best sample app. You'll have to paypal me the shipping and handling cost. The winner can tell me how fast they want it and the costs will be calculated from there.

I'll judge the entrances according to the following requirements:

  • Application is fully self contained.

  • Small sized production application. Something like a web forum system or a simple blog engine.

  • Uses a database, preferably the database is built into the application, maybe something like JavaDB.

  • Is based on JSF 1.2

  • Does not require any JSF addons, uses only Java EE 5 standard APIs.

  • Runs without a hitch on Glassfish v2.

  • Easy to build from source and deploy.

You'll have to fill out and submit a Sun Contributor Agreement to submit an entry, since the entrys will include code.

We'll do the work of converting the application to JSF 2.0. Because Mojarra is open source, you can have access to the upgraded app!

Technorati Tags: edburns


  • 392 Guest Newbie
    Frankly, it's a crying shame that you're making this plea. Minimally, it's a crying shame that you're making this plea this late in the game, that there STILL are, apparently, no good sample applications for JSF. In the past I looked long and hard for something useful. If I had found some, perhaps I would be using JSF today in my daily work. But, there were none to be found, and the tutorials and NB app wizards give different, conflicting, views on the same problem. You look at the code used in the tutorials and the code used by the wizards, and they're not even close to style and concepts. Do I bind to simple values or do I bind to controls? Which is better? Why should I choose one over the other? How do "real" folks do it? Disaster. MS has had this issue nailed solidly to the floor since forever. Their "starter kits" are incredible for the beginning ASP .NET user. They're not just "wizard" demos, but functioning and powerful, yet accessible, applications for novice users to modify and learn from. When I was looking for a Java framework, Stripes sold me because of it's "Bugzooky" sample application. It had the bulk of the fundamentals of a basic web app. Security, CRUD, List pages, simple CRUD workflow, and pleasant UI. It showed how someone "puts together" a Stripes application, much better than any Javadoc or simple action/binding tutorial ever could. Yet, here we are, after how many years since JSF came? And the call goes out only NOW? There's "better late than never", but, man, this barn is empty. As a casual observer of JSF, it's the most confusing thing I've seen. It's still unclear to me the state of "pure" JSF vs Faces or Seam or ADF or what. I don't even know if "raw" JSF that comes with GF is usable or not, or is that the JSF that everyone complains about while praising some other JSF manifestation. I hope y'all can get the cats herded and present a more solid front for JSF 2.0, and hopefully give it the rebirth that JSF (to me) seems to need. And I wish you all the best in trying to find a good solid sample application. Because JSF sorely needs it. //
    • 392 Guest Newbie
      Wow, there's candor! Keep in mind that JSF has always been a specification intended to be implemented by others in the community. Although there is the RI (Mojarra), I think the bulk of the momentum for JSF has been in the 3rd party implementations. IBM and Oracle, for example, have latched pretty heavily onto the toolability of JSF and have used JSF as a launchpad for value-added products. MyFaces has been very successful on the open-source side, and Woodstock and JMaki have been growing pretty strong with the inclusion in NetBeans. Point is, JSF as a single, one-size-fits-all solution has been diluted by the sheer variety of how its been implemented. This makes creating a single PetStore sample application difficult, both since the would-be authors/developers are often on a derivative project and the user base is sprawled across so many different implementations. This does not mean there shouldn't be a definitive example for Mojarra; I just think the real-world has gotten in the way. I also think much of the time and effort has been put into things like the Java EE Tutorial and Blueprints, which in my opinion are equally, if not more, valuable. I'm not sure "Disaster" is necessarily accurate. Despite not having such a sample application, JSF has successfully permeated the market. There isn't an IDE that doesn't have tools for JSF, and there are many many developers who have learned proper usage without the aid of such an example app. I agree that the community my have struggled more than it needed to, but let's keep things in perspective. Eric Buitenhuis //
      • 392 Guest Newbie
        Did i just read someone standing up for ASP.NET?  hahaahaa.  good luck with all that.   Greetings Ed. I feel bad I lost your business card but we spoke at FOWA 2008 in Miami last year. Sorry about this off topic question I am posting. Feel free to delete after reading. I remember speaking to you about my project which is essentially researching the art of building websites that can protect themselves from spyware. The Spyshakers project. I have a javascript security question. Here is my question: Say we have a web page that populates a simple html text box with a basic javascript string concatenation: document.myForm.myTextBox.value = document.myForm.myTextBox.value + "B"; Can a rogue executable (running locally) monitor the javascript execution and observe that the text entered into myTextBox was indeed B? I can find lots of information on how the operating system is protected from malicious javascript. Protecting javascript from a malicious executable is a lot harder to find information on. My email is gaf@spyshakers.com. Again sorry to post off topic. Grant Alan Friedline //