Ir para o conteúdo

 Voltar a Jaguar - Des...
Tela cheia

Nova Interface para integração entre projetos

19 de Setembro de 2012, 17:21 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 112 vezes
Temos uma aplicação em struts já rodando em cliente. Essa foi feita com JCompany 3.1.
Como é uma aplicação grande e em constantes atualizações, não temos como fazer uma migração da noite por dia para a nova versão (Jaguar com faces).
Também não queremos ficar defasado tecnologicamente então pensamos em criar um novo projeto em faces com o Jaguar e as novas funcionalidades fazer neste projeto.
Diante disso estamos com algumas dúvidas com relação a integração. Vou explicar como pensamos:

1) Login centralizado no struts, trabalhando com SingleSignOn. Tela de login do projeto faces redireciona para tela de login do projeto struts. Isso já está funcionado.

2) A parte do menu é toda montada no projeto struts. Lá tem uma action chamada "chamaRecursoFaces?recu=xxx&modoJanelaPlc=popup&demais_parametros" que chama a URL do
projeto faces passando os respectivos parâmetros. Essa action é aberta através de um Iframe dentro do projeto struts. Então para o cliente fica de modo
transparente (projeto struts x projeto faces). Isso também está funcionando.

3) Quando chamo um recurso faces pela primeira vez, passa na classe AppUserProfileUtil, método registrySpecificProfile. Neste método precisamos chamar uma interface que está em
um projeto (jar). Se eu fizer da forma:  PlcCDIUtil.getInstance().getInstanceByType(IMeuSecurityApi.class), volta null. Como faço para que essa interface seja "registrada"?
É que assim, nos temos o nosso Security, não usamos o JSecurity. Lá temos métodos que nos devolve todos os recursos e filtros que serão aplicados ao usuário logado. Seria algo
do tipo:
-> IMeuSecurityApi extends IPlcJSecurityApi
-> MeuSecurityApiImpl extends PlcJSecurityApiImpl

Gostaria de utilizar a interface IMeuSecurityApi no registrySpecificProfile e em um filter, mas não estamos conseguindo.
Algúem tem alguma dica, sugestão de como poderiamos implementar essa integração?

Autor: Paulo Cesar Debatin


33 comentários

  • 40c14794ea9b2a989cf98efc0a4f81f6?only path=false&size=50&d=404Rogerio Baldini(usuário não autenticado)
    19 de Setembro de 2012, 17:28

     

    Paulo,

    para que o  PlcCDIUtil.getInstance().getInstanceByType(IMeuSecurityApi.class) funcione, deve existir pelo menos uma classe que implemente a interface IMeuSecurityApi, e aparentemente isso não é verdade.

    Faça: 

    -> IMeuSecurityApi extends IPlcJSecurityApi 

    -> MeuSecurityApiImpl extends PlcJSecurityApiImpl  implements IMeuSecurityApi 

    Baldini. 

     

  • Da91ac0b37d54233c31ad28c0cac2114?only path=false&size=50&d=404Adolfo Junior(usuário não autenticado)
    19 de Setembro de 2012, 23:37

     

    Paulo,

    A implementação da interface está no "jar"?

    O "jar" deve conter o arquivo "beans.xml" para que o CDI faça a leitura dos Beans disponíveis no mesmo.

    Caso não seja possível interferir no JAR, em seu projeto é possível adidionar um "Producer" para a interface.

    public class MeuSecurityApiProducer {
        @Produces @RequestScope
        public IMeuSecurityApi getInstance() {
            return new MeuSecurityApiImpl();
        }
    }

  • 2b3c0c0daecc27fa2dca8a3a5aecbc56?only path=false&size=50&d=404Paulo Cesar Debatin(usuário não autenticado)
    21 de Setembro de 2012, 8:24

     

    A interface está dentro do JAR, e não podiamos alterar.  Fizemos através de um "@Produces" e funcionou.

    Obrigado Rogério e Adolfo pelas dicas.

Lançamento do Jaguar 6.1 eminente...

6 de Maio de 2012, 8:13, por Desconhecido

O Jaguar 6.1 traz um grande leque de inovações dentre eles os exclusivos Jaguar Extensions, que possibilitam que plugins de arquitetura sejam criados com elegância através de técnicas de OCP (Open/Closed Principle). Este mecanimo possibilita que as implementações hiper-produtivas para Padrões de Caso de Uso de alto nível do Jaguar sejam expandidas através de componentes que encapsulam novos padrões, tanto para a parte OO (framework) quanto de geração de código complementar!



Evento Jaguar em Brasília, no dia19/10

3 de Outubro de 2011, 9:34, por Desconhecido

Quem estiver em Brasília no dia 19/10 não deixe de investir uma manhã neste evento, que é bem prático (mão na massa para desenvolver uma aplicação "do zero" com Java EE 6 / Jaguar) e traz insights importantes sobre tendências para a próxima década (BPMN 2.0, CMIS, Web Mobile com HTML5, etc.), implementados via Jaguar Extensions.



Ibrowse lança ferramenta de migração dos aplicativos desenvolvidos em Oracle Forms/Reports para o ambiente Jaguar

19 de Agosto de 2011, 16:37, por Desconhecido

A ferramenta lançada é o Telescope for Jaguar na modalidade SaaS, que visa a automação no processo de migração dos aplicativos desenvolvidos em Oracle Forms/Reports para o ambiente Java EE 6 na arquitetura Jaguar, que é uma das soluções do Portal do Software Publico.



Treinamento Jaguar em Brasília

27 de Julho de 2011, 14:47, por Desconhecido

Autor: Anna Carolina Duarte



A Ibrowse em parceria com a Universidade Luterana do Brasil (ULBRA) realiza o 1º curso de extensão em Jaguar

11 de Julho de 2011, 15:35, por Desconhecido

Autor: Justino Paulo