Guia de Instalação

Red Hat JBoss BPM Suite 6.1

Para Administradores Red Hat JBoss

Kanchan Desai

Doug Hoffman

Eva Kopalova

B Long

Red Hat Serviços de Conteúdo de Engenharia

Petr Penicka

Serviços de Conteúdo da Red Hat

Gemma Sheldon

Red Hat Serviços de Conteúdo de Engenharia

Resumo

Este guia fornece os passos necessários para a instalação do Red Hat JBoss BPM Suite e dos plug-ins para o Red Hat JBoss Developer Studio e também fornece instruções para a execução de projetos de exemplo.

Capítulo 1. Introdução

1.1. Sobre o Red Hat JBoss BPM Suite

O Red Hat JBoss BPM Suite é um pacote de gerenciamento de processos empresariais open source que combina Business Process Management e Business Rules Management, possibilitando que as empresas e os usuários de TI criem, gerenciem, validem e implantem regras e processos empresariais.
O Red Hat JBoss BRMS e o Red Hat JBoss BPM Suite usam um repositório centralizado onde todos os recursos são armazenados. Isto garante consistência, transparência e capacidade para a realização de auditorias por todo o negócio. Os usuários empresariais podem modificar a lógica empresarial e os processos empresariais sem precisar da assistência de uma equipe de TI.
Para acomodar o componente Business Rules, o Red Hat JBoss BPM Suite inclui o Red Hat JBoss BRMS integrado.
O Business Resource Planner está incluído neste lançamento.
O Red Hat JBoss BPM Suite possui suporte para uso com o o Red Hat Enterprise Linux 7 (RHEL7).

1.2. Plataformas com Suporte

Red Hat JBoss BPM Suite e Red Hat JBoss BRMS possuem suporte nos seguintes contêineres:
  • Red Hat JBoss Enterprise Application Platform 6.4
  • Red Hat JBoss Web Server 2.1 (Tomcat 7) em JDK 1.7
  • IBM WebSphere Application Server 8.5.5.0
  • Oracle WebLogic Server 12.1.3 (12c)

1.3. Casos de Uso: Soluções baseadas em processos na área de empréstimo

Esta seção descreve um caso de uso de implantação do JBoss BPM Suite para automatizar os processos empresariais (tais como, processos de aprovação de empréstimos) em um banco de varejo. Trata-se de uma implantação típica baseada em processos específicos que pode compor o primeiro passo em uma ação mais ampla de adoção do JBoss BPM Suite por toda a empresa. Esse caso de uso beneficia-se dos recursos tanto das regras quanto dos processos empresariais do JBoss BPM Suite.
Um banco de varejo oferece vários tipos de produtos de empréstimo, cada um com termos e critérios de elegibilidade diferentes. Os clientes que necessitam de empréstimo precisam encaminhar uma solicitação ao banco. O banco, então, processa a solicitação seguindo alguns passos, tais como a verificação de elegibilidade, os termos determinantes, a verificação de atividades fraudulentas e a determinação do produto de empréstimo mais adequado. Uma vez que o cliente é aprovado, o banco cria uma conta de empréstimo para o candidato, que terá acesso aos fundos. O banco deve cumprir com todas as regulamentações bancárias relevantes a cada etapa do processo e deve gerenciar o seu portfólio de empréstimos para maximizar a sua lucratividade. As políticas devem ser adotadas para auxiliar as tomadas de decisão em cada etapa e devem ser gerenciadas ativamente para otimizar os resultados do banco.
Os analistas de negócios do banco modelam os processos de solicitação de empréstimo utilizando as ferramentas de criação BPMN2 (Designer de Processos) no JBoss BPM Suite. Segue abaixo o processo:
Fluxo do Processo de Solicitação para Empréstimo de Alto Nível

Figura 1.1. Fluxo do Processo de Solicitação para Empréstimo de Alto Nível

As regras empresariais são desenvolvidas com as ferramentas de criação de regras no JBoss BPM Suite para a imposição das políticas e das tomadas de decisão. As regras são conectadas aos modelos dos processos, impondo as políticas corretas a cada etapa do processo.
A equipe de TI do banco implanta o JBoss BPM Suite para que todo o processo de solicitação de empréstimo possa ser automatizado.
Automação do Processo de Solicitação de Empréstimo

Figura 1.2. Automação do Processo de Solicitação de Empréstimo

Todas as regras e todo o processo de empréstimo podem ser modficados a qualquer momento pelos analistas de negócios do banco. O banco mantém-se em conformidade com as constantes mudanças nas regulamentações e é capaz de introduzir rapidamente novos produtos de empréstimo, além de melhorar as políticas de empréstimo para que ele possa competir eficazmente e aumentar a sua rentabilidade.

Parte I. Instalação do Red Hat JBoss BPM Suite

Capítulo 2. Opções de Instalação

O Red Hat JBoss BPM Suite possui duas versões:
  • Instalador jar executável no Red Hat JBoss Enterprise Application Platform (EAP) 6.4.
  • Instalação de arquivo zip que, por sua vez, possui duas versões:
    • jboss-bpmsuite-6.MINOR_VERSION-deployable-eap6.x.zip: versão adaptada para implantação no Red Hat JBoss Enterprise Application Platform (EAP 6.4).
    • jboss-bpmsuite-6.MINOR_VERSION-deployable-generic.zip: versão implantável com bibliotecas adicionais adaptadas para implantação no Red Hat JBoss Web Server (EWS), Apache Tomcat 6 e Apache Tomcat 7.
Dependendo do seu ambiente, você pode escolher a opção de instalação mais adequada para as necessidades do seu projeto.

Nota

O Red Hat JBoss BPM Suite foi desenvolvido para operar em codificação UTF-8. Caso um sistema de codificação diferente seja utilizado pela JVM subjacente, erros inesperados podem ocorrer. Para assegurar que a codificação UTF-8 seja utilizada pela JVM, use a seguinte propriedade de sistema "-Dfile.encoding=UTF-8".

Importante

Do JBoss BPM Suite 6.1 adiante, você deve ter o JBoss EAP 6.4, ou superior, instalado antes de tentar instalar o JBoss BPM Suite.

2.1. Instalação do Instalador Red Hat JBoss BPM Suite

Essa seção descreve as etapas necessárias para a instalação do Red Hat JBoss BPM Suite, usando o método de instalação do arquivo jar. O arquivo jar é um arquivo executável que instala o JBoss BPM Suite em uma instalação do JBoss EAP 6 existente.
Do JBoss BPM Suite 6.1 adiante, você deve ter o JBoss EAP 6.4, ou superior, instalado para instalar o JBoss BPM Suite.

Nota

Pelo fato do IBM JDK não poder utilizar armazenamentos de chaves gerados em outros JDKs, não é possível instalar o JBoss BPM Suite em um JBoss EAP executado no IBM JDK com um armazenamento de chaves em outro JDK.

2.1.1. Baixando Red Hat JBoss BPM Suite for JBoss EAP

  1. Acesse o Portal do Consumidor Red Hat e faça o log in.
  2. Clique em DownloadsDownloads de Produtos.
  3. Quando a página Downloads de Produtos abrir, clique em Red Hat JBoss BPM Suite.
  4. A partir do menu suspenso Versão, selecione a versão 6.1.
  5. Selecione Red Hat JBoss BPM Suite 6.1 Deployable for EAP 6.4 e depois clique em Download.

2.1.2. Instalando Red Had JBoss BPM Suite Usando o Instalador

O instalador para o Red Hat JBoss BPM Suite é um arquivo jar executável. Você pode usá-lo para instalar o JBoss BPM Suite em uma instalação EAP 6.4 existente.

Nota

Por motivos de segurança, o instalador deve ser executado como um usuário não root - non-root user.
Pré-requisitos

Antes de tentar instalar o JBoss BPM Suite, certifique-se de que o Red Hat JBoss EAP 6.4, ou superior, já tenha sido instalado.

  1. Usuários e Local de Instalação

    Em um prompt de comando, navegue até a pasta onde o arquivo de instalação foi baixado e execute o seguinte comando.
    java -jar jboss-bpmsuite-6.1.0.GA-installer.jar

    Nota

    Quando estiver executando o instalador no Windows, você pode ser solicitado a fornecer as credenciais do administrador durante a instalação. Para evitar isto, adicione a opção izpack.mode=privileged ao comando de instalação: java -Dizpack.mode=privileged -jar jboss-bpmsuite-6.1.0.GA-installer.jar
  2. O instalador gráfico executará e exibirá uma tela inicial e uma página com o contrato de licença. Aceite a licença para prosseguir.
  3. Na próxima tela, forneça o local pai de um JBoss EAP existente onde o JBoss BPM Suite deve ser instalado. A captura de tela abaixo representa um exemplo de caminho de diretório:
    The image depicts the parent directory for the existing EAP installation.

    Figura 2.1. Red Hat JBoss BPM Suite para JBoss EAP Directory Path

  4. Nas próximas duas telas, crie dois usuários: o primeiro para o console de gerenciamento do EAP (ManagementRealm) e o segundo para o gerenciamento do próprio JBoss BPM Suite (ApplicationRealm).
    A criação do primeiro usuário para o console de gerenciamento do JBoss EAP é opcional, portanto pode ser ignorada caso não seja necessária.
    Anote esses nomes de usuário e senhas, pois serão necessários para acessar o servidor JBoss EAP (caso você decida criá-lo) e o aplicativo JBoss BPM Suite respectivamente.
    A senha do usuário do JBoss BPM Suite será usada como senha padrão tanto para o armazenamento de chaves (em inglês, keystores) JMS SSL do cliente quanto do servidor, assim como para o armazenamento de chaves no cofre de senhas, a menos que uma configuração mais avançada seja efetuada.

    Nota

    O nome de usuário que você criou não deve ser igual às funções predefinidas (Consulte Seção 4.1, “Definindo as Funções”).
    As senhas que você criar devem ter, no mínimo, 8 caracteres e devem conter, pelo menos, um número e um caractere não alfanumérico (sem incluir o caractere &).

    Nota

    A função do aplicativo atribuída ao segundo usuário que você criar é a função admin. Funções adicionais podem ser atribuídas a esse usuário durante essa etapa.
  5. Ambiente de Segurança de Instalação

    Em seguida, você configurará o ambiente de segurança da sua nova instalação do JBoss BPM Suite. Neste estágio, você pode decidir por habilitar ou desabilitar o Gerenciador de Segurança do Java, clicando na caixa de seleção. O Gerenciador de Segurança do Java deixa o seu sistema mais seguro, mas também pode reduzir o seu desempenho. A decisão deve ser tomada de acordo com o seu ambiente.
  6. Você pode escolher se deseja instalar a configuração do IPv6 pura no servidor onde a instalação ocorre. Isto permitirá a você estabelecer, mais tarde, as configurações específicas do IPv6 em tempo de execução.
  7. Configuração do Ambiente de Tempo de Execução

    Essa etapa fornece a opção de usar uma configuração padrão ou especificar uma configuração avançada.
    • Configuração Padrão

      Selecione a configuração padrão para o ambiente de tempo de execução na próxima etapa e clique em avançar, para rever os detalhes de instalação. Se estiver contente com os detalhes, clique em avançar novamente, para iniciar a instalação propriamente dita, ou clique em voltar, para fazer as alterações.
    • Configuração Avançada

      Selecione as opções para habilitar a configuração avançada. Selecione "Efetuar Configuração Avançada" e selecione as opções de configuração avançada que você deseja habilitar para o seu ambiente através das caixas de seleção.
      Opções de Configuração Avançada

      Figura 2.2. Opções de Configuração Avançada

      • Configuração da Senha do Cofre

        As senhas de cofre são usadas para obscurecer as senhas nos diversos descritores do servidor usando uma chave secreta java gerada durante o processo de instalação ou, manualmente, usando a ferramenta keytool. Isto evita que as senhas sejam armazenadas como textos sem formatação nos descritores. Tanto iteration count quanto salt são usados como parâmetros para o processo de criptografia.
        No caso do JBoss BPM Suite, um cofre sempre será instalado, mesmo quando o usuário opta por não instalar um com seus próprios parâmetros. Quando isso acontece, os valores padrão são usados.
        Para mais insformações sobre as senhas de cofre, consulte o guia Red Hat JBoss EAP Security Guide.
        Configure vault password

        Figura 2.3. Configuração da Senha do Cofre

      • Segurança SSL

        Essa tela permite que você adicione os elementos <ssl> e <truststore> ao realm de segurança ManagementRealm usando o armazenamento de chaves fornecido.
        • O elemento <ssl> faz com que o servidor apresente o certificado dentro do armazenamento de chaves como sua identidade, o que permite ao usuário aplicar o seu certificado oficial.
        • O elemento <truststore> habilita a autenticação "Client-Cert". Isto significa que, se um cliente remoto tenta conectar-se com qualquer recurso gerenciado pelo ManagementRealm, o cliente pode apresentar um certificado, e caso uma entrada no armazenamento de confiança (em inglês, truststore) seja correspondida, ele será autenticado sem precisar fornecer um nome de usuário/ senha.
        O resultado final é uma conexão criptografada e segura entre o cliente e o servidor para o ManagementRealm.
        SSL Configuration

        Figura 2.4. Configuração da Segurança SSL

      • Segurança LDAP

        Esta etapa no instalador permite ao usuário definir um servidor LDAP, o qual, por sua vez, define os usuários que devem ter permissão para autenticar com o ManagementRealm. Isto substitui a configuração padrão.
        A tela Conexão LDAP permite aos usuários definir como conectar-se ao servidor LDAP.
        • Nome Diferenciado (em inglês, Distinguished Name - DN): o usuário que pode conectar-se com o servidor LDAP. Geralmente, o DN define, exclusivamente, um usuário especial para este propósito.
        LDAP Connection

        Figura 2.5. Configuração da Conexão LDAP

        Segurança LDAP (Console de Gerenciamento)

        A tela de Configuração LDAP do Console de Gerenciamento permite a configuração de um realm de segurança. Isto define o elemento <security-realm> a ser adicionado aos descritores e utiliza a conexão definida anteriormente.
        Secure Management Console with LDAP

        Figura 2.6. Configuração LDAP do Console de Gerenciamento

        • DN Base: define, geralmente, uma 'base de pesquisa' ou um 'contexto root' para começar a pesquisar por usuários.
        • Tipo de filtro: Avisa ao JBoss EAP como encontrar o atributo LDAP que define um usuário; pode ser um atributo simples, mas também pode ser um "Filtro LDAP" complexo.
        • Atributo do usuário: O atributo LDAP que mantém os valores do nome de usuário. Um nome de usuário inserido nesse campo é usado para consultas de pesquisa como um valor do atributo 'uid'. Se um usuário optar por uma 'consulta de sintaxe LDAP', como um tipo de filtro, essa consulta deve ser especificada neste campo.
        • Pesquisa recursiva do diretório: se habilitada, o JBoss EAP percorrerá a árvore LDAP recursivamente, começando pelo DN Base. Caso contrário, a pesquisa ficará limitada ao DN Base.

        Segurança LDAP (Business Central)

        A maior parte dos campos a seguir é semelhante ao DN Base. Os contextos são usados para pesquisar por funções, o que permite a efetuação da autorização, além da autenticação. Caso contrário, os campos de contexto são análogos ao DN Base a partir do anterior e os campos de atributo são análogos ao atributo do nome de usuário. Os filtros permitem um controle específico sobre quais valores do atributo dado serão aceitos.
        No JBoss BPM Suite, os arquivos jbpm.usergroup.callback.properties e jbpm.user.info.properties usados pelos componentes LDAPUserGroupInfo e LDAPUserInfo do Serviço de Tarefas também são preenchidos por valores inseridos na página de Configuração LDAP do Business Central.
        Os valores de entrada da página de Configuração LDAP do Business Central são usados para configurar um novo domínio de segurança, o qual faz uso do módulo de login LdapExtended. Esse domínio de segurança é definido como padrão para o aplicativo web do Business Central. Para mais informações sobre domínios de segurança e módulos de login, consulte o guia Red Hat JBoss EAP Security Guide.
        Business Central LDAP Configuration

        Figura 2.7. Configuração LDAP do Business Central

      • Domínio de Segurança e JSSE

        A tela de Domínio de Segurança permite que você configure todos os elementos do subsistema de segurança <security-domain> para o gerenciamento das informações de segurança, incluindo a configuração JSSE. Para mais detalhes sobre a configuração de domínios de segurança, consulte o guia Red Hat JBoss EAP Security Guide.
        Add a Security Domain

        Figura 2.8. Domínio de Segurança

        Security Domain JSSE Configuration

        Figura 2.9. Configuração JSSE

      • Configuração do Armazenamento de Chaves SSL JMS

        Essa tela permite a criptografia das mensagens JMS enviadas ao Business Central. O armazenamento de chaves do cliente é distribuído a sistemas que precisam comunicar-se com o servidor para facilitar as comunicações criptografadas. Os usuários podem usar seus armazenamentos de chaves pré-existentes ou gerar novos armazenamentos.
        JMS Configuration

        Figura 2.10. Configuração do Armazenamento de Chaves SSL JMS

  8. O instalador cumpre as etapas de instalação do JBoss BPM Suite e efetua as etapas de configuração pós-instalação quando você clica em avançar. Ele também inicia o servidor JBoss BPM Suite e conecta-se com ele para validar a instalação. Para obter a última tela onde você pode gerar o script de instalação e o arquivo de propriedades, clique em avançar. Para sair do instalador, clique em concluído.
