Olá pessoal…
Eu tenho numa aplicação web um façade q que retorna alguns objetos…
E em uma outra aplicação q não é web… eu precisaria recuperar esses mesmos objetos…
Seria uma má prática utilizar esse mesmo façade para recuperar esses objetos?
Olá pessoal…
Eu tenho numa aplicação web um façade q que retorna alguns objetos…
E em uma outra aplicação q não é web… eu precisaria recuperar esses mesmos objetos…
Seria uma má prática utilizar esse mesmo façade para recuperar esses objetos?
[quote=“dac”]
Seria uma má prática utilizar esse mesmo façade para recuperar esses objetos?[/quote]
Mas vc deve utilizar essa mesma interface publica do seu facade independente de view, é pra isso q ele serve! :joia:
Q bom… isso me anima um pouco…
Só q qdo tento utilizar esse façade, o seguinte erro acontece…
[quote]Need to specify class name in environment or system property, or as an applet pa
rameter, or in an application resource file: java.naming.factory.initial[/quote]
Tenho q especificar em algum lugar que o recurso é publico?
ta, perai, agora estamos entrando em uma conversa com relação a implementação desse facade. Oque é teu facade? É um EJB? Como esta a sua arquitetura lógica e física?
A aplicação web está no tomcat…
E o façade não é um EJB…
A arquitetura da app web está mais ou menos assim:
Servlet -> Façade -> DAO
O DAO acessa uma classe de conexão com o banco… q recupera o datasource q está em um JNDI…
Quem está lançando esse erro é essa classe de conexão…
Se quem lança essa exception é a persistência, não tem muita coisa a ver com o seu facade. A propósito, sugiro q crie outro tópico para a solução do mesmo
É um problema com o JNDI… estou tentando resolver…
De qualquer forma… ainda sobre o façade…
Qual seria a melhor forma de disponibilizar esse façade para outras aplicações?
Oq eu fiz foi adicionar WEB-INF da aplicação web no CLASSPATH para q a outra aplicação possa utilizar… tem outra forma de fazer isso?
Cara acho q o melhor seria disponibilizar como EJB stateless. Por ser um facade, a intenção é ser usado por várias aplicações q fazem a interface com um usuário um outro programa cliente, e claro, sem limitações físicas.
Por limitações físicas eu me refiro a aplicações em máquinas diferentes, e EJBs são componentes remotos por natureza.
Um EJB funciona no Tomcat?
Não.
Ok… e teria uma outra forma de disponibilizar esse façade utilizando o Tomcat sem ter q colocar o WEB-INF da aplicação no Tomcat?
Deixar o façade como um objeto remoto…
Pensei em uma coisa…
E um servlet? Dá pra fazer ele retornar um objeto pra quem acessar remotamente?
[quote=“dac”]Ok… e teria uma outra forma de disponibilizar esse façade utilizando o Tomcat sem ter q colocar o WEB-INF da aplicação no Tomcat?
[/quote]
Como assim sem ter q colocar o WEB-INF da aplicação no Tomcat? Não entendi :roll:
Mas cara, pq tu não muda pro JBoss de application server, ele tem o Tomcat por baixo, não vai mudar nada pra tua aplicação. EJBs estão ai pra te ajudar qnd tu quer fazer um componente acessível remotamente, sem precisar se preocupar com sockets, detalhes de RMI, etc… :roll:
[quote=“dac”]Pensei em uma coisa…
E um servlet? Dá pra fazer ele retornar um objeto pra quem acessar remotamente?[/quote]
HttpServlet retorna um response q tem conteúdo texto, ou um OutputStream com bytes de um arquivo… tu até pode trabalhar com GenericServlet mesmo, num protocolo teu ou sei lá, mas na minha opnião não vale a pena :roll:
[quote=“matheus”][quote=“dac”]Ok… e teria uma outra forma de disponibilizar esse façade utilizando o Tomcat sem ter q colocar o WEB-INF da aplicação no Tomcat?
[/quote]
Como assim sem ter q colocar o WEB-INF da aplicação no Tomcat? Não entendi :roll:
[/quote]
Sem tem q colocar o WEB-INF do Tomcat no CLASSPATH… escrevi errado…
[quote=“matheus”][quote=“dac”]"]
Deixar o façade como um objeto remoto…
[/quote]
Mas cara, pq tu não muda pro JBoss de application server, ele tem o Tomcat por baixo, não vai mudar nada pra tua aplicação. EJBs estão ai pra te ajudar qnd tu quer fazer um componente acessível remotamente, sem precisar se preocupar com sockets, detalhes de RMI, etc… :roll:[/quote]
Não rola mudar pro JBoss nesta aplicação agora por motivo de tempo…
Se não existir outras maneiras a mudança de servidores é justificável…
[quote=“dac”]
Não rola mudar pro JBoss nesta aplicação agora por motivo de tempo…
Se não existir outras maneiras a mudança de servidores é justificável…[/quote]
Só se for tempo de download. Pois o mesmo war q tu atira no Tomcat tu atira no JBoss. :roll: Mas bem, a minha dica pro teu facade remoto é essa, EJB. :joia: