title: JSF 1.2 application migration to JSF 2.0
body: <p>Currently, my web-application is based on the following libraries / frameworks / tools:</p>
  
  <ul>
  <li>Java 1.6</li>
  <li>JSF 1.2_07-b03-FCS</li>
  <li>Facelets 1.1.14</li>
  <li>Richfaces 3.3.2.GA</li>
  <li><a href="http://el-functors.sourceforge.net/" rel="noreferrer">EL-Functors 1.0.2</a></li>
  <li>Spring 2.5.2</li>
  <li>Tomcat server v5.5</li>
  </ul>
  
  <p>Some additional information:</p>
  
  <ul>
  <li><code>Spring</code> is in charge of managing all the beans used by JSF (<code>org.springframework.web.jsf.DelegatingVariableResolver</code> is defined as the <code>variable-resolver</code> in my <code>faces-config.xml</code> file).</li>
  <li><code>EL-Functors</code> is used as my <code>el-resolver</code> in order to extend the Expression Language. </li>
  <li>I've created many custom components, some of them are just Facelets compositions, others are Java-based components (some of them are extending Richfaces components).</li>
  </ul>
  
  <p>I want to try (essentially for curiosity, but if this works well, why not for <em>real</em>?) to migrate my application to JSF 2.0.</p>
  
  <p><strong>Question #1</strong>: what are the critical points that I must consider in order to make my application working correctly?</p>
  
  <p>I am talking here about just having a <em>working</em> application, nothing less, nothing more.</p>
  
  <p>I alread know that I will have to review all my custom components, because I will use the new version of Richfaces (4.0), and also see if they work correctly.</p>
  
  <p><strong>Question #2</strong>: what will be the first steps to achieve to take advantages of JSF 2.0?
  Some ideas I already have are:</p>
  
  <ul>
  <li>Remove <code>EL-Functors</code> and use the Expression Language 2.2;</li>
  <li>Let JSF manage the beans, and use the <code>@ManagedBean</code>. Or maybe switch to a CDI library, such as <a href="http://seamframework.org/Weld" rel="noreferrer">Weld</a>?</li>
  <li>Use <code>&lt;f:ajax&gt;</code> instead of <code>&lt;a4j:support&gt;</code>?</li>
  </ul>
  
  <p><strong>Regarding JavaEE6</strong></p>
  
  <p>I know, a good idea would be to completely move to JavaEE6. I'd liked to do so, but for some reasons I just can't do that way. One (bad) reason is that I must stay on Tomcat servers.
  However, I can add new third-party libraries in order to have some JavaEE6 features, such as EL 2.2...
  So please consider this aspect in your answers.</p>
  
  <p>Regards.</p>