O Red Hat JBoss BPM Suite é, então, instalado com êxito usando o instalador.

2.1.3. Instalando Red Hat JBoss BPM Suite Usando o Instalador no Modo CLI

O instalador para o Red Hat JBoss BPM Suite também pode ser executado através da interface da linha de comando (CLI). O procedimento abaixo demonstra as etapas que você provavelmente encontrará ao usar essa opção para instalar o JBoss BPM Suite.
Pré-requisitos

Antes de tentar instalar o JBoss BPM Suite, certifique-se de que o Red Hat JBoss EAP 6.4, ou superior, já tenha sido instalado.

  1. Em um prompt de comando, navegue até a pasta onde o arquivo de instalação foi baixado e execute o seguinte comando.
    java -jar jboss-bpmsuite-6.1.0.GA-installer.jar -console
  2. O processo interativo da linha de comando será iniciado e exibirá o contrato de licença. Você será solicitado a selecionar uma opção no final do acordo.
    pressione 1 para continuar, 2 para sair, 3 para reexibir.
    
  3. Insira 1 para iniciar a instalação e digite no diretório pai de uma instalação EAP existente.
    O local abaixo deve especificar o JBOSS_HOME de uma instalação EAP existente. 
    
    [/home/user/BPMSuite-6.1.0/jboss-eap-6.4]
    
    O instalador verificará o local de instalação do JBoss EAP no local indicado. Insira 1 para confirmar e continue.
  4. Opcional: Crie um usuário para o console de gerenciamento do JBoss EAP (Realm de Gerenciamento):
    Crie um usuário administrativo
    Esse usuário será adicionado ao realm de gerenciamento do contêiner do host para fins administrativos. Ele pode ser usado para acessar o console de gerenciamento, o gerenciamento CLI ou outros aplicativos protegidos nesse realm.
    Insira 0 para ignorar a criação de um novo usuário administrativo ou 1 para a criação de um novo usuário. Caso decida criar um usuário, siga essas instruções:
    1. Insira o nome de usuário:
      Nome de usuário administrativo: [admin]
    2. Crie uma senha para o usuário do console de gerenciamento do EAP e confirme:
      A senha deve ter, no mínimo, 8 caracteres e deve conter, pelo menos, um número e um símbolo não alfanumérico (sem incluir o caractere &).
      			
      Senha administrativa: [] 
      
      Confirme a senha administrativa: [******************************]
      
      Após criar esse usuário, continue para a próxima etapa.
  5. Crie um usuário administrativo para o JBoss BPM Suite
    Crie um Usuário Administrativo para o Business Process Management Suite 
    Crie um usuário administrativo para o BPM Suite. O usuário será adicionado ao ApplicationRealm e pode ser usado para acessar o Console do Business Central. O usuário será atribuído a função 'admin' do aplicativo. O nome de usuário do BPM Suite não pode ser igual a nenhum desses a seguir: 'admin', 'analista', 'usuário', 'gerente' ou 'desenvolvedor'.
    
    
    Nome de usuário do BPM Suite: [bpmsAdmin]
  6. Insira um nome de usuário para esse usuário e, depois, crie uma senha e confirme.
    A senha deve ter, no mínimo, 8 caracteres e deve conter, pelo menos, um número e um símbolo não alfanumérico (sem incluir o caractere &).
    
    Senha do BPM Suite: [] 
    
    Confirme a senha do BPM Suite: [****************]
    
  7. Depois que as senhas foram inseridas e confirmadas, uma etapa opcional será oferecida para a definição de outras funções para esse usuário (além da função admin). Insira essas funções em uma lista separada por vírgula ou apenas pressione 'enter' para ignorar essa etapa.
    (Opcional) Você pode atribuir funções adicionais a esse usuário que serão usadas para o gerenciamento de tarefas. Os nomes dessas funções são personalisados e usados novamente durante a criação dos seus processos com as tarefas humanas. Adicione as suas funções com nomes personalizados em uma lista separada por vírgula. 
    
    Funções adicionais do usuário: []
  8. Configure o Gerenciador de Segurança do Java pressionando 1 para selecioná-lo ou 0 para cancelar a seleção.
    Configure o Gerenciador de Segurança do Java
    Um gerenciador de segurança do Java oferece uma segurança em nível JVM para além do que é fornecido pelo contêiner do aplicativo. Ele impõe as regras de acesso no tempo de execução da JVM baseado em uma ou mais políticas de segurança.
    
    Esse instalador colocará duas políticas de segurança no diretório de instalação com os nomes de arquivo 'security.policy' e 'kie.policy', independente da escolha feita. Essas políticas serão habilitadas durante o tempo de execução se a opção abaixo for selecionada.
    
    Por favor, observe que um gerenciador de segurança impõe uma importante sobrecarga no desempenho, quando habilitado. Recomenda-se que as políticas incluídas sejam aplicadas na produção, caso os requisitos do usuário solicitem uma medida mais forte do que já é fornecido pelo mecanismo de autorização e autenticação do contêiner do aplicativo.
    
    Por favor, consulte a documentação administrativa do JBoss Business Process Management Suite para mais detalhes. 
      [ ] Ativar o gerenciador de segurança do Java
    Insira 1 para selecionar, 0 para cancelar a seleção:
    
  9. Depois de selecionar o Gerenciador de Segurança do Java, escolha uma opção a partir do prompt abaixo:
    pressione 1 para continuar, 2 para sair, 3 para reexibir.
    
  10. Especifique se você está usando IPv6 ou não.
    Configuração PIv6
    
    Se esse computador estiver usando uma configuração IPv6 pura, por favor marque a caixa abaixo. Uma instalação IPv6 pura exige uma configuração adicional durante o tempo de execução para garantir as vinculações certas das interfaces http e de gerenciamento.
      [ ] Habilitar a configuração IPv6 pura
    Insira 1 para selecionar, 0 para cancelar a seleção:
    
    Depois de selecionar ou cancelar a seleção da configuração IPv6, selecione uma das seguintes opções:
    pressione 1 para continuar, 2 para sair, 3 para reexibir.
  11. Configure o ambiente de tempo de execução selecionando a configuração padrão ou as opções avançadas.
    Configure o ambiente de tempo de execução
    O Red Hat JBoss Business Process Management Suite pode ser personalizado ainda mais nesse momento.
    0  [x] Efetuar a configuração padrão
    1  [ ] Efetuar a configuração avançada
    Se você selecionar 1, "Efetuar a configuração padrão", preencha as configurações a seguir:
    •   [ ] Instalar o cofre de senhas
      Insira 1 para selecionar, 0 para cancelar a seleção:
    •   [ ] Habilitar a segurança SSL
      Insira 1 para selecionar, 0 para cancelar a seleção:
    •  [ ] Proteger o Console de Gerenciamento do EAP com LDAP
      Insira 1 para selecionar, 0 para cancelar a seleção:
    •  [ ] Proteger o Business Central com LDAP
      Insira 1 para selecionar, 0 para cancelar a seleção:
    •   [ ] Adicionar um domínio de segurança
      Insira 1 para selecionar, 0 para cancelar a seleção:
    •  [ ] Gerar o Armazenamento de Chaves do Cliente JMS
      Insira 1 para selecionar, 0 para cancelar a seleção:
  12. Em seguida, selecione uma opção a partir do prompt abaixo:
    pressione 1 para continuar, 2 para sair, 3 para reexibir.
    
  13. O arquivo .jar começará a descompactar e a ser configurado.
  14. Depois de obter uma instalação bem sucedida, a linha de comando perguntará se você deseja gerar um script de instalação automática e um arquivo de propriedades.
    A instalação foi concluída com êxito.
    O aplicativo foi instalado em /home/user/BPMSuite-6.1.0/jboss-eap-6.4
    Deseja gerar um script de instalação automática e um arquivo de propriedades?
     (s/n) [n]:
  15. Se você selecionar [s], forneça um caminho para o script de instalação automática:
    Selecione o caminho para o script de instalação automática: [/home/user/BPMSuite-6.1.0/jboss-eap-6.4/<auto script filename>]
    
    Esse script gerado permitirá ao usuário executar o instalador da seguinte maneira para as futuras instalações:
    java -jar jboss-bpmsuite-6.1.0.GA-installer.jar <auto script filename>

    Nota

    Esta maneira de executar o instalador resultará em uma instalação idêntica à instalação a partir da qual o script automático foi gerado. Observe que os valores confidenciais, como as senhas, precisarão ser fornecidos de um arquivo externo ou fornecidos durante o tempo de instalação automática. O argumento opcional abaixo permite ao usuário fornecer esses valores automaticamente:
    -variablefile <variable filename>
    Os valores confidenciais também podem ser fornecidos usando o seguinte argumento:
    -variables key1=value1,key2=value2
  16. A linha de comando fornecerá a seguinte mensagem após a criação do script automático e/ ou da instalação do console:
    XML gravado com êxito.
    [Instalação do console concluída]
    [BPMS_Installer]$
  17. Inicie o JBoss EAP executando standalone.sh no diretório jboss-eap-6.4/bin.
    ./standalone.sh
  18. Faça o login com a senha e o nome de usuário corretos, como fornecidos ao usuário do JBoss BPM Suite na etapa "Crie uma senha para o usuário do JBoss BPM Suite e confirme".

2.1.4. Instalando Red Hat JBoss BPM Suite no Modo de Domínio

