Weblog

IDE productivity for JSF: a screencast

It seems my previous posts on JSF components and productivity have been cause for some discussion, see The serverside and the Tapestry – User mailinglist.

I like the productivity of ADF Faces in combination with JDeveloper. This doesn’t mean i think it’s the greatest technology in the world. I wouldn’t use jsf if i wanted total control of the generated html (and i’m pretty anal when it comes to semantically and structurally correct html). I also wouldn’t use adf if i knew the product also had to be maintained in something else than JDeveloper. ADF bindings and ADF Faces are great for productivity, but i don’t like it when you have to code with it. Everything is dynamic, which means you don’t get code completion and a lot of errors are only caught at runtime.

In my opinion this is just a tradeoff you have to make when using a technology stack suited for tooling. The ADF bindings and ADF Faces toolstack works well with tools, but for hand coding i prefer a combination of JSP (i haven’t tried Tapestry yet), Spring and Hibernate. Some frameworks are great for tools , some are great for coders.

But i think there are a lot of IT-managers who are waiting for a tool that will give them 4GL like productivity, something they are used to with Oracle Forms or Oracle Designer. And they want a tool which is going to enable 4GL programmers (property-clickers) to create java web applications. And i think Oracle is going into that direction with JDeveloper.

I’ve made a screencast to show you JDeveloper’s JSF support: Developing JSF applications with JDeveloper. In 6 minutes i’m building a jsf page to add, delete and edit weblog posts. The page consists of a data entry form and a table listing weblog posts. You can page through the table, sort the columns, a calendar popup is available, and a dropdown list with weblog categories. All without a single line of coding. The application is not finished, nor polished. (And it contains a simple to fix error. If you can spot it, apply for a job here ;-)

The model is created using ADF Business Components, which is an Oracle proprietary ORM framework. JDeveloper doesn’t limit your model choices, You can use EJB3 or Toplink. You could also use Hibernate or Pojo’s. On a previous project (pdf) i’ve used Castor generated Pojo’s in combination with ADF. Whatever you choose, you can drag and drop your data on JSF pages, and visually build your application.

Share and Enjoy:
  • del.icio.us
  • Google Bookmarks
  • DZone
  • LinkedIn
  • SphereIt
  • StumbleUpon
  • Technorati

10 Responses to “IDE productivity for JSF: a screencast”

  1. mattV Says:

    Hi,

    I had a look at your webcast, and I agree that for this kind of pages, it might improve productivity. However, as you seem to be able to use very well, could you tell us what’s your opinion about making something more complex with ADF. I think for instance to a wizard with 3+ steps where all user input should be collected step by step and handled after the last step’s submit. Without coding (too much), is this feasable ou would it require to write some glue code using the backing beans ?
    I can’t find any good documentation about doing this kind of stuff with ADF. Is it well suited for that ?

  2. Harsh Says:

    Use hidden fields.

  3. Shay Says:

    mattV – if you are looking for a “wizard” like functionality with forward and back button – there are the processTrain and processChoiceBar components of ADF Faces.
    There is a documented sample of how to use them in the ADF Developer Guide chapter 11.5.

  4. LarryRoth.net Says:

    Using Oracle’s IDE and JSF…

    The folks at WEBLOG IT-eye have created an interesting screencast to demonstrate what it’s like to create a Web service and use JSF in Oracle’s IDE JDeveloper. If you are interested in how different IDEs work, or if you want to know what the draw is …

  5. LarryRoth.net Says:

    [...] work, or if you want to know what the draw is to Oracle, you will enjoy this screencast. Here it is.

    [...]

  6. Andrej Koelewijn Says:

    Creating a wizard with 3+ steps is easy, just drag and drop the attributes you need on the different screens and commit after the last screen. Or am i missing something in your requirements?

  7. mattV Says:

    Andrej, could you explain precisely where the data collected in the first steps is stored and how do you get them them back at the last page to submit them to a method of a facade ejb ? I guess you “extract” them from your pagedefs (where you previously created them as variables?) ? Right ?

    Second question, we use an xmlbeans generated object model. As new instances are not created by using simply new (instead, we use something like MyObject.Factory.newInstance() ), do you see a way to be able to use these objects and have them populated as normal pojos with adf and use the drag&drop features ? Is this possible in a simple way ?

    Finally, a third question. Still related to the wizard, it’s about the process scope. I’ve read in an article from Oracle about this, that when you come back to a previous page, all of the data is reset…Indeed I tested with my wizard, putting my objects manually populated (using an action listener) in the process scope and doing a back afterwards, the fields were blank…how am I supposed to handle the back button ? I’m used to usual web frameworks, maybe there is something I don’t get about ADF yet ?

    Your ideas and experiences are welcome :-)

    Thank you all

  8. Nightmares on JSF Street in Trinidad at rain.webs Blog: Springsteam Says:

    [...] JSF dream and reality IDE productivity for JSF IDEs JSF MatrixTechnorati Tags: JSF, Struts, Trinidad, MyFaces, CSS, Oracle ADF Faces, MVC, GUI, IDE, JDeveloper, Exadel Studio, myEclipse, Sun Java Studio Creator, Netbeans, Apache, Tomahawk, JCP Bookmark to:           [...]

  9. IT-eye » JSF productivity Says:

    [...] Update: See the followup post: IDE productivity for JSF: a screencast. Sphere: Related Content [...]

  10. penis enlargement pills Says:

    penis enlargement pills…

    Sad but true. Fluff is pretty much all the \”new technologies\” are about….

Leave a Reply

Technology