Demo of AJAX enabled ADF Faces

21 June 2006 at 20:41 CEST | In Demos, JDeveloper, Oracle |

On my third and final day at ODTUG I attended a session by Frank Nimphius about “Building Rich Internet Applications with AJAX and JSF” I was hoping to see the Ajax enabled ADF Faces components demoed. They wre quickly shown in a keynote earlier this week and looked very promising. At the end Frank did give a demo and I managed to get it on video!

He started the session by explaining what Ajax is and how you would hand-code this sort of stuff. He then did a very short introduction of JSF and how the combination of the two make you future-proof. Who says Ajax is here to stay. What new technology might we have in 3-5 years. If you hand-code all this Ajax stuff or use Ajax libraries you might be stuck with old legacy stuff in 5 years. When using a components based approach you just have to get your vendor to upgrade the rendering of their components and you can ride the waves of whatever new technology comes along. Basically Oracle is doing that right now. The current ADF components have something called partial page rendering, which is Ajax-alike but uses IFrames. In the version 11 it will all be Ajax, but it’s still the same components. You current IFrame using components will just start using Ajax as a new underlying technology.

That’s what I always say about Ajax. I think it’s a great technology that can enable a lot of cool new features, but it’s something for the component developers not for me as a business developer.

Duncan gave a short demo building the new Rich Table in JDeveloper 11g. I managed to get a short movie of that with my photo camera. The quality is not that great, but you get the idea. In the movie you can see that normal horizontal scrollbars can be used to browse through your table. When scrolling quickly it even shows a nice spinning clock to indicate it is busy. You can also see that in the thumbnail. You can even reorder all the columns and do things like sorting.

He than continued with a more lengthy (and prepared) demo they also gave at JavaOne. I’ve split that up in a number of smaller videos showing the different features. The first one shows the use of expaning and collapsing accordeons. The next one shows a rich table with details below it. You can see the details refreshing on row-navigation without any apparent page refresh. The third video shows the possibility of drag-and-drop which I think is really cool. The fourth video shows the reordering of columns in a rich table as we also saw on the first demo. The fifth demo shows a link that automitcally requerys, reorders and refreshes a rich table in another accordeon. The sixth and final video shows the recalculation of the shipping costs when you click a shipper.

It al seems very smooth and user friendly. I’ve put the entire demo in a 3 minute movie at the end. Just click the thumbnails to download the movies.

Update 2 February 2007: Oracle has also published a demo showing ADF Faces with Ajax technology.


Initial demo showing the new RichTable component (1:00 - 5.8Mb)


Demo of the new Accordeon (0:34 - 3.2Mb)


RichTable component with details below the table (0:07 - 0.8Mb)


Drag-and-drop demo (0:15 - 1.4Mb)


Reordering of columns in a RichTable (0:06 - 0.6Mb)


Link to requery a RichTable (0:09 - 0.9Mb)


Recalculate shipping (0:32 - 3.0Mb)


Full JavaOne demo (3:09 - 18Mb)

8 Comments

TrackBack URI

  1. Thanks for this very interesting article Wilfred (and for the cool videos!).

    It is nice to know that JDeveloper is striving to keep up with the latest hype out there. I have just started reading my first book on AJAX and I’m looking to use the technology for my final-year project at University. The DOJO toolkit alongside a few others look very promising in order to create nice web applications. But being able to have similar features on JDeveloper together with all other already available JDeveloper features, makes it a lot more easier for developers to integrate web application with a (Oracle) database.

    I am looking forward to see the Early Access release of this new JDeveloper version in action!

    Comment by Michael — 21 June 2006 #

  2. Hi!!

    I’ve been looking in the web about JSF and AJAX because I want to use an Accordeon in my project, but I haven’t been able to find examples (beside your videos) or documentation. Can you point me to the right direction??

    I’m using ADF Faces and JDeveloper 10.1.3.1.0.39

    Thanxs!!!

    Comment by tamara — 12 September 2006 #

  3. The JSF/AJAX components shown in these videos are from the forthcoming version of ADF Faces which is not released yet.

    If you want to get started with JSF/Ajax components today you can have a look at Backbase

    Comment by Wilfred — 13 September 2006 #

  4. Thanx, but Backbase is way too expensive, another thing that I’m trying to do and haven’t been successful is to dinamically create jsf components in my jsp, i need to do something like this:

    I’ve been looking all around and haven’t been able to find documentation on it. I do not wish to have a binding to a manageBean like this: label=”#{backingBean.label}” because at the time I’m in the MB i still don’t have the array that I’m using to create this components.

    Any idea?? I’m beggining to feel that JSF still has a long way to go… or I have way too much to learn!

    thanx again for your help!!

    Tamara

    Comment by tamara — 15 September 2006 #

  5. aparently my code didn’t go through:

    Comment by tamara — 15 September 2006 #

  6. I found the article a really interesting & useful read. Thanks for providing the videos too, Ajax rocks :D

    Comment by IDM — 22 February 2007 #

  7. I thank you for your comment.

    Comment by Rosie — 21 April 2007 #

  8. Hi,

    I have been hearing that AJAX evolved as a quick hack to the existing web browsers limitations. However after architectural evaluation, I don’t see that a hack any more.

    This does look like a perfect solution specially with JSF components with support ajax based event handling to update the html dom content (for partial updates).

    Any comments to know if our understanding is correct.

    Regards,
    Raja Nagendra Kumar,
    C.T.O
    http://www.tejasoft.com

    Comment by Raja Nagendra Kumar — 13 June 2007 #