Para instalar o pacote implantável para o JBoss EAP no modo de domínio, siga as instruções a seguir:
  1. Baixe e extraia o arquivo ZIP do Red Hat JBoss BPM Suite 6.1.0 Deployable for EAP 6 a partir do Portal do Consumidor Red Hat e copie os diretórios a seguir na instalação local do EAP 6.4:
    • bin
    • domain
    Ignore o diretório standalone
  2. Na linha de comando, vá para o diretório /domain e inicie o domínio:
    Em um ambiente Unix, execute:
    ./domain.sh
    Em um ambiente Windows, execute:
    ./domain.bat
  3. Implante o arquivo via ${jboss-eap-home}/bin/jboss-cli.sh / ${jboss-eap-home}/bin/jboss-cli.bat ou via a IU da web de gerenciamento (localhost:9990/):

    Nota

    Os aplicativos web business-central.war e dashbuilder.war fornecidos nos binários implantáveis do EAP são diretórios mas, para a implantação no domínio, você deve usar arquivos WAR. Para criá-los, simplesmente zipe o conteúdo dos diretórios business-central.war e dashbuilder.war.
    1. Para implantar o arquivo via ${jboss-eap-home}/bin/jboss-cli.shou ${jboss-eap-home}/bin/jboss-cli.bat, mova para o diretório ${jboss-eap-home}/bin directory e implante o arquivo WAR:
      Em um ambiente Unix, execute:
      ./jboss-cli.sh
      Em um ambiente Windows, execute:
      ./jboss-cli.bat
    2. Para implantar o arquivo via a IU da web de gerenciamento (localhost:9990/):
      • faça o login usando a sua conta de gerenciamento do EAP
      • selecione Domínio -> Gerenciar Implantações -> Repositório de Conteúdo -> Adicionar
      • selecione o arquivo web do sistema de arquivo e carregue o arquivo web
      • selecione a implantação, clique no botão Atribuir
      • selecione o grupo do servidor

Nota

Para fazer o login no Business Central implantado nos servidores Controladores de Host (HC), o usuário criado no Servidor Controlador de Domínio também deve ser criado nos servidores Controladores de Host, seguindo as etapas disponíveis na seção Seção 4.2, “Criando os Usuários”.

Instalando Múltiplas Instâncias do JBoss BPM Suite Server

Em muitas situações, os usuários podem querer agrupar um conjunto de nós do EAP 6 no mesmo servidor e fornecer-lhes um nome significativo para uma manutenção mais simples. Os valores únicos precisam ser incorporados às propriedades do sistema para cada instância do servidor. Segue abaixo uma lista das propriedades comuns que podem ser especificadas com um único nó do JBoss BPM Suite para mudar a configuração padrão. No entanto, elas devem ser especificadas para múltiplos nós executados em um único servidor para que todos os nós apontem para um diretório diferente:
  • org.uberfire.nio.git.dir
  • org.uberfire.metadata.index.dir
  • org.uberfire.nio.git.ssh.cert.dir
Quando múltiplos nós do JBoss BPM Suite são usados em um único servidor, as propriedades abaixo precisam ser especificadas:
  • org.uberfire.nio.git.daemon.host - pode ser deixada com o valor padrão para vincular-se ao localhost.
  • org.uberfire.nio.git.daemon.port
  • org.uberfire.nio.git.ssh.host - pode ser deixada com o valor padrão para vincular-se ao localhost.
  • org.uberfire.nio.git.ssh.port

Nota

Tanto org.uberfire.nio.git.daemon.port quanto org.uberfire.nio.git.ssh.port necessitam de valores de porta diferentes para evitar conflitos de porta.
Incorpore as propriedades anteriores no arquivo $EAP_HOME/domain/configuration/host.xml, como ilustrado nos dois nós abaixo:
Nó A:
<system-properties>
    <property name="org.uberfire.nio.git.dir" value="/valid/path/.." boot-time="false"/>
    <property name="org.uberfire.metadata.index.dir" value="/valid/path/.." boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.cert.dir" value="/valid/path/.." boot-time="false"/>

    <property name="org.uberfire.nio.git.daemon.host" value="10.10.10.10" boot-time="false"/>
    <property name="org.uberfire.nio.git.daemon.port" value="9417" boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.host" value="10.10.10.10" boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.port" value="8002" boot-time="false"/>
</system-properties>
Nó B:
<system-properties>
    <property name="org.uberfire.nio.git.dir" value="/valid/path/.." boot-time="false"/>
    <property name="org.uberfire.metadata.index.dir" value="/valid/path/.." boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.cert.dir" value="/valid/path/.." boot-time="false"/>

    <property name="org.uberfire.nio.git.daemon.host" value="10.10.10.10" boot-time="false"/>
    <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.host" value="10.10.10.10" boot-time="false"/>
    <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/>
</system-properties>
As propriedades do sistema representadas acima devem indicar o host, a porta ou o local dos arquivos .index ou .niogit. Esses arquivos, que devem ser usados por um nó respectivo, seriam agrupados, então, em um domínio em particular.

2.2. Instalação do Pacote Implantável Genérico

Para instalar o Red Hat JBoss BPM Suite no Red Hat JBoss Web Server (EWS), você precisa usar o pacote implantável genérico do produto.
Para a instalação no EWS, o pacote implantável genérico contém o gerenciador de transação adicional e as bibliotecas de segurança que não fazem parte do Red Hat JBoss EWS.
Observe que, para instalar o pacote implantável genérico, você precisará dos seguintes arquivos ZIP:
  • jboss-bpmsuite-VERSION-deployable-generic.zip: contém os aplicativos web business-central.war, dashbuilder.war e kie-server.war.
  • jboss-bpmsuite-VERSION-engine.zip: bibliotecas de mecanismo de execução com suporte para incorporar o mecanismo no seu aplicativo e outras bibliotecas necessárias para implantação genérica.

2.2.1. Baixando o Pacote Implantável Genérico

Para baixar o pacote implantável genérico Red Hat JBoss BPM Suite no JBoss Web Server, siga as instruções a seguir:
  1. Acesse o Portal do Consumidor Red Hat e faça o log in.
  2. Clique em Downloads.
  3. Clique em Red Hat JBoss BPM Suite, a partir da lista de produtos.
  4. A partir do menu suspenso Versão, selecione a versão 6.1 (caso não esteja selecionada ainda).
  5. Na seção Downloads de Software que surgir, navegue pelo Red Hat JBoss BPM Suite 6.1 Deployable for All Supported Containers e clique em Download.
  6. Navegue também pelos arquivos Red Hat JBoss BPM Suite 6.1 Engine e clique em Download para baixar os arquivos do mecanismo JBoss BPM Suite.

2.2.2. Instalando o Pacote Implantável Genérico

Para instalar o pacote implantável genérico, você precisará configurar o seguinte depois de ter instalado a plataforma subjacente (Red Hat JBoss WS):

2.2.2.1. Configurando o Gerenciador de Transação para Red Hat JBoss Web Server 2.1 (Tomcat 7)

  1. Extraia o pacote zip implantável genérico baixado do Portal do Consumidor Red Hat para um local temporário. Esse pacote zip contém os três arquivos do aplicativo web a seguir: business-central.war, dashbuilder.war e kie-server.war em um formato expandido. Renomeie essas pastas para remover a extensão .war.
  2. Copie essas pastas diretamente sob a pasta $TOMCAT_DIR/webapps.
    Você deve obter três pastas em um formato expandido: $TOMCAT_DIR/webapps/business-central, $TOMCAT_DIR/webapps/dashbuilder e $TOMCAT_DIR/webapps/kie-server.

    Nota

    $TOMCAT_DIR refere-se ao diretório base onde seu servidor web está localizado. Substitua-o pelo próprio caminho do diretório base do seu servidor web, por exemplo: /home/john/jboss-ews-2.1/tomcat7/
  3. Extraia os conteúdos dos arquivos do mecanismo JBoss BPM Suite para um local temporário de onde você pode copiar as bibliotecas necessárias. Essa pasta contém, agora, todas as bibliotecas principais do JBoss BPM Suite sob a pasta extraída e uma pasta lib.
  4. Instale o Gerenciador de Transação.

    Atenção

    Por favor, observe que a seção a seguir descreve a instalação de um gerenciador de transação, Bitronix, que não possui suporte da Red Hat.
    Copie as seguintes bibliotecas jar do gerenciador de transação da pasta lib no diretório $TOMCAT_DIR/lib/:
    • btm-VERSION.jar
    • btm-tomcat55-lifecycle-VERSION.jar
    • jta-VERSION.jar
    • slf4j-api-VERSION.jar
    • slf4j-jdk14-VERSION.jar
    Além disso, baixe a biblioteca a seguir e copie-a na pasta $TOMCAT_DIR/lib/ também:
  5. Instale o Driver no seu Banco de Dados
    Copie o arquivo jar com o driver do banco de dados relevante no $TOMCAT_DIR/lib/.

    Nota

    Caso utilize o banco de dados H2 incorporado, o driver estará disponível em business-central/WEB-INF/lib/.
  6. Crie os arquivos de configuração do gerenciador de transação em $TOMCAT_DIR/conf/:
    • btm-config.properties
      bitronix.tm.serverId=tomcat-btm-node0
      bitronix.tm.journal.disk.logPart1Filename=${btm.root}/work/btm1.tlog
      bitronix.tm.journal.disk.logPart2Filename=${btm.root}/work/btm2.tlog
      bitronix.tm.resource.configuration=${btm.root}/conf/resources.properties
      
    • resources.properties (resource.ds1.uniqueName define, depois, o nome da fonte de dados usado na definição do recurso tomcat - anote esse valor).
      Certifique-se de mudar os valores nas definições a seguir para corresponderem ao seu ambiente.

      Exemplo 2.1. Definição da fonte de dados H2

      resource.ds1.className=bitronix.tm.resource.jdbc.lrc.LrcXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=10
      resource.ds1.maxPoolSize=20
      resource.ds1.driverProperties.driverClassName=org.h2.Driver
      resource.ds1.driverProperties.url=jdbc:h2:file:~/jbpm
      resource.ds1.driverProperties.user=sa
      resource.ds1.driverProperties.password=
      resource.ds1.allowLocalTransactions=true

      Exemplo 2.2. Definição da fonte de dados MySQL 5.5

      resource.ds1.className=com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:mysql://localhost:3306/sampledb
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      Exemplo 2.3. Definição da fonte de dados DB2 Tipo 4

      resource.ds1.className=com.ibm.db2.jcc.DB2Driver
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:db2://localhost:50000/sampledb
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      Exemplo 2.4. Definição da fonte de dados Oracle

      resource.ds1.className=oracle.jdbc.xa.client.OracleXADataSource
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:oracle:thin:@//localhost:1521/bpms 
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true

      Exemplo 2.5. Definição da fonte de dados Microsoft SQL Server

      resource.ds1.className=com.microsoft.sqlserver.jdbc.SQLServerDriver
      resource.ds1.uniqueName=jdbc/jbpm
      resource.ds1.minPoolSize=0
      resource.ds1.maxPoolSize=10
      resource.ds1.driverProperties.URL=jdbc:sqlserver://localhost:1433;databaseName=bpms;
      resource.ds1.driverProperties.user=dbuser
      resource.ds1.driverProperties.password=dbpassword
      resource.ds1.allowLocalTransactions=true
  7. Configure o ouvinte do gerenciador de transação no $TOMCAT_DIR/conf/server.xml para iniciar e encerrar Bitronix na inicialização e no desligamento do contêiner:
    Adicione o elemento a seguir como o último elemento <Listener> no elemento <Server>:
    <Listener className="bitronix.tm.integration.tomcat55.BTMLifecycleListener" />
  8. Defina a propriedade de sistema btm.root e o local onde o arquivo de configuração bitronix será colocado:
    Em $TOMCAT_DIR/bin/, crie um arquivo legível setenv.sh com o seguinte conteúdo:
    CATALINA_OPTS="-Xmx512M -XX:MaxPermSize=512m -Djava.security.auth.login.config=$CATALINA_HOME/webapps/business-central/WEB-INF/classes/login.config -Dbtm.root=$CATALINA_HOME -Dbitronix.tm.configuration=$CATALINA_HOME/conf/btm-config.properties -Dorg.jbpm.designer.perspective=RuleFlow -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry"
    A propriedade org.jbpm.designer.perspective é definida como RuleFlow permitindo que a perspectiva padrão para o designer seja RuleFlow ao invés de Full. Conceda as permissões de execução do arquivo, se necessário.
    A propriedade java.security.auth.login.config deve ser definida para que o clone ssh do repositório git funcione.

    Importante

    Nos sistemas do Microsoft Windows, substitua o valor $CATALINA_HOME no conteúdo do arquivo pelo nome da variável do ambiente equivalente ou use o caminho absoluto e adicione os valores no arquivo setenv.bat, como apresentado aqui, no exemplo a seguir:
    defina "CATALINA_OPTS=-Xmx512M -XX:MaxPermSize=512m -Dbtm.root=C:/Tomcat -Dbitronix.tm.configuration=C:/Tomcat/conf/btm-config.properties -Dorg.jbpm.designer.perspective=RuleFlow"

2.2.2.2. Configurando o Business Central para Red Hat JBoss Web Server 2.1 (Tomcat 7)

