<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.5 (http://www.squarespace.com/) on Tue, 07 Sep 2010 02:07:49 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>BK</title><subtitle>Blog</subtitle><id>http://www.bartkummel.net/journal/</id><link rel="alternate" type="application/xhtml+xml" href="http://www.bartkummel.net/journal/"/><link rel="self" type="application/atom+xml" href="http://www.bartkummel.net/journal/atom.xml"/><updated>2010-05-28T13:39:43Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.11.5 (http://www.squarespace.com/)">Squarespace</generator><entry><title>Packt launches new brands</title><category term="Packt"/><category term="book"/><id>http://www.bartkummel.net/journal/2010/4/27/packt-launches-new-brands.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2010/4/27/packt-launches-new-brands.html"/><author><name>Bart Kummel</name></author><published>2010-04-27T10:00:50Z</published><updated>2010-04-27T10:00:50Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p><a title="Packt Publishing corporate web site" href="http://www.packtpub.com/" target="_blank"></a><span class="full-image-float-left ssNonEditable"><span><a href="http://www.packtpub.com/open-source" target="_blank"><img src="http://www.bartkummel.net/storage/images/opensource.png?__SQUARESPACE_CACHEVERSION=1275053977558" alt="" /></a></span></span>Packt Publishing, the publisher of <a title="Apache MyFaces 1.2 Web Application Development" href="https://www.packtpub.com/apache-myfaces-1-2-web-application-development/book?mid/25011044nqxl" target="_blank">my book</a>, just <a title="Packt Open Source and Packt Enterprise Have Launched" href="http://www.packtpub.com/article/packt-open-source-and-packt-enterprise-have-launched" target="_blank">launched</a> two new brands: <a title="Packt Enterprise" href="http://www.packtpub.com/enterprise" target="_blank">Packt Enterprise</a> and <a title="Packe Open Source" href="http://www.packtpub.com/open-source" target="_blank">Packt Open Source</a>. In its first years, Packt specialized in books on open source software products. Over the past years, more and more books about commercial Enterprise software were published by them. To remain focussed, Packt decided to introduce two different brands under the Packt umbrella. I think focussing is always a good idea. On the other hand, there isn&#8217;t always a sharp line between Enterprise and Open Source. So it&#8217;s interesting to see which choices are going to be made in the future.</p>
<p>To celebrate<span class="full-image-float-right ssNonEditable"><span><a href="http://www.packtpub.com/enterprise" target="_blank"><img src="http://www.bartkummel.net/storage/images/enterprise.png?__SQUARESPACE_CACHEVERSION=1275053952125" alt="" /></a></span></span> the launch, Packt offers a 20% discount on all its hard copy books until May 3rd, 2010. An even larger discount is given on ebooks: 30%. Of course this is an excellent chance to buy the <a title="Buy now: Apache MyFaces 1.2 Web Application Development" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">Apache MyFaces 1.2 Web Application Development</a> book on a bargain!</p>
]]></content></entry><entry><title>New ExtVal release</title><category term="Apache"/><category term="ExtVal"/><category term="JSF"/><category term="Java"/><category term="Java EE"/><category term="MyFaces"/><id>http://www.bartkummel.net/journal/2010/4/6/new-extval-release.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2010/4/6/new-extval-release.html"/><author><name>Bart Kummel</name></author><published>2010-04-06T11:53:08Z</published><updated>2010-04-06T11:53:08Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<span class="full-image-float-left ssNonEditable"><span><img src="http://myfaces.apache.org/extensions/validator/images/extval_logo.png?__SQUARESPACE_CACHEVERSION=1270555833551" alt="" /></span></span>Last week, a new version of <a href="http://myfaces.apache.org/extensions/validator/" target="_blank"><span>Apache <span>MyFaces</span> <span>Extenstions</span> <span>Validator</span></span></a><span> (<span>ExtVal</span>) was released. <span>ExtVal</span> is a validation framework that allows us to keep our (<span>JSF</span>) View layer free of any validation code and instead put our validation rules as annotations in the Model layer of our application. These annotations can either be </span><a href="http://en.wikipedia.org/wiki/Java_Persistence_API" target="_blank"><span><span>JPA</span></span></a><span> annotations, <span>ExtVal</span> annotations or </span><a href="http://jcp.org/en/jsr/detail?id=303" target="_blank">JSR 303</a><span> (Bean Validation) annotations. Even a combination of different types of annotations is possible. <span>JSR</span> 303 support is added to <span>ExtVal</span> since last weeks release.</span>
]]></summary></entry><entry><title>Win a free copy of MyFaces 1.2 Web Application Development</title><category term="Apache"/><category term="JSF"/><category term="Java"/><category term="Java EE"/><category term="MyFaces"/><category term="book"/><id>http://www.bartkummel.net/journal/2010/3/23/win-a-free-copy-of-myfaces-12-web-application-development.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2010/3/23/win-a-free-copy-of-myfaces-12-web-application-development.html"/><author><name>Bart Kummel</name></author><published>2010-03-23T20:04:20Z</published><updated>2010-03-23T20:04:20Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<span class="full-image-float-left ssNonEditable"><span><a href="http://www.coderanch.com/forums" target="_blank"><img src="http://www.javaranch.com/images/mooseSaloonAnimated1.gif?__SQUARESPACE_CACHEVERSION=1269375257527" alt="" /></a></span></span>This week my book, <a title="The MyFaces 1.2 Web Application Development book" href="http://tinyurl.com/am12wad/" target="_blank">MyFaces 1.2 Web Application Development</a>, is featured in the <a title="More about JavaRanch Book Promotions" href="http://faq.javaranch.com/view?BookPromotions" target="_blank">JavaRanch Book Promotion</a>. That means I&#8217;ll be anwering questions in the <a title="The JSF Forum @ JavaRanch" href="http://www.coderanch.com/forums/f-82/JSF" target="_blank">JSF forum</a> of JavaRanch&#8217;s <a href="http://www.coderanch.com/forums">Big Moose Saloon</a> the whole week. Everyone who asks a question in that forum from today until <span class="postbody">Friday, March 26th 2010 has a chance to win one of four free copies of the MyFaces 1.2 Web Application Development book. Some interesting questions have been asked already; I hope to answer many more the next few days&#8230;</span>
]]></summary></entry><entry><title>Published today: Apache MyFaces 1.2 Web Application Development</title><category term="Apache"/><category term="ExtVal"/><category term="Facelets"/><category term="JSF"/><category term="Java EE"/><category term="MyFaces"/><category term="Tomahawk"/><category term="Trinidad"/><category term="book"/><id>http://www.bartkummel.net/journal/2010/3/3/published-today-apache-myfaces-12-web-application-developmen.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2010/3/3/published-today-apache-myfaces-12-web-application-developmen.html"/><author><name>Bart Kummel</name></author><published>2010-03-03T12:21:05Z</published><updated>2010-03-03T12:21:05Z</updated><summary type="html" xml:lang="en-US"><![CDATA[Today my book, <a title="Apache MyFaces 1.2 Web Application Development" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">Apache MyFaces 1.2 Web Application Development</a>, is published! Of course this is a big event for me, after working on it for nearly 1.5 years. The book can be <a title="Order here: Apache MyFaces 1.2 Web Application Development" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">ordered</a> from the website of <a title="Packt Publishing - the publisher of Apache MyFaces 1.2 Web Application Development" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">Packt Publishing</a> and will be available trough the major (online) book stores shortly.
]]></summary></entry><entry><title>New skin for Trinidad</title><category term="Apache"/><category term="JSF"/><category term="Java"/><category term="Java EE"/><category term="MyFaces"/><category term="Trinidad"/><category term="book"/><id>http://www.bartkummel.net/journal/2010/2/2/new-skin-for-trinidad.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2010/2/2/new-skin-for-trinidad.html"/><author><name>Bart Kummel</name></author><published>2010-02-02T16:38:20Z</published><updated>2010-02-02T16:38:20Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<span class="full-image-float-left ssNonEditable"><span><img style="width: 250px;" src="http://www.bartkummel.net/storage/images/Cassablanca.png?__SQUARESPACE_CACHEVERSION=1265128348472" alt="" /></span></span><a href="http://myfaces.apache.org/trinidad/" target="_blank">Apache </a><a href="http://myfaces.apache.org/trinidad/" target="_blank">MyFaces</a><a href="http://myfaces.apache.org/trinidad/" target="_blank"> Trinidad</a> is a widely used JSF component set. It is featured in the <a href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">upcoming book on Apache MyFaces</a>,&nbsp;written by me. The benefits of Trinidad include a <a href="http://myfaces.apache.org/trinidad/trinidad-api/tagdoc.html" target="_blank">large choice of components</a>, <a href="http://myfaces.apache.org/trinidad/devguide/ppr.html" target="_blank">built-in Ajax</a> and <a href="http://myfaces.apache.org/trinidad/devguide/skinning.html" target="_blank">extensive skinning possibilities</a>. Until now, one of the shortcomings of Trinidad has been the lack of a good looking open source skin.
]]></summary></entry><entry><title>New book on Apache MyFaces coming up!</title><category term="Apache"/><category term="ExtVal"/><category term="Facelets"/><category term="JEE"/><category term="JSF"/><category term="Java"/><category term="MyFaces"/><category term="Orchestra"/><category term="Tomahawk"/><category term="Trinidad"/><category term="book"/><id>http://www.bartkummel.net/journal/2009/12/7/new-book-on-apache-myfaces-coming-up.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2009/12/7/new-book-on-apache-myfaces-coming-up.html"/><author><name>Bart Kummel</name></author><published>2009-12-07T14:11:20Z</published><updated>2009-12-07T14:11:20Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p><span class="full-image-float-left ssNonEditable"><span><a href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank"><img src="http://www.bartkummel.net/storage/images/3254_cover_small.jpg?__SQUARESPACE_CACHEVERSION=1264520812283" alt="" /></a></span></span>For over a year I have been working on a book about the <a title="MyFaces project home page" href="http://myfaces.apache.org/" target="_blank">Apache MyFaces project</a> for <a title="Packt Publishing website" href="http://www.packtpub.com/" target="_blank">Packt Publishing</a>. The book is nearing completion and is <a title="Apache MyFaces book information page" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">expected to be released February 2010</a>.</p>
<p>The book will be covering the <a title="Apache MyFaces Tomahawk project page" href="http://myfaces.apache.org/tomahawk/" target="_blank">Tomahawk</a>, <a title="Apache MyFaces Trinidad project page" href="http://myfaces.apache.org/trinidad/" target="_blank">Trinidad</a>, <a title="Apache MyFaces Orchestra project page" href="http://myfaces.apache.org/orchestra/" target="_blank">Orchestra</a> and <a title="Apache MyFaces Extensions Validator project page" href="http://myfaces.apache.org/extensions/validator/" target="_blank">Extensions Validator</a> subprojects of MyFaces. Throughout the book, <a title="Facelets project home page" href="https://facelets.dev.java.net/" target="_blank">Facelets</a> 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.</p>
<p>You can find more information about the contents of the book at the <a title="Apache MyFaces book information page" href="http://www.packtpub.com/apache-myfaces-1-2-web-application-development/book/mid/25011044nqxl?utm_source=bartkummel.net&amp;utm_medium=affiliate&amp;utm_content=blog&amp;utm_campaign=mdb_002220" target="_blank">information page</a> over on the Packt Publishing website. You can also pre order the book via this website.</p>
]]></content></entry><entry><title>Oracle ADF: set focus to input field in data table</title><category term="ADF"/><category term="JEE"/><category term="JSF"/><category term="Java"/><category term="Oracle"/><category term="workaround"/><id>http://www.bartkummel.net/journal/2009/11/9/oracle-adf-set-focus-to-input-field-in-data-table.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2009/11/9/oracle-adf-set-focus-to-input-field-in-data-table.html"/><author><name>Bart Kummel</name></author><published>2009-11-09T19:50:00Z</published><updated>2009-11-09T19:50:00Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<p>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 &#8220;Create new record&#8221; 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&#8217;t have the input focus. I looked for a setting in ADF to set the input focus after creating a new record, but didn&#8217;t find anything. So I created my own solution&#8230;</p>
]]></summary></entry><entry><title>Revisited: Oracle ADF and Virtual Private Database</title><category term="ADF"/><category term="JEE"/><category term="Oracle"/><category term="VPD"/><category term="integration"/><id>http://www.bartkummel.net/journal/2009/7/22/revisited-oracle-adf-and-virtual-private-database.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2009/7/22/revisited-oracle-adf-and-virtual-private-database.html"/><author><name>Bart Kummel</name></author><published>2009-07-22T14:36:10Z</published><updated>2009-07-22T14:36:10Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>At the end of <a href="http://www.bartkummel.net/journal/2009/7/15/oracle-adf-and-virtual-private-database.html">my previous post</a>, I stated:</p>
<blockquote>
<p>There&rsquo;s one more thing I&rsquo;m not really sure of (yet). In <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#sm0495">section 39.7</a> of their <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/toc.htm">Fusion Middleware Developer&rsquo;s Guide</a>, Oracle shows a (in my opinion rather hacky) way to make sure Session information is saved between different incarnations of the ApplicationModule. I&rsquo;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, &ldquo;just in case&rdquo;, it doesn&rsquo;t harm anyone.</p>
</blockquote>
<p>After my post, the <a href="http://forums.oracle.com/forums/thread.jspa?threadID=928318&amp;tstart=75">discussion on the Oracle Forum</a> continued. As <a href="http://forums.oracle.com/forums/profile.jspa?userID=467798">Anton</a> stated in <a href="http://forums.oracle.com/forums/message.jspa?messageID=3635431#3635431">his contribution</a> to the discussion, having a redundant solution potentially <em>does </em>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 <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#sm0495">section 39.7</a> of the <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/toc.htm">Fusion Middleware Developer&rsquo;s Guide</a>).</p>
<p class="sect3">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 <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#ADFFD1288">39.2.2.1</a>, <a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcstatemgmt.htm#ADFFD1288">Understanding When Passivation and Activation Occurs</a> in the developers guide.)</p>
<p class="sect3">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&#8217;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.</p>
<p>&nbsp;</p>
]]></content></entry><entry><title>Oracle ADF and Virtual Private Database</title><category term="ADF"/><category term="JEE"/><category term="Java"/><category term="Oracle"/><category term="Persistence"/><category term="VPD"/><category term="database"/><category term="integration"/><id>http://www.bartkummel.net/journal/2009/7/15/oracle-adf-and-virtual-private-database.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2009/7/15/oracle-adf-and-virtual-private-database.html"/><author><name>Bart Kummel</name></author><published>2009-07-15T20:27:00Z</published><updated>2009-07-15T20:27:00Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<p>As you probably know, <a href="http://www.oracle.com/technology/products/adf/index.html">Oracle ADF</a> 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&#8217;s &#8220;Forms&#8221; technology. The client I&#8217;m working for at the moment is such a company, and we&#8217;re developing an application in ADF that is going to replace (a part of) their Forms application eventually.</p>
<p>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&#8217;s, we were unlucky to have chosen to use a database feature that is not supported that well in ADF. That is &#8220;out of the box&#8221;. Wit a lot of &#8220;trial and error&#8221; and some <a href="http://forums.oracle.com/forums/thread.jspa?threadID=928318">help</a> from <a href="http://forums.oracle.com/forums/profile.jspa?userID=480262">some</a> <a href="http://forums.oracle.com/forums/profile.jspa?userID=425459">experts</a> at the forum on Oracle&#8217;s <a href="http://otn.oracle.com">Technology Network</a>, I managed to get it working. Read on to find out what problems I encountered and how I solved them.</p>
]]></summary></entry><entry><title>Apache MyFaces Extensions Validator introduced</title><category term="Apache"/><category term="ExtVal"/><category term="JEE"/><category term="JSF"/><category term="Java"/><category term="MyFaces"/><id>http://www.bartkummel.net/journal/2009/1/8/apache-myfaces-extensions-validator-introduced.html</id><link rel="alternate" type="text/html" href="http://www.bartkummel.net/journal/2009/1/8/apache-myfaces-extensions-validator-introduced.html"/><author><name>Bart Kummel</name></author><published>2009-01-08T07:00:00Z</published><updated>2009-01-08T07:00:00Z</updated><summary type="html" xml:lang="en-US"><![CDATA[<p><span class="full-image-float-left ssNonEditable"><span><img src="http://3.bp.blogspot.com/_JO_w8kWegc4/SUUpLbuK-3I/AAAAAAAAALI/0GJR1odrclc/s400/extval_logo_proposal.gif?__SQUARESPACE_CACHEVERSION=1231402154777" alt="" /></span></span>In a typical Java EE web application, there&#8217;s almost always the problem of where to put the validation. Of course there&#8217;s only one place where validation belongs: in the <a href="http://en.wikipedia.org/wiki/Model-view-controller#As_a_design_pattern">model</a>. So if you&#8217;re e.g. using <a href="http://java.sun.com/products/ejb/">EJB </a>as <a href="http://java.sun.com/javaee/technologies/persistence.jsp">persistence layer</a>, the EJB Entities is where the validation code belongs. However, from a usability point of view, one never wants to leave all validation out of the UI code. This often leads to duplicate validation code. While not ideal, duplicate validation code is often considered as inevitable.</p>
<p>Yesterday I stumled upon <a href="http://myfaces.apache.org/extensions/validator/">Apache MyFaces Extensions Validator</a> (<a href="http://wiki.apache.org/myfaces/ExtVal">a.k.a. ExtVal</a>, <a href="http://os890.blogspot.com/2008/07/sev-en-continues-at-myfaces.html">formerly sev-en</a>), a JSF based solution that looks very promising. I did not have a chance to try it myself yet, but it promises some nice things:</p>
]]></summary></entry></feed>