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.

April 26th, 2006 at 23:16:09
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 ?
April 27th, 2006 at 01:33:16
Use hidden fields.
April 27th, 2006 at 01:35:24
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.
April 27th, 2006 at 05:23:56
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 …
April 27th, 2006 at 05:30:06
[...] work, or if you want to know what the draw is to Oracle, you will enjoy this screencast. Here it is.
[...]
April 27th, 2006 at 08:00:24
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?
May 2nd, 2006 at 12:13:26
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
December 15th, 2006 at 04:09:54
[...] 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: [...]
August 12th, 2007 at 15:04:46
[...] Update: See the followup post: IDE productivity for JSF: a screencast. Sphere: Related Content [...]
July 18th, 2008 at 12:09:48
penis enlargement pills…
Sad but true. Fluff is pretty much all the \”new technologies\” are about….