Para configurar o Business Central, siga as instruções a seguir:
  1. Defina um Valve para que o aplicativo web do Business Central possa carregar os usuários definidos no Tomcat:
    1. Defina os usuários e as funções em $TOMCAT_DIR/conf/tomcat-users.xml. Observe que o Business Central exige que os usuários tenham as funções especificadas como admin e/ou analista (para mais informações sobre as definições de usuário e função, consulte a documentação sobre Tomcat 7).
      Segue abaixo um exemplo de como essas duas funções seriam adicionadas e como elas seriam atribuídas a um usuário nomeado bpmsadmin.

      Nota

      Certifique-se de que os nomes de usuário não entrem em conflito com as funções conhecidas. Por exemplo, você não deve criar um usuário com o nome de usuário admin.
        <role rolename="admin"/>
        <role rolename="analyst" />
        <user username="bpmsadmin" password="P@ssw0rd" roles="admin,analyst"/>
      
    2. Mova (não copie) kie-tomcat-integration-VERSION.jar de $TOMCAT_DIR/webapps/business-central/WEB-INF/lib/ para $TOMCAT_DIR/lib/.
    3. Copie jboss-jaxb-api-VERSION.jar de $TOMCAT_DIR/webapps/business-central/WEB-INF/lib/ no $TOMCAT_DIR/lib/.
    4. Em $TOMCAT_DIR/conf/server.xml, adicione a declaração Tomcat Valve no elemento <host> relevante:
      <Valve className="org.kie.integration.tomcat.JACCValve" />
  2. Caso esteja utilizando uma fonte de dados que não seja a fonte de dados padrão fornecida pelo banco de dados H2 subjacente, você precisará definir as persistências. Se estiver usando o banco de dados H2 padrão, você pode ignorar as outras etapas deste procedimento.
    Nesse procedimento, você configura uma fonte de dados com o nome JNDI jdbc/myDatasource, como definido antes em uniqueName=jdbc/jbpm no arquivo resources.properties bitronix (para a opção MySQL).
    1. Em business-central/META-INF/context.xml, substitua o nome JNDI da fonte de dados no elemento <Resource>. O atributo uniqueName refere-se à propriedade resource.ds1.uniqueName definida em resources.properties:
      <Resource name="jdbc/myDatasource" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>
    2. Em business-central/WEB-INF/web.xml, substitua o nome JNDI da fonte de dados no elemento <res-ref-name> pelo nome da sua fonte de dados:
      <resource-ref>
              <description>Console DS</description>
              <res-ref-name>jdbc/myDatasource</res-ref-name>
              <res-type>javax.sql.DataSource</res-type>
              <res-auth>Container</res-auth>
      </resource-ref>
    3. Altere business-central/WEB-INF/classes/META-INF/persistence.xml.
      Nesse arquivo, altere o nome do dialeto do hibernate usado para a sua fonte de dados, se estiver usando uma fonte de dados diferente da H2. O código abaixo demonstra as informações originais da fonte de dados para persistence.xml:
      <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
      Essas informações podem ser atualizadas da seguinte maneira (como demonstrado com o banco de dados MySQL abaixo):
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>

      Nota

      O dialeto para DB2 é org.hibernate.dialect.DB2Dialect, para DB2 em AS/400 é org.hibernate.dialect.DB2400Dialect, para Oracle é org.hibernate.dialect.Oracle10gDialect e para Microsoft SQL Server é org.hibernate.dialect.SQLServerDialect
    4. Altere o arquivo business-central/WEB-INF/classes/META-INF/persistence.xml para que o mecanismo do processo JBoss BPM Suite possa usar o novo banco de dados.
      O código abaixo demonstra as informações originais da fonte de dados para persistence.xml:
      <jta-data-source>java:comp/env/jdbc/jbpm</jta-data-source>
      Altere esse valor para a fonte de dados definida antes:
      <jta-data-source>java:comp/env/jdbc/myDatasource</jta-data-source>
  3. Você pode, agora, iniciar o JBoss Web Server para fazer o login no Business Central.
    1. Execute startup.sh no diretório $TOMCAT_HOME/bin.
      ./startup.sh
    2. Faça o login com o nome de usuário e a senha definidos antes no arquivo tomcat-users.xml.

2.2.2.3. Configurando Dashbuilder para Red Hat JBoss Web Server 2.0 (Tomcat 7)

Nota

Antes de configurar o Dashbuilder no Red Hat JBoss Web Server, você deve certificar-se de que o Business Central foi instalado e iniciado corretamente, como descrito na Seção 2.2.2.2, “Configurando o Business Central para Red Hat JBoss Web Server 2.1 (Tomcat 7)”. O Dashbuilder necessita que as tabelas da fonte de dados do log do histórico estejam presentes, as quais são fornecidas pelo Business Central. Se essas tabelas não existirem na fonte de dados antes de você tentar realizar as etapas abaixo, erros de inicialização podem ocorrer.
Para configurar o Dashbuilder no Red Hat JBoss Web server, siga as instruções a seguir:
  1. Defina os usuários e as funções em $TOMCAT_DIR/conf/tomcat-users.xml. Observe que, o Dashbuilder exige que os usuários tenham as funções especificadas como admin e/ou analista. Se você já definiu esses usuários antes para o Business Central, você não precisa definí-los novamente.
  2. Habilite o logon único entre o Dashbuilder e o Business Central removendo os comentários das seguintes linhas no arquivo $TOMCAT_DIR/conf/server.xml:
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
  3. Quanto à configuração do Business Central, se você estiver usando um banco de dados que não seja o padrão e o banco de dados H2 integrado, você precisará definir as persistências.
    Nesse procedimento, você configura uma fonte de dados com o nome JNDI jdbc/dashbuilderDS, como definido em uniqueName=jdbc/jbpm no arquivo resources.properties bitronix:
    1. Em dashbuilder/META-INF/context.xml, substitua o nome JNDI da fonte de dados no elemento <Resource>. O atributo uniqueName refere-se à propriedade resource.ds1.uniqueName definida em resources.properties:
      <Resource name="jdbc/dashbuilderDS" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>

      Nota

      Dependendo do seu banco de dados, pode ser preciso definir algumas outras propriedades também. Por exemplo, em um ambiente Oracle, essa entrada pode parecer-se com o seguinte:
      <Resource name="jdbc/jbpm" uniqueName="jdbc/jbpm" auth="Container"  removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource" username="username" password="password"  driverClassName="oracle.jdbc.xa.client.OracleXADataSource" url="jdbc:oracle:thin:YOUR-URL:1521:YOUR-DB" maxActive="8" />
      
    2. Em dashbuilder/WEB-INF/web.xml, substitua o nome JNDI da fonte de dados no elemento <res-ref-name> pelo nome da sua fonte de dados:
      <resource-ref>
          <description>Dashboard Builder Datasource</description>
          <res-ref-name>jdbc/dashbuilderDS</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref>
    3. Em dashbuilder/META-INF/context.xml, defina a fábrica de transação:
       <Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory"/>
    4. Atualize o nome JNDI da fonte de dados em dashbuilder/WEB-INF/etc/hibernate.cfg.xml no elemento <session-factory>:
      <property name="connection.datasource">java:/comp/env/jdbc/dashbuilderDS</property>
  4. Reinicie o servidor Web Java para que essas alterações sejam efetivadas. Depois de reiniciado, você pode navegar pelo Dashbuilder de dentro do Business Central ou diretamente via: http://localhost:8080/dashbuilder.

Capítulo 3. Configurações Especiais

3.1. Configurando Persistências para o Business Central

O Red Hat JBoss BPM Suite é configurado para usar uma fonte de dados de exemplo com o nome JNDI (Java Naming and Directory Interface) java:jboss/datasources/ExampleDS. Para o Business Central, essa fonte de dados de exemplo está localizada no arquivo business-central.war/WEB-INF/classes/META-INF/persistence.xml.
Caso queira configurar o JBoss BPM Suite para usar um banco de dados externo, faça as mudanças a seguir. Para o arquivo business-central.war/WEB-INF/classes/META-INF/persistence.xml:
  1. Instale o respectivo driver JDBC (Java Database Connectivity) usando a abordagem modular para facilitar as configurações subsequentes (consulte a documentação do EAP 6).
  2. Crie uma nova fonte de dados segundo o exemplo na documentação do EAP 6, seção 6.7.1. Exemplo da Fonte de Dados PostgreSQL . Essa é a configuração padrão usada da fonte de dados específica do banco de dados H2:
     <subsystem xmlns="urn:jboss:domain:datasources:1.1">
             <datasources>
                <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                   <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
                   <driver>h2</driver>
                   <security>
                      <user-name>sa</user-name>
                      <password>sa</password>
                   </security>
                </datasource>
                <drivers>
                   <driver name="h2" module="com.h2database.h2">
                      <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                   </driver>
                </drivers>
             </datasources>
  3. Use o nome JNDI da fonte de dados para atualizar a seguinte entrada dentro do arquivo persistence.xml, o qual é definido por padrão nessa entrada.
    <jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>

    Importante

    Quando estiver configurando a sua fonte de dados, certifique-se de habilitar o JTA (geralmente, adicionando jta="true" à tag datasource).
  4. Substitua o texto a seguir pelo nome apropriado do dialeto do hibernate específico do banco de dados.
    <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect" />
    Por exemplo, para um Oracle Database Express Edition 11g, o nome ficaria:
    <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />

Nota

Quando o JBoss BPM Suite utiliza o Oracle 11 como a fonte de dados, múltiplas mensagens de aviso (WARN) são produzidas nos logs, sem que qualquer atividade correspondente ao Business Central esteja sendo realizada. Esse é o comportamento esperado. Para desabilitar essas mensagens, defina o nível da categoria org.hibernate.loader do agente como ERROR no arquivo standalone.xml:
<logger category="org.hibernate.loader">
  <level name="ERROR"/>
</logger>

3.2. Configurando Persistências para o Dashbuilder

Como o Dashbuilder é dependente da configuração do Business Central, certifique-se de que o Business Central esteja configurado de acordo com a Seção 3.1, “Configurando Persistências para o Business Central”. O Red Hat BPM Suite 6 é configurado para usar uma fonte de dados com o nome JNDI (Java Naming and Directory Interface) java:jboss/datasources/ExampleDS. Caso queira que o aplicativo funcione com um banco de dados diferente do H2 como, por exemplo, Oracle, MySQL, Postgres ou MS SQL Server, siga as instruções a seguir.

Nota

Caso queira usar UTF 8 para exibir os caracteres que não sejam do inglês, você deve verificar a documentação do seu banco de dados e configurar a codificação ao nível do banco de dados para que o Dashbuilder funcione corretamente. Por exemplo, no MySQL, adicione ao arquivo de configuração do servidor o seguinte:
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

Importante

Nos sistemas Unix, substitua o valor padrão do MySQL lower_case_table_names de 0 (diferenciando maiúsculas de minúsculas) para 1 (não diferenciando maiúsculas de minúsculas). As consultas do JBoss BPM Suite KPI são gravadas em minúsculas, mas os nomes das tabelas são gravados em camelCase. Ao mudar a propriedade lower_case_table_names, você evitará que as exceções ocorram depois.
  1. Instale o driver do banco de dados e crie uma nova fonte de dados de acordo com o exemplo na Documentação do EAP 6 na seção 6.7.1. Exemplo da Fonte de Dados PostgreSQL.
  2. Crie um banco de dados vazio.
  3. Modifique o arquivo dashbuilder.war/WEB-INF/jboss-web.xml cuja entrada padrão é:
      	<jboss-web>
        <context-root>/dashbuilder</context-root>
        <resource-ref>
            <res-ref-name>jdbc/dashbuilder</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <jndi-name>java:jboss/datasources/ExampleDS</jndi-name>
        </resource-ref>
    
  4. Modifique também os arquivos WEB-INF/jboss-deployment-structure.xml, de ambos os aplicativos business-central.war e dashbuilder.war, e adicione uma dependência sob a seção de dependências no módulo do driver JBDC, criado anteriormente durante a criação da fonte de dados. O snippet a seguir mostra uma configuração de amostra onde jdbcDriverModuleName é o nome do módulo do driver JDBC do JBoss EAP 6.
      <dependencies>
             ...
                <module name="jdbcDriverModuleName" />
                ...
      </dependencies>
    

3.3. Configuração Especial para o Banco de Dados IBM DB2

Caso queira usar um banco de dados IBM DB2 como a fonte de dados subjacente para o Business Central, você precisará aumentar o tamanho da página para o banco de dados. O tamanho padrão de 4kb da página não é suficiente para o tamanho das colunas das tabelas do Dashbuilder.
Quando criando o banco de dados, force o tamanho da página para 16384, como no exemplo abaixo:

Exemplo 3.1. Ajustando o tamanho da página

CREATE DATABASE dashb PAGESIZE 16384
Esse aumento do tamanho da página para o banco de dados subjacente deve ser realizado antes que o BPM Suite tenha sido executado pela primeira vez.

Capítulo 4. Funções e Usuários

4.1. Definindo as Funções

Antes de iniciar o servidor e fazer o login no Business Central, você precisará criar algumas contas de usuários. Esta seção descreve as diferentes funções de usuários que são usadas no Red Hat JBoss BPM Suite :
  • admin: os usuários com funções admin são os administradores do aplicativo. Os administradores podem gerenciar os usuários e os repositórios (criar e clonar) e ter acesso completo para efetuar as alterações solicitadas no aplicativo. Os administradores têm acesso a todas as áreas do sistema.
  • desenvolvedor: um desenvolvedor tem acesso a quase todos os recursos e pode gerenciar as regras, os modelos, os fluxos de processos, os formulários e os painéis. Eles podem gerenciar o repositório de ativos, criar, construir e implantar projetos e podem até mesmo usar o Red Hat JBoss Developer Studio para visualizar os processos. Apenas certas funções administrativas, como criar e clonar um novo repositório, estão ocultas para a função de desenvolvedor.
  • analista: um analista tem acesso a todos os recursos de alto nível para modelar e executar seus projetos. No entanto, o acesso à CriaçãoAdministração está indisponível para os usuários com a função de analista. Alguns recursos de nível mais baixo voltados para os desenvolvedores, como a visualização de ImplantaçãoRepositório de Artefatos, não estão acessíveis para essa função. Já o botão Compilar & Implantar está disponível para a função de analista durante o uso do Editor de Projeto.
  • usuário: o usuário ou usuário empresarial trabalha com as listas de tarefas de negócios que são usadas para operar um certo processo. Um usuário com essa função pode acessar o painel e gerenciar processos.
  • gerenciador: um gerenciador é um visualizador do sistema que está interessado nas estatísticas referentes aos processos empresariais e seus desempenhos, indicadores de negócios e outros tipos de notificação do sistema. Um usuário com essa função tem acesso somente ao BAM.

