Registro e acompanhamento de Serviços (SOA)

6 respostas
danieldestro

Galera,

Estamos começando com SOA aqui no cliente. A idéia é ter serviços providos na forma de componentes EJB Stateless Session Bean (ESSB) para que os sistemas Java utilizem esses serviços via RMI-IIOP. E em alguns casos, tornar esses serviços EJB em WebService para sistemas externos ou não-Java.

Acontece que o administrador dos sistemas quer uma forma de saber quais serviços estão rodando em cada instância do JBoss (atualmente na versão 4.0.3-SP1, com Java 5).

Pensei em algumas formas de proporcionar ao admin esse controle para visualização e testes.

Uma forma seria ter um sistema de registro dos serviços. Hoje em dia, cada instância já possui uma app web, chamada Monitor, que faz algumas verificações. Pensei em cada pacote de serviço registrar os seus serviços nessa aplicação Monitor. Aí, por um link, ele poderia ver quais serviços estão disponíveis e fazer uns testes de execução.

Isso seria feito via uma classe que faria o registro, ou de alguma outra maneira.

Pensei também em marcar todo ESSB que fosse um serviço propriamente dito com uma annotation, por exemplo @SOAService. E, de alguma maneira, no deploy já identificaria essa classe e registraria automaticamente, sem a necessidade do desenvolvedor fazer mais nada no pacote do serviço. O que facilita a vida de todos.

Alguém conhece um mecanismo (simples) para identificar essas classes anotadas no deploy, ou algum outro momento, e então disparar a execução de um processo de registro meu? Assim como acontece quando se faz deploy dos EJBs com annotations na versão 3.0.

ps: Estamos usando Java 5 e EJB na versão 2.1.

Grato

6 Respostas

urubatan

acho que um pouquinho de JBoss AOP tu cosegue resolver isto :smiley:
mas nunca precisei fazer isto …
uma outra forma seria usando JMX, ja que todos os EJBs no JBOss são MBeans também :smiley:

danieldestro

Então, mas eu não quero pegar TODOS os EJBs. Quero pegar alguns.

Se bem que faz sentido eu listar todos os EJBs e verificar apenas os que estão anotados com minha anotação.

Paulo_Silveira

oi daniel

se voce usar @WebService para criar os seus services para os SLSB, o proprio jbossws ja mostra uma pagina de administracao com todos os beans que estao expostos como servicos, suas descricoes, seus wsdls, etc.

danieldestro

Não usamos EJB 3.0… isso roda com 2.1?

danieldestro

Na verdade, o que estou precisando agora é pegar a listagem de todos os EJBs publicados no container (JBoss), via JMX. Alguma doc a respeito?

danieldestro

Resolvido: http://www.guj.com.br/posts/list/48366.java

Criado 13 de dezembro de 2006
Ultima resposta 29 de mar. de 2007
Respostas 6
Participantes 3