Jsf + tomcat: troca de dados entre aplicativos

Boa noite pessoal.

Estou usando servidor de aplicações tomcat e os aplicativos são constuidos em JSF 2.1.

Tenho um aplicativo Login, que deve ser o centralizador dos aplicativos disponibilizados. Ao logar neste aplicativo, tem uma index, com duas frames, a frameLeft, ainda dentro do aplicativo Login, mostra o usuário logado e uma lista de aplicativos que o usuário pode utilizar. Ao selecionar o aplicativo da lista, o aplicativo é aberto na frameMain:

O problema, é que os aplicativos filhos dependem das informações do usuário para que possam ser carregados corretamente, no entanto, não encontrei nenhuma forma de enviar as informações do usuário do Bean do aplicativo pai para o aplicativo filho.

Minha frameMain, faz a chamada do aplicativo dinamicamente, utilizando o include do facelets, conforme abaixo:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <title>frame main</title>
    </h:head>
    <h:body  style="font-family: arial; background-color: activeborder">
        <h:form>
            <ui:include src="#{loginBean.aplicativoCorrente.caminho}"/>
        </h:form>
    </h:body>
</html>

Já tentei disponibilizar os dados por servlet, mas a sessão do aplicativo filho me parece não ser a mesma sessão do aplicativo pai, apesar de ser sendo aberto em um componente do pai.

Alguma idéia de como passar os dados de usuário para o palicativo filho?

Att:
José Luiz

PS: tentei incluir o print da tela principal do aplicativo, mas não consegui.

pessoal, estou tentanto usar o apache tomEE para criar mudulo EJB. Alguém tem algum material?

Pessoal.

consegui passar o parametro usando o componente do facelets ui:param, minha frameMain do aplictivo login (centralizador de aplicativos) ficou assim:

    <f:view>
    <h:body  style="font-family: arial; background-color: activeborder">
        <h:form>
            <ui:param name="usuario" value="#{loginBean.usuario.username}"/>
            <ui:param name="aplicativo" value="#{loginBean.aplicativoCorrente.idAplicativo}"/>
            <ui:include src="#{loginBean.aplicativoCorrente.caminho}"/>
        </h:form>
    </h:body>
    </f:view>

Minha pagina do aplicativo acesso (aplictivo que recebe os parametros) está assim:

    <h:body>
    <h:form>
        <h:inputHidden  id="usr" value="#{usuario}"/>
        <h:inputHidden id="app" value="#{aplicativo}"/>
        <h:commandButton action="#{acessoBean.carregaBean}" value="acesso">
            <f:setPropertyActionListener target="#{acessoBean.idApl}" value="#{aplicativo}"/>
            <f:setPropertyActionListener target="#{acessoBean.usr}" value="#{usuario}"/>
        </h:commandButton>
        Hello from Facelets <br/>
        <h:outputText value="testando login: #{usuario}"/> <br/>
        <h:outputText value="testando appl: #{aplicativo}"/> <br/>
        <h:outputText value="testando hidden login: #{usr}"/> <br/>
        <h:outputText value="testando hidden appl: #{app}"/> <br/>
    </h:form>
    </h:body>

Daí pra frente o problema depende do caminho passado para o ui:include da frameMain:

Caminho: http://localhost:8080/acesso (contexto do aplicativo filho - acesso):

  1. a pagina index do aplicativo filho não recebe os parametros
  2. ao clicar no commandButton, a mensagem é apresentado:
viewId:/frameMain.xhtml - A exibição de /frameMain.xhtml não pôde ser restaurada.

Caminho: http://localhost:8080/acesso/index.xhtml (caminho da pagina inicial do aplicativo filho - acesso):

  1. a pagina index do aplicativo filho recebe os paranetros corretamente
  2. ao clicar no commandButton, a mensagem é apresentada:
//acesso/index.xhtml @17,94 target="#{acessoBean.idApl}": Target Unreachable, identifier 'acessoBean' resolved to null

como se o bean não tivesse sido instanciado;

Alguem sabe como resolver o problema por um dos dois caminhos:

alguem tem alguma idéia do que fazer?