Nota

Insira as funções mencionadas acima durante o processo de criação do usuário.

4.2. Criando os Usuários

Para começar a adicionar novos usuários, você precisará executar o script add-user.sh em um sistema Unix ou o arquivo add-user.bat em um sistema Windows a partir do diretório bin do EAP.
  1. Execute ./add-user.sh em um sistema Unix ou add-user.bat em um sistema Windows a partir do diretório bin.
  2. Insira b para selecionar um Usuário do Aplicativo no prompt do usuário e pressione Enter.
  3. Aceite o Realm padrão (ApplicationRealm): pressionando Enter.
  4. No prompt de nome de usuário, insira um nome de usuário e confirme: helloworlduser.

    Nota

    Certifique-se de que os nomes de usuário não entrem em conflito com grupos conhecidos. Por exemplo, caso haja um grupo chamado admin, você não deve criar um usuário com o nome de usuário admin.
  5. Crie a senha do usuário no prompt de senha e insira novamente a senha. Por exemplo: Helloworld@123.

    Nota

    A senha deve ter, no mínimo, 8 caracteres e deve conter caracteres alfabéticos com letras maiúsculas e minúsculas (ex.: A-Z, a-z), ao menos um caractere numérico (ex.: 0-9) e ao menos um caractere especial (ex.: ~ ! @ # $ % ^ * ( ) - _ + =).
  6. Insira uma lista separada por vírgulas das funções que o usuário precisará no prompt de funções (consulte Seção 4.1, “Definindo as Funções”).
    Os usuários do Business Central precisam ter, no mínimo, a função de analista e os usuários do Dashbuilder precisam ter a função de admin. As funções devem ser inseridas em uma lista separada por vírgulas.
  7. Confirme caso queira adicionar o usuário.
  8. Insira sim (em inglês, yes) no próximo prompt (para habilitar o clustering no futuro, se necessário).

Capítulo 5. Testando a Instalação

5.1. Iniciando o Servidor

Se você instalou o Red Hat JBoss BPM Suite usando a instalação do pacote JBoss EAP 6, você pode agora iniciar o seu servidor em um dos dois modos.

Nota

Se você instalou o JBoss BPM Suite usando a versão genérica implantável no Red Hat Java Web Server, as instruções para download e instalação também contêm instruções sobre como iniciar o servidor. Nesse caso, você pode ignorar a discussão a seguir.
O script de inicialização padrão standalone.sh com que o Red Hat JBoss BPM Suite é enviado é otimizado para desempenho. Para executar o seu servidor no modo desempenho, siga as instruções a seguir:
  1. Na linha de comando, mova para o diretório $SERVER_HOME/bin/.
  2. Em um ambiente Unix, execute:
    ./standalone.sh
    Em um ambiente Windows, execute:
    ./standalone.bat
O Red Hat JBoss BPM Suite também é enviado com um script separado, standalone-secure.sh, que é otimizado para segurança. Esse script utiliza uma política de segurança por padrão que evita vulnerabilidades de segurança conhecidas.

Nota

É recomendável que os ambientes de produção usem o script standalone-secure.sh.

Atenção

É importante estar ciente de que o uso de um gerenciador de segurança afeta consideravelmente o desempenho. O equilíbrio entre segurança e desempenho deve ser feito levando em consideração as circunstâncias individuais. Consulte Seção 5.2, “Gerenciamento de Desempenho e Gerenciador de Segurança do Java”.
Para executar o seu servidor no modo de segurança com esse script, siga as instruções a seguir:
  1. Na linha de comando, mova para o diretório $SERVER_HOME/bin/.
  2. Em um ambiente Unix, execute:
    ./standalone-secure.sh
    Em um ambiente Windows, execute:
    ./standalone-secure.bat

Nota

Se você instalou o JBoss BPM Suite usando o instalador, você terá a opção de aplicar a política de segurança no momento da instalação. O instalador não fornece um script standalone-secure.sh separado.

Nota

Se você estiver iniciando o servidor no modo de domínio, os scripts correspondentes serão domain.sh e domain-secure.sh respectivamente.

5.2. Gerenciamento de Desempenho e Gerenciador de Segurança do Java

Como observado anteriormente, a habilitação do Gerenciador de Segurança do Java (JSM) para desempenhar a avaliação em área restritada dos scripts MVEL no Red Hat JBoss BPM Suite introduz uma queda de desempenho em ambientes de alta carga. Os ambientes e marcadores de desempenho devem ser levados em consideração durante a implantação de um aplicativo JBoss BPM Suite. Use as diretrizes a seguir para a implantação de aplicativos seguros e de alto desempenho JBoss BPM Suite.
  • Em ambientes de alta carga, onde o desempenho é crítico, recomenda-se implantar somente os aplicativos que foram desenvolvidos em outros sistemas e que foram revisados adequadamente. Recomenda-se também não criar usuários com a função de analista em tais sistemas. Se essas salvaguardas forem seguidas, é seguro deixar o JSM desabilitado nesses sistemas para que ele não introduza degradação alguma ao desempenho.
  • Nos ambientes de desenvolvimento e de testes sem altas cargas, ou em ambientes onde a criação de processos e regras está exposta às redes externas, recomenda-se ter o JSM habilitado para atingir os benefícios de segurança das avaliações em área restrita do MVEL.
Não é seguro e nem recomendável permitir que os usuários com a função de analista façam o log in no console do Business Central com o JSM desabilitado.

5.3. Fazendo o log in no Business Central

Faça o log in no Business Central depois que o servidor foi iniciado com êxito.
  1. Navegue até o http://localhost:8080/business-central. Caso a interface do usuário tenha sido configurada para execução a partir de um modo de domínio, substitua localhost pelo nome do domínio. Por exemplo, http://www.example.com:8080/business-central.
  2. Faça o login usando as credenciais do usuário que foram criadas durante a instalação. Por exemplo: Usuário = helloworlduser e senha = Helloworld@123.

Capítulo 6. Clusterizando

Quando clusterizando o Red Hat JBoss BPM Suite, considere quais componentes precisam ser clusterizados. Segue uma lista do que pode ser clusterizado:
  • O Repositório GIT: repositório do sistema de arquivos virtual (em inglês, virtual-file-system - VFS) que retém os ativos empresariais para que todos os nós do cluster utilizem o mesmo repositório.
  • O Servidor de Execução e os Aplicativos Web: servidor de tempo de execução que reside no contêiner (como o Red Hat JBoss EAP) junto com os aplicativos web BRMS e BPM Suite para que os nós compartilhem os mesmos dados de tempo de execução.
    Para instruções sobre como clusterizar o aplicativo, consulte a documentação de clusterização de contêineres.
  • O Banco de Dados Back-end: banco de dados com dados de estado, tais como instâncias de processos, sessões KIE, log do histórico e etc, para propósitos de failover.
Esquema do Sistema Red Hat JBoss BPM Suite com Componentes de Sistemas Individuais

Figura 6.1. Esquema do Sistema Red Hat JBoss BPM Suite com Componentes de Sistemas Individuais

Mecanismo de Clusterização do Repositório GIT

Para clusterizar o repositório GIT, usa-se o seguinte:
  • Apache Zookeeper, que reúne todas as partes.
  • Apache Helix, componente de gerenciamento do cluster que registra todos os detalhes do cluster (o cluster em si, os nós e os recursos).
O ambiente de tempo de execução, que é o Servidor de Execução, utiliza o seguinte para fornecer as capacidades de clusterização:
  • uberfire framework, que fornece o suporte principal dos aplicativos web.
Description

Figura 6.2. Clusterizando o Esquema com Helix e Zookeeper

Uma configuração típica de clusterização envolve o seguinte:
  • Configurar o próprio cluster, usando Zookeeper e Helix
  • Configurar o banco de dados back-end com configuração e tabelas Quartz
  • Configurar a clusterização no seu contêiner (essa documentação fornece instruções de clusterização apenas para o Red Hat JBoss EAP 6)

Clusterizando os Repositórios do Maven

Várias operações dentro do Business Central publicam JARs no repositório interno do Maven do Business Central.
Esse repositório existe no sistema de arquivos do servidor do aplicativo como arquivos regulares e não oferece suporte a clusters. Esta pasta não é sincronizada nos vários nós no cluster e deve ser sincronizada através de ferramentas externas, como a rsync.
Uma alternativa ao uso de ferramentas de sincronização externas é definir a propriedade do sistema org.guvnor.m2repo.dir em cada nó do cluster, apontando para um SAN ou NAS. Nesse caso, a clusterização da pasta do repositório do Maven não é necessária.

6.1. Configurando um Cluster

Para clusterizar seu repositório (VFS) GIT no Business Central, siga os passos a seguir (se você não utiliza o Business Central, ignore essa seção):
  1. Baixe a jboss-bpmsuite-brms-VERSÃO-supplementary-tools.zip que contém Apache Zookeeper, Apache Helix e scripts quartz DDL. Depois de baixá-la, descompacte o arquivo: os diretórios Zookeeper ($ZOOKEEPER_HOME) e Helix ($HELIX_HOME) são criados.
  2. Agora, configue o ZooKeeper:
    1. No diretório ZooKeeper, vá para o diretório conf e siga as instruções a seguir:
      cp zoo_sample.cfg zoo.cfg
    2. Abra zoo.cfg para edição e ajuste as configurações, incluindo:
      # the directory where the snapshot is stored.
      dataDir=$ZOOKEEPER_HOME/data/
      # the port at which the clients connects
      clientPort=2181
      server.1=server1:2888:3888
      server.2=server2:2888:3888
      server.3=server3:2888:3888
      Certifique-se de que o local dataDir exista e esteja acessível.
    3. Atribua uma ID de nó a cada membro que executará o ZooKeeper. Por exemplo, use "1", "2" e "3" para o nó 1, o nó 2 e o nó 3, respectivamente. O ZooKeeper deve ter um número ímpar de instâncias, no mínimo 3, para recuperar-se de falhas.
      A ID de nó é especificada em um campo chamado myid sob o diretório de dados do ZooKeeper em cada nó. Por exemplo, no nó 1, execute: $ echo "1" > /zookeeper/data/myid
  3. Configure o ZooKeeper para que você possa usá-lo quando estiver criando o cluster com Helix:
    1. Vá para o diretório $ZOOKEEPER_HOME/bin/ e inicie o ZooKeeper:
      ./zkServer.sh start
      O log do ZooKeeper pode ser verificado no arquivo $ZOOKEEPER_HOME/bin/zookeeper.out. Verifique esse log e certifique-se de que o 'ensemble' (cluster) foi formado com êxito. Um dos nós deve ser eleito o líder com os outros dois nós seguindo-o.
  4. Depois que o ensemble do ZooKeeper é iniciado, o próximo passo é configurar e iniciar o Helix. O Helix precisa ser configurado somente uma vez e de um único nó. A configuração é, então, armazenada pelo ensemble do ZooKeeper e compartilhada conforme o caso.
    Configure o cluster com o servidor ZooKeeper como o mestre (em inglês, master) da configuração:
    1. Crie o cluster fornecendo a porta e o host do ZooKeeper como uma lista separada por vírgulas:
      $HELIX_HOME/bin/helix-admin.sh --zkSvr ZOOKEEPER_HOST:ZOOKEEPER_PORT --addCluster CLUSTER_NAME
    2. Adicione os seus nós ao cluster:
      $HELIX_HOME/bin/helix-admin.sh --zkSvr ZOOKEEPER_HOST:ZOOKEEPER_PORT --addNode CLUSTER_NAME NODE_NAMEUNIQUE_ID

      Exemplo 6.1. Adicionando três nós de cluster

      ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --addNode bpms-cluster nodeOne:12345
      ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --addNode bpms-cluster nodeTwo:12346 
      ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --addNode bpms-cluster nodeThree:12347
  5. Adicione os recursos ao cluster:

    Exemplo 6.2. Adicionando vfs-repo como recurso

    ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --addResource bpms-cluster vfs-repo 1 LeaderStandby AUTO_REBALANCE
  6. Redistribua o cluster com os três nós.

    Exemplo 6.3. Redistribuindo o bpms-cluster

    ./helix-admin.sh --zkSvr server1:2181,server2:2181,server3:2181 --rebalance bpms-cluster vfs-repo 3
    No comando acima, 3 significa três nós do zookeeper.
  7. Inicie o controlador Helix em todos os nós no cluster.

    Exemplo 6.4. Iniciando o controlador Helix

    ./run-helix-controller.sh --zkSvr server1:2181,server2:2181,server3:2181 --cluster bpms-cluster 2>&1 > /tmp/controller.log &

Nota

O ZooKeeper deve ter um número ímpar de instâncias, no mínimo 3, para recuperar-se de falhas. Após a ocorrência de uma falha, o número de nós restante ainda precisa constituir a maioria. Por exemplo, um cluster composto de cinco nós do ZooKeeper pode resistir à perda de dois nós e recuperar-se completamente. Já uma única instância do ZooKeeper, apesar de ainda ser possível e da replicação funcionar, tem chances de não recuperar-se, caso haja falha.

Encerrando Helix e ZooKeeper

Para encerrar os processos Helix e o servidor ZooKeeper, utilize o procedimento a seguir.

Procedimento 6.1. Encerrando Helix e ZooKeeper

  1. Encerre os processos do servidor JBoss EAP.
  2. Encerre o processo Helix que foi criado pelo run-helix-controller.sh, por exemplo, kill -15 <pid of HelixControllerMain>.
  3. Encerre o servidor ZooKeeper usando o comando zkServer.sh stop.

6.2. Configurando o Quartz

Antes de configurar o banco de dados no seu servidor de aplicativo, você precisa preparar o banco de dados para o Quartz criar as tabelas Quartz, que irão manter os dados do temporizador, e o arquivo de definição Quartz.
Naturalmente, se você não estiver usando o Quartz (temporizadores) nos seus processos empresariais, ou o Servidor de Execução, você pode ignorar essa seção. Observe que, caso queira replicar os temporizadores nos seus processos empresariais, você precisará usar o componente Quartz.
Para realizar a configuração, siga as instruções a seguir:
  1. Configure o banco de dados. Certifique-se de usar uma das fontes de dados com suporte sem JTA. Observe que, pelo fato do Quartz precisar de uma fonte de dados sem JTA, você não pode usar a fonte de dados do Business Central. No código de exemplo, o PostgreSQL é usado com o usuário bpms e a senha bpms. Esse banco de dados precisará ser conectado ao seu servidor de aplicativo, portanto mantenha um registro nas credenciais e nas informações do banco de dados.
  2. Crie tabelas Quartz no seu banco de dados para permitir a sincronização dos eventos do temporizador. Para fazer isso, utilize o script DDL para o seu banco de dados, disponível no arquivo zip suplementar extraído em QUARTZ_HOME/docs/dbTables.
  3. Crie o arquivo de configuração Quartz quartz-definition.properties no diretório $JBOSS_HOME/PROFILE/configuration/ e defina as propriedades Quartz.

    Exemplo 6.5. Arquivo de configuração Quartz para um banco de dados PostgreSQL

     #============================================================================
    # Configure Main Scheduler Properties  
    #============================================================================
    
    org.quartz.scheduler.instanceName = jBPMClusteredScheduler
    org.quartz.scheduler.instanceId = AUTO
    
    #============================================================================
    # Configure ThreadPool  
    #============================================================================
    
    org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
    org.quartz.threadPool.threadCount = 5
    org.quartz.threadPool.threadPriority = 5
    
    #============================================================================
    # Configure JobStore  
    #============================================================================
    
    org.quartz.jobStore.misfireThreshold = 60000
    
    org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreCMT
    org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
    org.quartz.jobStore.useProperties=false
    org.quartz.jobStore.dataSource=managedDS
    org.quartz.jobStore.nonManagedTXDataSource=notManagedDS
    org.quartz.jobStore.tablePrefix=QRTZ_
    org.quartz.jobStore.isClustered=true
    org.quartz.jobStore.clusterCheckinInterval = 20000
    
    #============================================================================
    # Configure Datasources  
    #============================================================================
    org.quartz.dataSource.managedDS.jndiURL=jboss/datasources/psbpmsDS
    org.quartz.dataSource.notManagedDS.jndiURL=jboss/datasources/quartzNotManagedDS
    Observe as fontes de dados, que acomodarão os dois esquemas Quartz, configuradas bem no fim do arquivo.

    Importante

    O intervalo recomendado para a descoberta do cluster é de 20 segundos e está definido em org.quartz.jobStore.clusterCheckinInterval do arquivo quartz-definition.properties. Leve em consideração o impacto no desempenho e modifique a sua configuração, conforme necessário.
    Observe também a propriedade org.quartz.jobStore.driverDelegateClass que define o dialeto DB a ser usado quando comunicando-se com o banco de dados definido (nesse caso, org.quartz.impl.jdbcjobstore.PostgreSQLDelegate. Quando estiver usando Oracle, utilize org.quartz.impl.jdbcjobstore.oracle.OracleDelegate).

6.3. Configurando a Clusterização no Red Hat JBoss EAP

As informações fornecidas nessa seção tratam-se de uma receita simples de clusterização. Para informações adicionais sobre clusterização, por favor consulte a documentação do Red Hat JBoss EAP.
Durante o uso de clusterização do JBoss EAP, existe um único controlador de domínio do JBoss EAP com os outros subordinados do JBoss EAP conectando-se a ele como usuários de gerenciamento. A implantação do Business Central e do Dashbuilder pode ser feita como um usuário de gerenciamento em um controlador de domínio e as implantações WAR serão distribuídas a outros membros do cluster do JBoss EAP.
Para configurar a clusterização no Red Hat JBoss EAP 6, siga as instruções a seguir:
  1. Instale o seu driver JDBC como um módulo principal: copie o driver jar em $EAP_HOME/modules/system/layers/base/ e crie um arquivo module.xml no diretório.
  2. Edite o arquivo module.xml a partir do respectivo módulo XSD.

    Exemplo 6.6. Conteúdo do arquivo module.xml para uma fonte de dados PostgreSQL

    <module xmlns="urn:jboss:module:1.0" name="org.postgresql">
      <resources>
        <resource-root path="postgresql-jdbc.jar"/>
      </resources>
    
      <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
      </dependencies>
    </module>
    
  3. Configure os nós dos servidores individuais no elemento main-server-group no arquivo $EAP_HOME/domain/configuration/host.xml com as propriedades definidas na Tabela 6.1, “Propriedades dos Nós de Cluster ”:
    Observe que, ao configurar um cluster do JBoss EAP com o ZooKeeper, é possível haver uma diferença entre o número de nós do JBoss EAP e do ZooKeeper (lembrando que o ZooKeeper deve ter um número ímpar de nós). No entanto, a mesma contagem de nós tanto para o ZooKeeper quanto para o JBoss EAP é considerada a melhor prática.

    Tabela 6.1. Propriedades dos Nós de Cluster

    Nome das propriedadesValorDescrição
    jboss.node.namenodeOne
    Nome de nó exclusivo dentro do cluster
    org.quartz.properties/bpms/quartz-definition.properties
    Caminho absoluto para o arquivo de configuração quartz
    org.uberfire.cluster.autostarttrue
    Este valor atrasa a clusterização VFS até que o aplicativo seja completamente inicializado, evitando conflitos quando todos os membros do cluster criam clones locais.
    org.uberfire.cluster.idbpms-cluster
    Nome do cluster do Helix
    org.uberfire.cluster.local.idnodeOne_12345
    ID exclusiva do nó do cluster do Helix.
    Observe que : é substituído por _.
    org.uberfire.cluster.vfs.lockvfs-repo
    Nome do recurso definido no cluster Helix
    org.uberfire.cluster.zkserver1:2181
    Localização do ZooKeeper
    org.uberfire.metadata.index.dir/home/jbpm/node[N]/index
    Local onde o index para pesquisa será criado (mantido pelo Apache Lucene)
    org.uberfire.nio.git.daemon.hostnodeOneNome da máquina hospedeira daemon em um cluster físico.
    org.uberfire.nio.git.daemon.port9418
    Porta usada pelo repositório VFS para aceitar as conexões do cliente
    A porta precisa ser exclusiva para cada membro do cluster.
    org.uberfire.nio.git.dir/home/jbpm/node[N]/repo
    Localização do repositório (VFS) GIT no nó[N]
    org.uberfire.nio.git.ssh.hostnodeOneNome da máquinha hospedeira SSH em um cluster físico.
    org.uberfire.nio.git.ssh.port8003Número de porta exclusivo para acesso ssh ao repo GIT para um cluster em execução nas máquinas físicas.
    org.uberfire.nio.git.ssh.hostport and org.uberfire.nio.git.daemon.hostport8003 and 9418Porta externa a ser usada em um ambiente virtualizado.

    Exemplo 6.7. Configuração do cluster de nó 1 (nodeOne)

    <system-properties>
    				
      <property name="org.uberfire.nio.git.dir" value="/tmp/bpms/nodeone" boot-time="false"/>
      <property name="jboss.node.name" value="nodeOne" boot-time="false"/>
      
      <property name="org.uberfire.cluster.id" value="bpms-cluster" boot-time="false"/>
      <property name="org.uberfire.cluster.zk" value="server1:2181,server2:2181,server3:2181" boot-time="false"/>
      <property name="org.uberfire.cluster.local.id" value="nodeOne_12345" boot-time="false"/>
      <property name="org.uberfire.cluster.vfs.lock" value="vfs-repo" boot-time="false"/>
      <property name="org.uberfire.cluster.autostart" value="true" boot-time="true"/>
      
      <property name="org.uberfire.nio.git.daemon.host" value="nodeOne" />
      <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/>
      <property name="org.uberfire.nio.git.daemon.hostport" value="9418" boot-time="false"/>
      
      <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.hostport" value="8003" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.host" value="nodeOne" />
      
      <property name="org.uberfire.metadata.index.dir" value="/tmp/jbpm/nodeone" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.cert.dir" value="/tmp/jbpm/nodeone" boot-time="false"/>
      
      <property name="org.quartz.properties" value="/tmp/jbpm/quartz/quartz-db-postgres.properties" boot-time="false"/>
      
    </system-properties>

    Exemplo 6.8. Configuração do cluster de nó 2 (nodeTwo)

    <system-properties>
    				
      <property name="org.uberfire.nio.git.dir" value="/tmp/bpms/nodetwo" boot-time="false"/>
      <property name="jboss.node.name" value="nodeTwo" boot-time="false"/>
      
      <property name="org.uberfire.cluster.id" value="bpms-cluster" boot-time="false"/>
      <property name="org.uberfire.cluster.zk" value="server1:2181,server2:2181,server3:2181" boot-time="false"/>
      <property name="org.uberfire.cluster.local.id" value="nodeTwo_12346" boot-time="false"/>
      <property name="org.uberfire.cluster.vfs.lock" value="vfs-repo" boot-time="false"/>
      <property name="org.uberfire.cluster.autostart" value="true" boot-time="true"/>
      
      <property name="org.uberfire.nio.git.daemon.host" value="nodeTwo" />
      <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/>
      <property name="org.uberfire.nio.git.daemon.hostport" value="9418" boot-time="false"/>
      
      <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.hostport" value="8003" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.host" value="nodeTwo" />
      
      <property name="org.uberfire.metadata.index.dir" value="/tmp/jbpm/nodetwo" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.cert.dir" value="/tmp/jbpm/nodetwo" boot-time="false"/>
      
      <property name="org.quartz.properties" value="/tmp/jbpm/quartz/quartz-db-postgres.properties" boot-time="false"/>				
    
    
    </system-properties>

    Exemplo 6.9. Configuração do cluster de nó 3 (nodeThree)

    <system-properties>
    				
      <property name="org.uberfire.nio.git.dir" value="/tmp/bpms/nodethree" boot-time="false"/>
      <property name="jboss.node.name" value="nodeThree" boot-time="false"/>
      
      <property name="org.uberfire.cluster.id" value="bpms-cluster" boot-time="false"/>
      <property name="org.uberfire.cluster.zk" value="server1:2181,server2:2181,server3:2181" boot-time="false"/>
      <property name="org.uberfire.cluster.local.id" value="nodeThree_12347" boot-time="false"/>
      <property name="org.uberfire.cluster.vfs.lock" value="vfs-repo" boot-time="false"/>
      <property name="org.uberfire.cluster.autostart" value="true" boot-time="true"/>
      
      <property name="org.uberfire.nio.git.daemon.host" value="nodeThree" />
      <property name="org.uberfire.nio.git.daemon.port" value="9418" boot-time="false"/>
      <property name="org.uberfire.nio.git.daemon.hostport" value="9418" boot-time="false"/>
      
      <property name="org.uberfire.nio.git.ssh.port" value="8003" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.hostport" value="8003" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.host" value="nodeThree" />
      
      <property name="org.uberfire.metadata.index.dir" value="/tmp/jbpm/nodethree" boot-time="false"/>
      <property name="org.uberfire.nio.git.ssh.cert.dir" value="/tmp/jbpm/nodethree" boot-time="false"/>
      
      <property name="org.quartz.properties" value="/tmp/jbpm/quartz/quartz-db-postgres.properties" boot-time="false"/>				
    
    
    </system-properties>
  4. Adicione os usuários de gerenciamento, como instruído no guia Administration and Configuration Guide do Red Hat JBoss EAP, e os usuários do aplicativo, como instruído no guia Red Hat JBoss BPM Suite Administration and Configuration Guide.
  5. Inicie o servidor do aplicativo:
    ]$ $JBOSS_HOME/bin/domain.sh
  6. Verifique se os nós estão disponíveis.
