Como identificar o servidor de aplicacoes que estou usando?

Bom dia pessoal!

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.

Obrigado!!!

Talvez identificar o serviço via JNDI resolva o seu problema.
att.

[quote=Adelar]Talvez identificar o serviço via JNDI resolva o seu problema.
att.[/quote]
E como eu poderia fazer isso?

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

att.

Quais são os mais usados no mercado WebSphere e JBoss?

André AS

Faz um Class.forName… de uma classe especifica do servidor em questao… se a classe existir, é porque está naquele servidor…

Eu acho que os mais usados sao JBoss e Tomcat

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.

Compreendem?

É o que entao?

[quote=rogelgarcia][quote=Tchello]
Tomcat nem é servidor de aplicações…
[/quote]

É o que entao?[/quote]
Servidor web.
Note que: servidor web != servidor de aplicações;

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=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.

[quote=Tchello]
Note que: servidor web != servidor de aplicações;[/quote]

Eu entendi o que vc quis dizer… mas conceitualmente o Tomcat é servidor de aplicacoes pois voce coloca uma aplicacao nele.

Essa diferença de servidor web e aplicacoes que vc tá falando é coisa do Marketing :smiley:

http://en.wikipedia.org/wiki/Application_server

[quote=rogelgarcia][quote=Tchello]
Note que: servidor web != servidor de aplicações;[/quote]

Eu entendi o que vc quis dizer… mas conceitualmente o Tomcat é servidor de aplicacoes pois voce coloca uma aplicacao nele.

Essa diferença de servidor web e aplicacoes que vc tá falando é coisa do Marketing :smiley:

http://en.wikipedia.org/wiki/Application_server[/quote]
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=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]

Beleza cara…

Então, será que alguém saberia me responder se há algum meio de se consultar o servidor de aplicações que eu estou deployado?

Obrigado!

Sendo bem chato…vc quer deixar sua app independente de configurações específicas de AS?
Qual a razão?

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.