Fiz uma pesquisa rápida dessa vez, mas não sei ao certo qual tags usar agora por que tudo que veio não tinha nada a ver hehe.
Enfim, estou querendo implementar uma espécie de service locator pra alguns serviçoes que estou criando que possuem diversas implementações, cada uma específica pra um servidor de aplicações (há para o jboss, weblogic, glassfish e uma implementação que nao conta com ASs).
Gostaria de saber como eu posso identificar qual deles eu estou rodando.
Ou seja, se eu faço o deploy de uma aplicação que faz o uso desse meu serviço, quando eu pedir a ele um serviço específico quero retornar a implementação especial desse servidor de aplicações, compreendem?
Tava pensando em pegar o stackTrace e analisa-la, mas não sei se é uma opção adequada.
Entenderam o que eu quero fazer?
Se não der, tudo bem, mas eu gostaria muito de pelo menos fazer um piloto que o identificasse automaticamente, abstraindo mais ainda essa camada pra quem utilizasse o serviço em específico.
Olá,
pelo que entendi você quer identificar o que o serviço está em um servidor específico. Pensei que isso poderia ser resolvido colocando um determinado apelido (via JNDI) no serviço, de tal forma que possa identificar a sua origem. Entretanto, a forma de utilização pode diferir em diferentes servidores.
Ainda tem que ver se a minha sugestão se adequa à sua aplicação, pode ser que não.
De qualquer forma segue um link para consulta http://java.sun.com/products/jndi/tutorial/trailmap.html
Tomcat nem é servidor de aplicações…
O mais usados são JBoss, WebSphere e WebLogic.
O que acontece é o seguinte:
Meu módulo possui um serviço que ele disponibiliza.
Esse servidor possui várias implementações diferentes, cada uma pra rodar num servidor de aplicações em especial.
Ou seja, a implementação especial de JBoss usa classes e serviços do JBoss, o do WebLogic usa classes e serviços do weblogic e assim por diante.
Quem chama pelos serviços conhece apenas a interface comum, desconhece qualquer detalhe da implementação especial do servidor de aplicações em que está “deployado”.
Atualmente quem usa esses serviços diz pra interface comum qual a implementação que ele quer receber, mas não considero essa solução muito elegante.
Gostaria de um modo de identificar em qual AS esse módulo está “deployado” e retornar a implementação especial sem que nem mesmo o cliente precise especificar.
[quote=andredecotia]Por favor what is difference sobre App Server e Web Server?
Aliás o conceito de Web Server é o mesmo de Web Service?
abs,
André AS[/quote]
Cara, de boa, procura no google e/ou cria um tópico novo com a sua pergunta, fiz esse tópico com uma pergunta e do meio pra cá ele foi seqüestrado com outro assunto, portanto não irei responder.
Se for postar um tópico novo PESQUISE antes, garanto que haverá zilhões de referências que com certeza te responderão se você se der ao trabalho de lê-los.
Desculpe-me se fui rude, mas não é nada agradável quando se tem um tópico seqüestrado, ainda mais com perguntas tão banais.
A diferença de servidores web/conteiner web pra servidores de aplicações, falando-se em termos técnicos é muito relevante e grande, mesmo que servidores de aplicações tenham conteiners web essa é uma PARTE dele, não ele como um todo, nada que o defina por si só.
Fiz uma pesquisa de 2 minutos (exagerando, de verdade) no google e encontrei muitos links com respostas até satisfatórias, inclusive um deles tinha uma pergunta do colega ai de cima respondida, no mesmo contexto.
[quote=Tchello]
Não fale besteira.
O GUJ é um forum técnico, com usuários de perfil técnico, não é feito de marketeiros nem de vendedores.
A diferença de servidores web/conteiner web pra servidores de aplicações, falando-se em termos técnicos é muito relevante e grande, mesmo que servidores de aplicações tenham conteiners web essa é uma PARTE dele, não ele como um todo, nada que o defina por si só.
Fiz uma pesquisa de 2 minutos (exagerando, de verdade) no google e encontrei muitos links com respostas até satisfatórias, inclusive um deles tinha uma pergunta do colega ai de cima respondida, no mesmo contexto.[/quote]
Independente do motivo, eu gostaria muito de saber como identificar qual servidor de aplicações estou “deployado” e mesmo SE estou deployado em algum.
Deve ter algum modo, mesmo que particular de cada AS, mas não consigo encontrar.