Implante o aplicativo Business Central nos seus servidores:
  1. Mude a persistência predefinida do aplicativo para o banco de dados solicitado (PostgreSQL): em persistence.xml, mude o seguinte:
    1. o nome da fonte de dados jta para a fonte definida no servidor do aplicativo (java:jboss/datasources/psbpmsDS)
    2. o dialeto do hibernate para corresponder ao dialeto da fonte de dados (org.hibernate.dialect.PostgreSQLDialect)
  2. Faça o logon como o usuário de gerenciamento no console de administração do servidor do seu domínio e adicione as novas implantações utilizando o modo de exibição de execução do console. Depois que a implantação for adicionada ao domínio, atribua-a ao grupo de servidores correto (main-server-group).

Nota

É importante que os usuários verifiquem explicitamente a prontidão da unidade de implantação em relação a cada membro de cluster.
Quando uma unidade de implantação é criada em um nó de cluster, leva-se algum tempo até que ela seja distribuída entre todos os membros do cluster. O status da implantação pode ser verificado via IU e REST, no entanto caso a consulta chegue ao nó onde a implantação foi emitida originalmente, a resposta será implantada - deployed. Qualquer solicitação direcionando essa unidade de implantação enviada a um membro de cluster diferente falha com DeploymentNotFoundException.