Trackback/Pingbacks:

  1. IT-eye Weblog » ADF Faces Ajax components

    [...] Both Wilfred at OraTransplant and Lucas Jellema at Amis are writing about the ADF Faces presentations at ODTUG. Wilfred has included some movies in his post Demo of AJAX enabled ADF Faces, which demo, among others, the Rich Table Component in ADF Faces. He also has some other movies made during Duncan Mills’ presentation. The Rich Table component is pretty impressive, it dynamically loads the data when the users drags the scrollbar, and you can reorder, resize and sort the columns. [...]

  2. AMIS Technology blog » Blog Archive » ADF security (ODTUG 2006)

    [...] ADF security (ODTUG 2006) by Aino Andriessen Being a major important technology for Oracle, many presentations on this year’s ODTUG conference covered ADF. The showcase, the demonstration of the forthcoming AJAX enabled ADF Faces, has been described in detail by Lucas (AMIS) and Wilfred. But just as worthwhile were the two presentations on ADF security. The first one was by Peter Koletzky titled "JAZN - implementing the superstition in JDeveloper". He started off with a general introduction to security and mentioned some of the myths that are, unfortunately, stille quite common like "Users always do what you expect them to do" and "Only those who should access your data do access your data". Although, this raised some laughter, we clearly understood the message: pay attention to security and do it well. Things have been changed since the old Forms days. Now, webapplications are available to a much wider, internet, audience and we therfore cannot rely anymore on the traditional implementation based on database users and roles and privileges. We need an new mechanism to login to an application (authentication) and to organize access to (parts of) the application and data (authorization). The standard mechanism for Java applications is called JAAS (Java Authentication and Authorization Services). This offers functionality to verify user logins and restric access to resources, based on roles. JAZN provides a JAAS implementation within Oracle’s J2EE container (OC4J). Currently, two options are available: file based (JAZN-XML) and LDAP based (JAZN-LDAP). Since the interface is the same, it is easy to switch from one to another, e.g. when you go from the development environment to a test or production environment, just by changing one line in the oc4j application.xml: <jazn provider="XML" location="jazn-data.xml" default-realm="jazn.com"/> to <jazn provider="LDAP" location="ldap://ldap.example.com:389">If necessary, it is possible to implement your own mechanism; e.g. when users and roles are stored in your own database.All this was demonstrated with a simple ADF Faces application. Peter created a simple two page applications, defined users and roles, defined the authorization method (basic, form-based or others) and added security constraints to certain pages, all in a declaritive mannen.Later on the day, Duncan Mills presented the follow-up presentation called "Lockdown! - Securing your ADF applications". He started with a startling demonstration of SQL injection on a standard ADF Faces search page (see picture). This clearly demonstrated his point that security is certainly also the developers responsibility. He also elaborated on the fact that jsf does not provide default security functionality as Struts does. However, he showed us the open source initiative jsf-security that extends the JSF EL with a security scope. Note that this is only front-end security (also called security by obscurity) and, although quite usefull, that it is quite easy to override with HTML manipulation. So you’ll need additional authorization, e.g. at ADF binding level. It is also recommended to take good care in organizing the jsf pages to enable role based authorization on url (directory) patterns. Duncan’s demo continued where Peter Koletzky left. He demonstrated how to implement item-level authorization like a manager is allowed read/edit access to the salary while the employee only has read access. Another aspect he addressed was data auditing. ADF can automagically provide auding information like the current user and the modification time. If this is handled in the database, make sure not to use the pseudo-column USER anymore, since typically webapplications use one user for database access. Instead, use a mechanism that is based on Oracle’s sys-context option.O, and did I already mentioned that Peter and Duncan are writing a new JDeveloper book. [...]

Sorry, the comment form is closed at this time.

Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.