Uma das maiores dificuldades para se aprender JSF é seu aparentemente complexo ciclo de vida, composto por 6 fases. Ao debugar uma aplicação JSF, percebe-se que alguns métodos dos Managed Beans são executados várias vezes, uma em cada fase, o que não é muito intuitivo, principalmente quando se está acostumado com outros frameworks web que utilizam abordagens bem diferentes.
Para facilitar a compreensão do ciclo de vida do JSF, recomendo o tutorial The JSF application lifecycle, da IBM. Ele explica cada fase, e apresenta um exemplo bem simples de uma aplicação usando JSF. Este tutorial é a segunda parte da série “JSF for nonbelievers”. As demais partes também são bem interessantes:
- Parte 1: Clearing the FUD about JSF
- Parte 3: JSF conversion and validation
- Parte 4: JSF component development


Entender o ciclo de vida de uma requisição JSF é algo obrigatório para quem está iniciando com o framework. Você está certissímo quanto a importancia disso.
Contudo, este artigo da IBM data de meados de 2005, ele é bem antigo e aborda o ciclo de vida da especificação 1.0 ainda. E algumas coisas mudaram na versão 1.1 e 1.2 do JSF. Por isso este artigo não é uma boa indicação hoje em dia.
Um bom artigo teórico e prático sobre o ciclo de vida no JSF é este escrito pelo BalusC, http://balusc.blogspot.com/2006/09/debug-jsf-lifecycle.html .
Abraços e muito bom o post
Rafael,
vou dar uma olhada. Valeu pela dica!