Estruturação dos beans - JSF

Galera, to com uma duvida sobre como estruturar meus beans
Seguinte:

Tenho uma classe chamada Usuario, dentro do usuario eu tenho uma classe chamada Perfil e dentro de perfil eu tenho um arraylist de Recado
como se fosse o orkut saca ?

Eu criei um usuarioBean de escopo sessao e estou trabalhando apenas com ele
1º Implementação do cadastro de usuario no UsuarioBean
2º Login do usuario no UsuarioBean
---- Ate aqui tudo bem -----
3º Atualizacao dos dados do Perfil no usuarioBean acessando usuarioBean.usuario.perfil.nome, usuarioBean.usuario.perfil.idade…
4º Visualização dos recados do Perfil no usuarioBean …

Ou seja, estou fazendo tudo atravez do usuarioBean… To achando isso meio errado
Como estruturar esses managedbeans ?

tenho que criar um PerfilBean pra fazer as operacoes referentes a ele ?
Criar tb um RecadoBean ?

mais se eu fizer assim … como compartilhar o usuario do tipo Usuario que esta na classe usuarioBean ? Que é onde está o usuario e todos os dados atualizados.

Valeu galera … um abraço

Acho que você deveria separa mais as coisas.
Você poderia ter um UsuarioMB, PerfilMB, RecadoMB, LoginMB… .
Essa é minha opnião.

Espero ter ajudado.

Certo, mais eh o seguinte …
isso tudo vai ser relacionado com um unico usuario certo ?
no caso o usuario logado…

A ideia então é eu colocar esse usuario na sessao e sempre que for utilizar os beans
eu pego o usuario da sessao

tem como fazer isso la no jsf-config.xml ?

Quando o usuario se loga, eu coloco um booleano identificando se esta logado e sua id na sessao
dai quando eu preciso usar alguma coisa eu faço um get do usuario pelo id…

Desculpa pela demora por responder.

Sim, é isso mesmo.
Você coloca o id dele na sessão e quando precisar de alguma informação sobre ele vc recupera pelo id.

Qualquer dúvida é só perguntar.

Espero ter ajudado.

henrique… consegui fazer assim
mais soh ta fazendo uma coisa

eu tenho o usuarioMB de escopo sessao
e o perfilMB de escopo sessao tb, pq eu quero persistir as informacoes do perfil la na tela enquanto o usuario fica logado

mais tipo… eu tenho o botao “sair” que desloga o usuario

entao eu coloco o id como null na sessao, mais tipo… eu preciso colocar o perfilMB tb como null
pq quando eu logar com outro usuario, quero que apareca os dados do outro perfil

eu tentei colocando o perfilMB como null na sessao

d vez em quando da certo, mais de vez em quando da um erro dizendo que nao conseguiu iniciar o perfilMB… dai tenho que voltar a tela e clicar dnovo no botao sair…
dai funciona

vc tem uma solucao melhor ?
abraço

Olá sandro.
Se o seu usuário tem um perfil, acho que com o id do usuário você consegue carregar todos os dados do perfil dele certo?
Acho que não é necessário colocar o perfil dele na sessão.
O que você pode fazer também é na hora em que ele se logar você carregar todo o perfil dele com recados etc e colocar o usuário na sessão ao invés de colocar só o id,
mas não acho que isso seja muito viável. Imagina colocar um usuário com 10.000 recados na sessão?

De qualquer forma acho funciona apenas com o id.