Interesting books

Apache MyFaces 1.2 Web Application Development

Apache MyFaces Trinidad 1.2: A Practical Guide

JSF 1.2 Components

Bart on the web
  • View my profile on LinkedIn
  • I'm proud member of the NLJUG
  • View my bookmarks on Delicious.com
  • My profile on Plaxo
Tuesday
02Feb2010

New skin for Trinidad

Apache MyFaces Trinidad is a widely used JSF component set. It is featured in the upcoming book on Apache MyFaces, written by me. The benefits of Trinidad include a large choice of components, built-in Ajax and extensive skinning possibilities. Until now, one of the shortcomings of Trinidad has been the lack of a good looking open source skin.

Click to read more ...

Monday
07Dec2009

New book on Apache MyFaces coming up!

For over a year I have been working on a book about the Apache MyFaces project for Packt Publishing. The book is nearing completion and is expected to be released February 2010.

The book will be covering the Tomahawk, Trinidad, Orchestra and Extensions Validator subprojects of MyFaces. Throughout the book, Facelets will be used as view technology. That makes the book not only an essential resource for developers that use MyFaces, but also an excellent source of Facelets examples.

You can find more information about the contents of the book at the information page over on the Packt Publishing website. You can also pre order the book via this website.

Monday
09Nov2009

Oracle ADF: set focus to input field in data table

At my current client we had the first user acceptance test of a new Oracle ADF application. We have a lot of data entry pages in our application, where database records are presented in editable tables. Each table has a tool bar, with a “Create new record” button on it. One of the things the users noticed during the test, is that when they created a new record, the new record showed up in the table and was selected, but the first input field in the record didn’t have the input focus. I looked for a setting in ADF to set the input focus after creating a new record, but didn’t find anything. So I created my own solution…

Click to read more ...

Wednesday
22Jul2009

Revisited: Oracle ADF and Virtual Private Database

At the end of my previous post, I stated:

There’s one more thing I’m not really sure of (yet). In section 39.7 of their Fusion Middleware Developer’s Guide, Oracle shows a (in my opinion rather hacky) way to make sure Session information is saved between different incarnations of the ApplicationModule. I’m not sure if this is needed in our approach, since we set the year at the start of each JSF lifecycle anyway. But I implemented it, “just in case”, it doesn’t harm anyone.

After my post, the discussion on the Oracle Forum continued. As Anton stated in his contribution to the discussion, having a redundant solution potentially does harm the performance of the application as a whole. He also suggests that the solution with a PhaseListener may be worse in terms of performance than a ApplicationModule that has proper passivation/activation code in place (see section 39.7 of the Fusion Middleware Developer’s Guide).

Although I was not convinced about that immediately, I think Anton is actually rigtht. When using a PhaseListener, it is certain that the value in the ApplicationModule will be updated at every request from the browser. Passivation or activation on the other hand only occurs when the application module that comes from the application module pool is actually an other application module intance than the one that was used for the previous request. Only in a situation where there are very many users logged in, chances are that every request will be handled by a different application module instance. (See section 39.2.2.1, Understanding When Passivation and Activation Occurs in the developers guide.)

The only way to prove any influence on performance would be to carry out some benchmark, but that seems a whole lot of work to do right. But I did a test with and without the PhaseListener to see if there were any functional differences, and I couldn’t find any. In other words, once the passivation/activation code is in place, the PhaseListener does not add anything useful anymore. And because the passivation/activation solution is (at least theoretuically) better, performanc-wise, I decided to remove the PhaseListener from my application.

 

Wednesday
15Jul2009

Oracle ADF and Virtual Private Database

Updated on Wednesday, July 22, 2009 at 16:47 by Registered CommenterBart Kummel

As you probably know, Oracle ADF is a complete JEE application development framework from Oracle. It is targetted at companies that already have an Oracle Database and perhaps legacy applications developed with Oracle’s “Forms” technology. The client I’m working for at the moment is such a company, and we’re developing an application in ADF that is going to replace (a part of) their Forms application eventually.

One would expect a framework designed by Oracle for use with an Oracle database to have excellent support for specific features of the Oracle database. For a lot of features this is true, but at my client’s, we were unlucky to have chosen to use a database feature that is not supported that well in ADF. That is “out of the box”. Wit a lot of “trial and error” and some help from some experts at the forum on Oracle’s Technology Network, I managed to get it working. Read on to find out what problems I encountered and how I solved them.

Click to read more ...