Capítulo 7. Repositórios do Maven

7.1. Sobre o Maven

O Apache Maven é uma ferramanta de automação de compilação distribuída usada no desenvolvimento de aplicativos Java para compilar e gerenciar projetos de software. O Maven utiliza arquivos de configuração XML chamados POM (Modelo de Objeto do Projeto) para definir as propriedades dos projetos e gerenciar o processo de compilação. Os arquivos POM descrevem o módulo do projeto e as dependências dos componentes, a ordem de compilação e as metas para o empacotamento e a saída do projeto resultante, garantindo que os projetos sejam compilados de forma correta e uniforme.
O Maven utiliza repositórios para armazenar as bibliotecas Java, plug-ins e outros artefatos de compilação. Os repositórios podem ser locais ou remotos. Um repositório local trata-se de um download de artefatos de um repositório remoto em cache em uma máquina local. Um repositório remoto é qualquer outro repositório acessado usando protocolos comuns, tais como http://, quando localizado em um servidor HTTP, ou file://, quando localizado em um servidor de arquivos. O repositório padrão é o Repositório Central do Maven 2 remoto público.
A configuração do Maven é realizada ao modificar o arquivo settings.xml. É possível estabelecer as configurações globais do Maven no arquivo M2_HOME/conf/settings.xml ou as configurações em nível de usuário no arquivo USER_HOME/.m2/settings.xml .
Para mais informações sobre o Maven, consulte Welcome to Apache Maven.
Para mais informações sobre os repositórios do Maven, consulte Apache Maven Project - Introduction to Repositories.
Para mais informações sobre os arquivos POM do Maven, consulte Apache Maven Project POM Reference.

Nota

Seu produto Red Hat JBoss foi compilado com Maven 3.0.x. Portanto, esta é a versão Maven recomendável para a compilação dos seus aplicativos SwitchYard.

7.2. Sobre os Repositórios do Maven Fornecidos

Este lançamento fornece um conjunto de repositórios contendo os artefatos necessários para a compilação dos aplicativos baseados no Red Hat JBoss BPM Suite. O Maven deve ser configurado para usar esses repositórios, assim como o Repositório Central do Maven, para fornecer uma funcionalidade de compilação adequada.
São fornecidos dois conjuntos intercambiáveis de repositórios garantindo a mesma funcionalidade. O primeiro conjunto pode ser baixado e armazenado em um sistema de arquivos local e o segundo conjunto é hospedado online para uso como repositório remoto. Caso você tenha fornecido o local do arquivo settings.xml do Maven durante a instalação, o Maven já estará configurado para usar os repositórios online.

Importante

O conjunto dos repositórios remotos online é uma fonte de visualização de tecnologia dos componentes. Como tal, não está no escopo de correção e possui suporte somente para uso em ambientes de desenvolvimento. O uso do conjunto de repositórios online em ambiente de produção é uma fonte potencial de vulnerabilidades de segurança e, portanto, não possui caso de uso com suporte. Para mais informações, consulte https://access.redhat.com/site/maven-repository.

7.3. Configurando o Maven para Usar Repositórios do Sistema de Arquivos

Visão Geral

Em situações onde você não pode usar os repositórios online, você terá que baixar e configurar os repositórios necessários localmente.

Procedimento 7.1. 

  1. Baixe os arquivos ZIP a seguir contendo os repositórios necessários:
  2. Descomprima os arquivos ZIP baixados em um local arbitrário em um sistema de arquivos local.
  3. Adicione as entradas para os repositórios descompactados ao arquivo settings.xml do Maven. O exemplo de código a seguir contém um perfil com os repositórios , a configuração de autenticação para acesso aos repositórios e uma entrada de ativação para o perfil:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <localRepository/>
      <profiles>
        <!-- Profile with local repositories required by JBoss BRMS/JBoss BPM Suite -->
        <profile>
          <id>brms-bpms-local-profile</id>
          <repositories>
            <repository>
              <id>jboss-brms-bpmsuite-repository</id>
              <name>BRMS/BPMS 6.1.0 GA Repository</name>
              <url>file://<!-- path to the repository -->/jboss-brms-bpmsuite-6.1.0.GA-redhat-2-maven-repository/maven-repository</url>
              <layout>default</layout>
              <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
              </releases>
              <snapshots>
                <enabled>false</enabled>
                <updatePolicy>never</updatePolicy>
              </snapshots>
            </repository>
          </repositories>
          <pluginRepositories>
            <pluginRepository>
              <id>jboss-brms-bpmsuite-repository</id>
              <name>BRMS/BPMS 6.1.0 GA Repository</name>
              <url>file://<!-- path to the repository -->/jboss-brms-bpmsuite-6.1.0.GA-redhat-2-maven-repository/maven-repository</url>
              <layout>default</layout>
              <releases>
                <enabled>true</enabled>
                <updatePolicy>never</updatePolicy>
              </releases>
              <snapshots>
                <enabled>false</enabled>
                <updatePolicy>never</updatePolicy>
              </snapshots>
            </pluginRepository>
          </pluginRepositories>
        </profile>
      </profiles>
    
      <!-- Configuring pre-emptive authentication for the repository server -->
      <server>
        <id>brms-bpms-m2-repo</id>
        <username>admin</username>
        <password>admin</password>
        <configuration>
          <wagonProvider>httpclient</wagonProvider>
          <httpConfiguration>
            <all>
              <usePreemptive>true</usePreemptive>
            </all>
          </httpConfiguration>
        </configuration>
      </server>
      
      <!-- Alternative to enabling pre-emptive authentication - configuring 
           the Authorization HTTP header with Base64-encoded credentials
      <server>
        <id>brms-bpms-m2-repo</id>
        <configuration>
          <httpHeaders>
            <property>
              <name>Authorization</name>
              <value>Basic YWRtaW46YWRtaW4=</value>
            </property>
          </httpHeaders>
        </configuration>
      </server>
      -->
      
      <activeProfiles>
       <!-- Activation of the JBoss BRMS/JBoss BPM Suite profile -->
       <activeProfile>brms-bpms-local-profile</activeProfile>
      </activeProfiles>
    </settings>
Resultado

Os repositórios do Maven são baixados, descompactados em um sistema de arquivos local, registrados no arquivo settings.xml do Maven e, então, estarão prontos para serem usados durante a execução das compilações do Maven.

Solução de Problemas

P: Por que eu ainda obtenho erros durante a compilação ou implantação dos meus aplicativos?
P: Por que o JBoss Developer Studio está usando a minha configuração antiga do Maven?
P:
Por que eu ainda obtenho erros durante a compilação ou implantação dos meus aplicativos?
R:
Problema

Quando você compila ou implanta um projeto, ele falha com um ou ambos os erros a seguir:

  • [ERRO] Falha ao executar a meta no projeto PROJECT_NAME
  • Não foi possível encontrar o artefato ARTIFACT_NAME

Causa

O seu repositório local em cache do Maven pode conter artefatos desatualizados.

Solução

Para resolver o problema, exclua o repositório local em cache – o diretório no Linux ~/.m2/repository/ ou o diretório no Windows – %SystemDrive%\Users\USERNAME\.m2\repository\ e execute mvn clean install -U. Isso forçará o Maven a baixar as versões corretas dos artefatos necessários durante a execução da próxima compilação.

P:
Por que o JBoss Developer Studio está usando a minha configuração antiga do Maven?
R:
Problema

Você atualizou a sua configuração do Maven, mas essa configuração não aparece no JBoss Developer Studio.

Causa

Se o JBoss Developer Studio estiver em execução no momento que você modifica o seu arquivo settings.xml do Maven, essa configuração não aparecerá no JBoss Developer Studio.

Solução

Atualize as configurações do Maven no IDE. A partir do menu, selecione JanelaPreferências. Na janela Preferências, expanda o Maven e selecione Configurações do Usuário. Clique no botão Atualizar Configurações para atualizar as configurações de usuário do Maven no JBoss Developer Studio.
Atualize as Configurações de Usuário do Maven

Figura 7.1. Atualize as Configurações de Usuário do Maven

7.4. Configurando o Maven para Usar Repositórios Online

Os repositórios online necessários para os aplicativos do Red Hat JBoss BPM Suite estão localizados em http://maven.repository.redhat.com/techpreview/all/.
Caso não tenha configurado o repositório do Maven durante a instalação, você pode configurá-lo usando o procedimento a seguir. (Também é possível configurá-lo usando o arquivo POM do projeto, mas não é recomendável.)

Procedimento 7.2. Configurando o Maven para Usar Repositórios Online

  1. Adicione as entradas para os repositórios online e a configuração de autenticação para acessá-los ao arquivo settings.xml do Maven, como no exemplo de código abaixo:
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    
      <profiles>
        <!-- Profile with online repositories required by BRMS/BPMS -->
        <profile>
          <id>brms-bpms-online-profile</id>
          <repositories>
            <repository>
              <id>jboss-ga-repository</id>
              <url>http://maven.repository.redhat.com/techpreview/all</url>
              <releases>
                <enabled>true</enabled>
              </releases>
              <snapshots>
                <enabled>false</enabled>
              </snapshots>
            </repository>
          </repositories>
          <pluginRepositories>
            <pluginRepository>
              <id>jboss-ga-plugin-repository</id>
              <url>http://maven.repository.redhat.com/techpreview/all</url>
              <releases>
                <enabled>true</enabled>
              </releases>
              <snapshots>
                <enabled>false</enabled>
              </snapshots>
            </pluginRepository>
          </pluginRepositories>
        </profile>    
      </profiles>
      
      <!-- Configuring pre-emptive authentication for the repository server -->
      <server>
        <id>brms-bpms-m2-repo</id>
        <username>admin</username>
        <password>admin</password>
        <configuration>
          <wagonProvider>httpclient</wagonProvider>
          <httpConfiguration>
            <all>
              <usePreemptive>true</usePreemptive>
            </all>
          </httpConfiguration>
        </configuration>
      </server>
      
      <!-- Alternative to enabling pre-emptive authentication - configuring 
           the Authorization HTTP header with Base64-encoded credentials
      <server>
        <id>brms-bpms-m2-repo</id>
        <configuration>
          <httpHeaders>
            <property>
              <name>Authorization</name>
              <value>Basic YWRtaW46YWRtaW4=</value>
            </property>
          </httpHeaders>
        </configuration>
      </server>
      -->
    
      <activeProfiles>
        <!-- Activation of the BRMS/BPMS profile -->
        <activeProfile>brms-bpms-online-profile</activeProfile>
      </activeProfiles>
    
    </settings>
  2. Caso tenha modificado o arquivo settings.xml enquanto o JBoss Developer Studio estava em execução, você deverá atualizar as configurações do Maven. A partir do menu, selecione JanelaPreferências. Na Janela Prefereências, expanda o Maven e selecione Configurações do Usuário. Clique no botão Atualizar Configurações para atualizar as configurações de usuário do Maven no JBoss Developer Studio.
    Atualize as Configurações de Usuário do Maven

    Figura 7.2. Atualize as Configurações de Usuário do Maven

Resultado

O Maven foi configurado para usar os repositórios online fornecidos para o seu produto Red Hat JBoss.

Importante

Caso o seu repositório local em cache do Maven contenha artefatos desatualizados, você pode encontrar um dos seguintes erros durante a compilação ou implantação do seu projeto:
  • Artefato ARTIFACT_NAME ausente
  • [ERRO] Falha ao executar a meta no projeto PROJECT_NAME; Não foi possível resolver as dependências para PROJECT_NAME
Para resolver o problema, exclua o repositório local em cache – o diretório no Linux ~/.m2/repository/ ou o diretório no Windows %SystemDrive%\Users\USERNAME\.m2\repository\. Isso forçará o Maven a baixar as versões corretas dos artefatos necessários durante a próxima compilação.

7.5. Gerenciamento de Dependências

Para usar as dependências corretas do Maven no seu projeto do Red Hat JBoss BPM Suite, você deve adicionar os arquivos da Lista de Materiais (BOM) relevantes ao arquivo pom.xml do projeto. A adição dos arquivos BOM garante que as versões corretas das dependências transitivas dos repositórios do Maven fornecidos sejam incluídas no projeto.
O repositório do Maven na versão 6.1.0 foi designado para ser utilizado somente em combinação com o Maven Central e nenhum outro repositório é necessário.
Dependendo das necessidades do seu projeto, declare as dependências no seu arquivo POM e na seção de dependências:
  • org.jboss.bom.brms:jboss-brms-bpmsuite-bom:VERSION: Esse é o BOM básico sem qualquer suporte Java EE6.
  • org.jboss.bom.brms:jboss-javaee-6.0-with-brms-bpmsuite:VERSION: Fornece suporte ao Java EE6.

Capítulo 8. Red Hat JBoss Developer Studio

8.1. Red Hat JBoss Developer Studio

O Red Hat JBoss Developer Studio é o ambiente de desenvolvimento integrado (IDE) do JBoss baseado no Eclipse. Para obter as informações mais atualizadas sobre o JBoss Developer Studio, acesse o Portal do Consumidor Red Hat https://access.redhat.com. O JBoss Developer Studio fornece plug-ins com ferramentas e interfaces para o Red Hat JBoss BRMS e o Red Hat JBoss BPM Suite. Esses plug-ins são baseados nas versões da comunidade desses produtos. Portanto, o plug-in do JBoss BRMS é chamado de plug-in Drools e o plug-in do JBoss BPM Suite é chamado de plug-in jBPM.
Consulte a documentação Red Hat JBoss Developer Studio para instruções de instalação e configuração.

