Registro e acompanhamento de Serviços (SOA)

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

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:

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.

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.

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

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

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