next up previous
Next: Geração de artefatos Java Up: fachada-ws Previous: Obtenção e instalação de

Fazendo o EP de CORBA rodar dentro do servidor de aplicações

O EP de vocês precisa de duas modificações para rodar dentro do JBoss:

Um MBean é um componente plugável do JBoss. Vocês não precisam entender perfeitamente o que é um MBean, basta seguir esta ``receita de bolo'' que o EP de vocês deve funcionar dentro do JBoss. Criem uma interface (vazia mesmo):

public interface VideoRentalStoreServiceMBean extends org.jboss.system.ServiceMBean
{
}

Embora vocês possam alterar o nome desta interface, ela tem que ter o sufixo ``MBean''. Escrevam uma classe que implementa essa interface (deve ter o mesmo nome da interface, mas sem o sufixo ``MBean''):

public class VideoRentalStoreService extends org.jboss.system.ServiceMBeanSupport
    implements VideoRentalStoreServiceMBean
{
   protected void startService() throws Exception
   {
      // O código que inicia o servidor vem aqui (sem ORB.run()).
   }

   protected void stopService()
   {
      // Se alguma coisa for executada antes de parar o servidor, coloque a aqui.
   }
}

Dica: para compilar estas classes vocês irão precisar do arquivo $JBOSS_HOME/lib/jboss-system.jar no classpath. Vocês precisam também criar um arquivo chamado jboss-service.xml, com o seguinte conteúdo:

<?xml version="1.0" encoding="UTF-8"?>
<server>
  <mbean code="videorentalstore.corba.impl.VideoRentalStoreService"
         name="jboss.ws:service=VideoRentalStoreService">
    <depends>jboss:service=CorbaNaming</depends>
    <depends>jboss:service=TransactionManager</depends>
  </mbean>
</server>

Troquem a classe em code pela classe (não a interface) do seu MBean. Agora basta empacotar tudo num .sar (service archive), que nada mais é do que um JAR com a extensão .sar. Apenas como sugestão, seu .sar pode ser organizado do seguinte modo:

videorental.sar
 |-- videorental-corba.jar             (classes do EP de CORBA + MBean)
 |-- META-INF
      |-- jboss-service.xml

Uma dica: usem o ant para automatizar o empacotamento. Para implantar o .sar basta copiá-lo para o diretório de implantação do JBoss. Na configuração default do servidor de aplicações, esse diretório é $JBOSS_HOME/server/default/deploy. Vocês podem fazer isso com o servidor JBoss rodando (hot-deployment) ou não. Após a implantação, o seu EP de CORBA rodará dentro do servidor de aplicações e suas classes/objetos ficarão localmente acessíveis para um web service que também rode dentro do servidor.


next up previous
Next: Geração de artefatos Java Up: fachada-ws Previous: Obtenção e instalação de
Francisco Reverbel
2006-05-25