Atenção

Certifique-se de que a instância do JBoss Developer Studio seja iniciada com a codificação do arquivo definida como UTF-8, devido a um problema na forma como os nomes de regra com múltiplos bytes são tratados. Você pode fazer isto editando o arquivo $JBDS_HOME/studio/jbdevstudio.ini e adicionando a seguinte propriedade: "-Dfile.encoding=UTF-8"

8.2. Instalando os Plug-ins do JBoss Developer Studio

Os plug-ins Drools e jBPM para o JBoss Developer Studio estão disponíveis através do site de atualização.

Procedimento 8.1. Instale os Plug-ins Drools e jBPM do JBoss Developer Studio

  1. Inicie o JBoss Developer Studio.
  2. Selecione AjudaInstale Novo Software.
  3. Clique em Adicionar para inserir o menu Adicionar Repositório.
  4. Forneça um nome ao site do software próximo ao campo Nome e adicione o seguinte url no campo Local: https://devstudio.jboss.com/updates/8.0/integration-stack/
  5. Clique em OK.
  6. Selecione o recurso JBoss Business Process and Rule Development a partir das opções disponíveis e clique em Avançar e, depois, em Avançar novamente.
  7. Leia o contrato de licença e aceite seus termos selecionando o botão de opção apropriado e clique em Concluir.
  8. Após concluir a instalação dos plug-ins, reinicie o JBoss Developer Studio.

8.3. Definindo o Tempo de Execução do Plug-in Drools

Para usar o plug-in do Red Hat JBoss BRMS com Red Hat JBoss Developer Studio, é necessário configurar o tempo de execução.
O tempo de execução é uma coleção de arquivos jar que representa um lançamento específico do software e fornece as bibliotecas necessárias para a compilação e execução dos seus ativos empresariais.

Procedimento 8.2. Configure o Tempo de Execução do JBoss BRMS

  1. Extraia os arquivos jar do tempo de execução localizados no arquivo jboss-brms-VERSION-engine.zip, que pode ser baixado através do Portal do Consumidor Red Hat.
  2. A partir do menu JBoss Developer Studio, selecione a Janela e clique em Preferências.
  3. Selecione DroolsTempos de Execução do Drools Intalados.
  4. Clique em Adicionar...; forneça um nome para o novo tempo de execução e clique em Navegar para navegar até o diretório onde você extraiu os arquivos do tempo de execução na etapa 1. Clique em OK para registrar o tempo de execução selecionado no JBDS.
  5. Marque o tempo de execução que você criou como o tempo de execução padrão do Drools clicando na caixa de seleção próxima a ele.
  6. Clique em OK. Caso tenha projetos existentes, uma caixa de diálogo indicará que você deve reiniciar o JBoss Developer Studio para atualizar o tempo de execução.

8.4. Configurando o JBoss BPM Suite Server

O JBoss Developer Studio pode ser configurado para executar o Red Hat JBoss BPM Suite Server.

Procedimento 8.3. Configure o Servidor

  1. Abra o modo de exibição do jBPM selecionando JanelaAbrir PerspectivaOutros e selecione jBPM. Depois, clique em OK.
  2. Adicione o modo de visualização do servidor selecionando JanelaMostrar Modo de ExibiçãoOutros... e selecione ServidorServidores.
  3. Abra o menu do servidor clicando com o botão direito do mouse no painel Servidores e selecione NovoServidor.
  4. Defina o servidor selecionando JBoss Enterprise MiddlewareJBoss Enterprise Application Platform 6.4+ e clique em Avançar.
  5. Defina o diretório base clicando no botão Navegar. Navegue e selecione o diretório de instalação para o JBoss EAP 6.4, o qual possui JBoss BPM Suite instalado.
  6. Forneça um nome para o servidor no campo Nome, certifique-se de que o arquivo de configuração esteja definido e clique em Concluir.

8.5. Importando os Projetos de um Repositório Git no JBoss Developer Studio

Você pode configurar o JBoss Developer Studio para conectar-se a um repositório central de ativos Git. O repositório armazena regras, modelos, funções e processos.
Você pode clonar um repositório remoto Git ou importar um repositório local Git.

Procedimento 8.4. Clonando um Repositório Remoto Git

  1. Inicie o Red Hat JBoss BRMS/BPM Suite Server (o que for aplicável) selecionando o servidor através da guia servidor e clique no ícone iniciar.
  2. Simultaneamente, inicie o servidor Secure Shell, se ainda não estiver em execução, usando o comando a seguir. O comando é específico ao Linux e Mac apenas. Caso o sshd já tenha sido iniciado nessas plataformas, esse comando não funcionará. Nesse caso, é mais seguro ignorar essa etapa.
    /sbin/service sshd start
  3. No JBoss Developer Studio, selecione ArquivoImportar... e navegue até a pasta Git. Abra a pasta Git e selecione Projetos do Git e clique em Avançar.
  4. Selecione a fonte do repositório como Clonar URI e clique em Avançar.
  5. Insira os detalhes do repositório Git na próxima janela e clique em Avançar.
    Detalhes do Repositório Git

    Figura 8.1. Detalhes do Repositório Git

  6. Selecione a ramificação que você deseja importar na janela seguinte e clique em Avançar.
  7. Para definir o armazenamento local deste projeto, insira (ou selecione) um diretório não vazio, aplique quaisquer alterações de configuração e clique em Avançar.
  8. Importe o projeto como um projeto geral na janela seguinte e clique em Avançar. Nomeie o projeto e clique em Concluir.

Procedimento 8.5. Importando um Repositório Local Git

  1. Inicie o Red Hat JBoss BRMS/BPM Suite Server (o que for aplicável) selecionando o servidor através da guia servidor e clique no ícone iniciar.
  2. No JBoss Developer Studio, selecione ArquivoImportar... e navegue até a pasta Git. Abra a pasta Git e selecione Projetos do Git e clique em Avançar.
  3. Selecione a fonte do repositório como Repositório local existente e clique em Avançar.
    Detalhes do Repositório Git

    Figura 8.2. Detalhes do Repositório Git

  4. Selecione o repositório a ser configurado a partir da lista de repositórios disponíveis e clique em Avançar.
  5. Na caixa de diálogo que abrir, selecione o botão de opção Importar como projeto geral do Assistente para o grupo de importação de projetos e clique em Avançar. Nomeie o projeto e clique em Concluir.
    Assistente para a Importação de Projetos

    Figura 8.3. Assistente para a Importação de Projetos

Capítulo 9. Corrigindo e Realizando o Upgrade do Red Hat JBoss BPM Suite

9.1. Sobre as Correções e os Upgrades

As correções ao Red Hat JBoss BPM Suite podem ser aplicadas como uma atualização assíncrona ou planejada:
  • Atualizações assíncronas: correções individuais que são liberadas fora do ciclo normal de atualização do produto existente. Podem incluir correções de segurança, assim como outras correções individuais fornecidas pelo Serviço de Suporte Global Red Hat (GSS) para corrigir problemas específicos.
  • Atualizações planejadas: correções cumulativas de um produto existente, incluindo todas as atualizações desenvolvidas previamente para essa versão do produto.
As correções aplicadas ao Red Hat JBoss BPM Suite podem ser baixadas através do link https://access.redhat.com/downloads/.
Os arquivos a seguir são incluídos como parte de um lançamento de correção do JBoss BRMS e JBoss BPM Suite.
  • Clientes JBoss BRMS - jboss-brms-<version>-patch.zip
  • Clientes JBoss BPM Suite - jboss-bpmsuite-<version>-patch.zip
  • Atualizações do repositório do Maven (as mesmas para clientes JBoss BRMS e JBoss BPM Suite) - jboss-brms-bpmsuite-<version>-incremental-maven-repository.zip

9.2. Aplicando Correções ao Red Hat JBoss BPM Suite 6.1

No Red Hat JBoss BPM Suite, a ferramenta de aplicação de correções do cliente é distribuída como um arquivo zip que inclui os scripts simples .sh e .bat, permitindo a aplicação automática e fácil das atualizações de uma instalação do JBoss BPM Suite 6.1 (ou superior) existente.

Importante

A ferramenta de aplicação de correção deve ser usada com o JBoss BPM Suite 6.1 ou superior e não deve ser usada nas versões anteriores. Para mais informações, consulte https://access.redhat.com/articles/1455733.
O script necessita de dois parâmetros mandatórios: <path-to-distribution-root> e <type-of-distribution>. Por exemplo, o comando a seguir aplica as atualizações ao pacote JBoss EAP especificado:

Nota

As atualizações de correção não devem ser aplicadas enquanto você estiver executando uma instância do Red Hat JBoss BPM Suite. Certifique-se de que o servidor esteja desligado antes de executar o comando a seguir.
$ ./apply-updates.sh ~/EAP_HOME/jboss-eap-6.4 eap6.x
Os tipos de distribuição a seguir possuem suporte:
  • eap6.x
  • eap6.x-bc
  • eap6.x-kie-server
  • eap6.x-dashbuilder
  • generic
  • generic-bc
  • generic-kie-server
  • generic-dashuilder
  • was8
  • was8-bc
  • was8-kie-server
  • was8-dashbuilder
  • wls12c
  • wls12c-bc
  • wls12c-kie-server
  • wls12c-dashbuilder
  • brms-engine
  • planner-engine
  • supplementary-tools
A ferramenta de migração e os guias de início rápido também estão incluídos na correção e estão disponíveis para download como um arquivo zip.

Nota

Somente as atualizações do BRMS/BPM Suite estão incluídas na distribuição de correção. As correções do próprio EAP devem ser aplicadas usando o mecanismo de aplicação de correção do EAP. Consulte Red Hat JBoss EAP Installation Guide.

Recurso de Backup

Antes de aplicar qualquer atualização, o script do cliente faz um backup da distribuíção especificada. Ele copia o arquivo de distribuição ou o diretório no subdiretório backup/<current-timestamp>. O diretório de backup de nível superior é criado no mesmo nível do sistema de arquivos, como o script apply-updates.

Recurso da Lista Negra (em inglês, Blacklist)

A ferramenta de aplicação de correção do cliente fornece um recurso de lista negra, permitindo que você informe ao script os arquivos que não devem ser atualizados. Esse é um recurso muito útil que ajuda a preservar os seus arquivos configurados de serem substituídos automaticamente pelo processo de atualização. Mas, você pode especificar os arquivos não configurados também, caso necessário.
Para especificar os arquivos na lista negra, abra o arquivo blacklist.txt dentro da distribuição de correção. Insira o caminho relativo para os arquivos que não devem ser atualizados. Cada arquivo deve ser especificado em sua própria linha.
# lines with a '#' are comment lines, like this one
# blank lines are ignored

# we have made changes to the web.xml that must be preserved
WEB-INF/web.xml

# this file has custom modifications
styles/base.css
Os arquivos especificados no arquivo blacklist.txt que possuem conteúdos atualizados na correção, não são tocados pela ferramenta de atualização. Ao invés disto, a ferramenta copia o arquivo novo e atualizado no mesmo local e anexa o sufixo new, 'novo', a ele. Por exemplo, após executar a ferramenta de correção, ambos os arquivos existirão na pasta styles, continuando com o arquivo blacklist.txt no exemplo acima.
$ ls styles
base.css base.css.new
Cabe a você comparar os conteúdos dos dois arquivos e mesclar as alterações.
Caso existam arquivos que não sejam distribuídos mais, mas você gostaria de mantê-los, você deve colocá-los também no arquivo blacklist.txt. A ferramenta de atualização de correção não excluirá esses arquivos, ao contrário, criará um arquivo marcador vazio com o sufixo removed, 'removido'. Cabe a você também manter ou excluir esses arquivos manualmente.
Continuando com o exemplo anterior, se o arquivo base.css foi removido e ele estava listado no arquivo blacklist.txt, então, após a ferramenta de correção ter sido executada, os conteúdos do diretório styles pareceriam com o seguinte:
$ ls styles
base.css base.css.removed

9.3. Corrigindo Outros Aplicativos e Plataformas

Os comandos a seguir podem ser usados para a atualização de outras plataformas com suporte e outros aplicativos comuns no Red Hat JBoss BPM Suite.
Correções no arquivo web (WAR) do Business Central no EAP 6.x

$ ./apply-updates.[sh|bat] <some-path>/jboss-eap-6.4/standalone/deployments/business-central.war eap6.x-bc

Correções no arquivo web (WAR) do Servidor Genérico KIE

$ ./apply-updates.[sh|bat] <some-path-to-tomcat-home>/webapps/kie-server.war generic-kie-server

Correções no pacote WebLogic 12c

$ ./apply-updates.[sh|bat] <path-to-unzipped-wls12c-bundle> wls12c

Correções no pacote do mecanismo Planner

$ ./apply-updates.[sh|bat] <path-to-unzipped-planner-bundle> planner-engine

Apêndice A. Histórico de Revisões

Histórico de Revisões
Revisão 1.0.0-1.1Fri Dec 11 2015Red Hat Localization Services
Tradução de arquivos sincronizados com a versão 1.0.0-1 de fontes do XML
Revisão 1.0.0-1Wed Aug 05 2015Petr Penicka
Construído a partir da Especificação do Conteúdo: 22832, Revisão: 759982 por ppenicka

Nota Legal

Copyright © 2015 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.