Child pages
  • Publicação de Serviços no OpenBus
Skip to end of metadata
Go to start of metadata

Atualmente o CSBase possui dois serviços que podem ser publicados no barramento Openbus:

  • IHierarchicalDataService: o Serviço de Projetos publica esse componente no barramento para que os clientes possam ter acesso ao repositório de projetos de um servidor CSBase.
  • IOpenDreams: o Serviço OpenDreams publica esse componente no barramento para que os clientes possam usar a infra-estrutura de um servidor CSBase para execução remota de algoritmos.

Ambos os serviços estão disponíveis no CSBase. No entanto, para que o um servidor CSBase use o barramento e publique esses serviços, algumas configurações são necessárias.

Instalação dos certificados digitais

É necessário instalar os certificados digitais usados no serviço de controle de acesso ao barramento. Se não houver sido criado um certificado para o seu sistema, veja as orientações em Geracao de Chaves e Certificados Digitais. Usando como exemplo o sistema CSGrid, os certificados digitais devem ser instalados da seguinte forma:

  • Colocar no diretório do OpenBus o certificado do CSGrid.
    Copie o arquivo CSGRID_HOME/src/csgrid/security/CSGrid.crt para OPENBUS_HOME/data/certificates.
  • Colocar no diretório do servidor CSGrid o certificado de Controle de Acesso do OpenBus
    Copie o arquivo OPENBUS_HOME/data/certificates/AccessControlService.crt para o diretório CSGRID_HOME/src/csgrid/security

onde OPENBUS_HOME é o diretório de instalação do OpenBus e CSGRID_HOME é o diretório de instalação do CSGrid.

Propriedades do serviço OpenBus

O arquivo OpenBusService.properties deve estar configurado corretamente.

  • A propriedade OpenBusService.enabled indica que o acesso ao OpenBus está habilitado e, portanto, o serviço OpenBusService do CSBase será iniciado.
  • As propriedades OpenBusService.host e OpenBusService.port correspondem, respectivamente, ao host (preferencialmente o IP) e a porta onde o registro de acesso do OpenBus está executando.
  • A propriedade OpenBusService.certificate.file possui o caminho para o arquivo AccessControlService.crt na sua instalação.
  • A propriedade OpenBusService.entity.name possui o nome do certificado público do CSGrid instalado no OpenBus (por exemplo, CSGrid.crt).
  • A propriedade OpenBusService.private.key.file possui o caminho para o arquivo CSGrid.key na sua instalação.

O exemplo a seguir mostra uma configuração do OpenBusService.properties usada no CSGrid, para conexão com o barramento executando na máquina UBU da rede Tecgraf.

OpenBusService.properties
 # Propriedades do Barramento OpenBus
 OpenBusService.enabled = true

 # Barramento de testes da UBU (10.0.16.56) vers‹o 1.4.2 do openbus
 OpenBusService.host = 10.0.16.56
 OpenBusService.port = 3000

 # Certificado digital do Barramento
 OpenBusService.certificate.file = security/AccessControlService.crt

 # Nome deste servidor no Barramento
 OpenBusService.entity.name = CSGrid

 # Chave privada deste servidor
 OpenBusService.private.key.file = security/CSGrid.key

Propriedades do serviço de Projetos

Para que o serviço de projetos publique o componente IHIerarquicalDataService no barramento, as propriedades do arquivo ProjectService.properties devem estar configuradas corretamente:

  • A propriedade ProjectService.export.to.openbus indica que o serviço de projetos deve publicar o componente IHierarquicalDataService no barramento OpenBus.
  • A propriedade ProjectService.file.server.port corresponde a porta o serviço FTC vai abrir o canal para transferência de dados entre o cliente e o serviço de projetos publicado no OpenBus. Por default, essa porta está configurada como sendo 6680.
  • A propriedade ProjectService.component.name deve ter um nome unívoco do componente publicado pelo serviço de projetos. Isso é importante para diferenciar os componentes do serviço de projetos publicados por outros servidores CSBase conectados ao mesmo barramento.
  • A propriedade ProjectService.component.version identifica a versão do componente publicado pelo serviço de projetos. Isso serve para usar versões diferentes do componente publicadas em um mesmo barramento.

O exemplo a seguir mostra uma configuração das propriedades do ProjectService.properties relacionadas a publicação do serviço de projetos no CSGrid:

ProjectService.properties
 # OpenBus
 ProjectService.export.to.openbus = true
 ProjectService.file.server.port = 6680
 ProjectService.component.name = ProjectService_CSGrid_rasa
 ProjectService.component.version = 1.0.0

Propriedades do serviço de OpenDreams

Para que o serviço IOpenDreams seja publicado no barramento, as propriedades do arquivo OpenDreamsService.properties devem estar configuradas corretamente:

  • A propriedadeOpenDreamsService.export.to.openbus indica que o serviço OpenDreams será publicado no barramento OpenBus.
  • A propriedade OpenDreamsService.component.name deve ter um nome unívoco do componente publicado pelo serviço OpenDreams. Isso é importante para diferenciar os componentes do serviço OpenDreams publicados por outros servidores CSBase conectados ao mesmo barramento.
  • A propriedade OpenDreamsService.component.version identifica a versão do componente publicado pelo serviço OpenDreams. Isso serve para usar versões diferentes do componente publicadas em um mesmo barramento.

O exemplo a seguir mostra uma configuração das propriedades do OpenDreamsService.properties no CSGrid:

OpenDreamsService.properties
 OpenDreamsService.export.to.openbus = true
 OpenDreamsService.component.name = OpenDreams_CSGrid_rasa
 OpenDreamsService.component.version = 1.0.0

Instanciação dos serviços

A classe principal do servidor CSBase deve instanciar os serviços OpenBus antes de iniciar os serviços de Projeto e OpenDreams. Por exemplo, no caso do servidor CSGrid, a classe CSGridServer tem a seguinte ordem de instanciação dos serviços no método createServices():

createServices em CSGridServer.java
 OpenBusService.createService();
 ProjectService.createService();
 OpenDreamsService.createService();
  • No labels