Guia de Instalação
Para Administradores Red Hat JBoss
Resumo
Capítulo 1. Introdução
1.1. Sobre o Red Hat JBoss BPM Suite
1.2. Plataformas com Suporte
- 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

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

Figura 1.2. Automação do Processo de Solicitação de Empréstimo
Parte I. Instalação do Red Hat JBoss BPM Suite
Capítulo 2. Opções de Instalação
- 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.
Nota
"-Dfile.encoding=UTF-8".
Importante
2.1. Instalação do Instalador Red Hat JBoss BPM Suite
Nota
2.1.1. Baixando Red Hat JBoss BPM Suite for JBoss EAP
- Acesse o Portal do Consumidor Red Hat e faça o log in.
- Clique em Downloads → Downloads de Produtos.
- Quando a página Downloads de Produtos abrir, clique em Red Hat JBoss BPM Suite.
- A partir do menu suspenso Versão, selecione a versão 6.1.
- 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
Nota
non-root user.
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.
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.jarNota
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çãoizpack.mode=privilegedao comando de instalação:java -Dizpack.mode=privileged -jar jboss-bpmsuite-6.1.0.GA-installer.jar- 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.
- 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:

Figura 2.1. Red Hat JBoss BPM Suite para JBoss EAP Directory Path
- 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çãoadmin. Funções adicionais podem ser atribuídas a esse usuário durante essa etapa. 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.- 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.
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.
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. Tantoiteration countquantosaltsã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.
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 resultado final é uma conexão criptografada e segura entre o cliente e o servidor para o ManagementRealm.- 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.

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.

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.
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 decontextosão análogos ao DN Base a partir do anterior e os campos deatributosã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 arquivosjbpm.usergroup.callback.propertiesejbpm.user.info.propertiesusados pelos componentesLDAPUserGroupInfoeLDAPUserInfodo 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 loginLdapExtended. 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.
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.
Figura 2.8. Domínio de Segurança

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.
Figura 2.10. Configuração do Armazenamento de Chaves SSL JMS
- 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.
2.1.3. Instalando Red Hat JBoss BPM Suite Usando o Instalador no Modo CLI
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.
- 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
- 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.
- 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. - 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:- Insira o nome de usuário:
Nome de usuário administrativo: [admin]
- 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.
- 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]
- 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: [****************]
- 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: []
- 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:
- 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.
- 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.
- 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:
- Em seguida, selecione uma opção a partir do prompt abaixo:
pressione 1 para continuar, 2 para sair, 3 para reexibir.
- O arquivo .jar começará a descompactar e a ser configurado.
- 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]:
- 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
- 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]$
- Inicie o JBoss EAP executando
standalone.shno diretóriojboss-eap-6.4/bin../standalone.sh
- Navegue pelo http://localhost:8080/business-central.
- 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
- 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:
bindomain
Ignore o diretóriostandalone - Na linha de comando, vá para o diretório
/domaine inicie o domínio:Em um ambiente Unix, execute:./domain.sh
Em um ambiente Windows, execute:./domain.bat
- Implante o arquivo via
${jboss-eap-home}/bin/jboss-cli.sh / ${jboss-eap-home}/bin/jboss-cli.batou 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.- 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 directorye implante o arquivo WAR:Em um ambiente Unix, execute:./jboss-cli.sh
Em um ambiente Windows, execute:./jboss-cli.bat
- 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
Instalando Múltiplas Instâncias do JBoss BPM Suite Server
org.uberfire.nio.git.dirorg.uberfire.metadata.index.dirorg.uberfire.nio.git.ssh.cert.dir
org.uberfire.nio.git.daemon.host- pode ser deixada com o valor padrão para vincular-se ao localhost.org.uberfire.nio.git.daemon.portorg.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
org.uberfire.nio.git.daemon.port quanto org.uberfire.nio.git.ssh.port necessitam de valores de porta diferentes para evitar conflitos de porta.
$EAP_HOME/domain/configuration/host.xml, como ilustrado nos dois nós abaixo:
<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><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>.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
jboss-bpmsuite-VERSION-deployable-generic.zip: contém os aplicativos webbusiness-central.war,dashbuilder.warekie-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
- Acesse o Portal do Consumidor Red Hat e faça o log in.
- Clique em Downloads.
- Clique em Red Hat JBoss BPM Suite, a partir da lista de produtos.
- A partir do menu suspenso Versão, selecione a versão 6.1 (caso não esteja selecionada ainda).
- 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.
- 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
- Configure o driver do banco de dados e o gerenciador de transação (Bitronix) (consulte Seção 2.2.2.1, “Configurando o Gerenciador de Transação para Red Hat JBoss Web Server 2.1 (Tomcat 7)”).
- Configure o aplicativo Business Central: defina os usuários, as funções e a persistência (consulte Seção 2.2.2.2, “Configurando o Business Central para Red Hat JBoss Web Server 2.1 (Tomcat 7)”).
- Configure o aplicativo Dashbuilder: defina os usuários, as funções e a persistência (consulte Seção 2.2.2.3, “Configurando Dashbuilder para Red Hat JBoss Web Server 2.0 (Tomcat 7)”).
2.2.2.1. Configurando o Gerenciador de Transação para Red Hat JBoss Web Server 2.1 (Tomcat 7)
- 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.warekie-server.warem um formato expandido. Renomeie essas pastas para remover a extensão.war. - 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/dashbuildere$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/ - 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. 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 pastalibno 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: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 embusiness-central/WEB-INF/lib/.- 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
- Configure o ouvinte do gerenciador de transação no
$TOMCAT_DIR/conf/server.xmlpara 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" />
- 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ívelsetenv.shcom 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 propriedadeorg.jbpm.designer.perspectiveé definida comoRuleFlowpermitindo que a perspectiva padrão para o designer sejaRuleFlowao invés deFull. Conceda as permissões de execução do arquivo, se necessário.A propriedadejava.security.auth.login.configdeve ser definida para que o clone ssh do repositório git funcione.Importante
Nos sistemas do Microsoft Windows, substitua o valor$CATALINA_HOMEno conteúdo do arquivo pelo nome da variável do ambiente equivalente ou use o caminho absoluto e adicione os valores no arquivosetenv.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)
- Defina um
Valvepara que o aplicativo web do Business Central possa carregar os usuários definidos no Tomcat:- 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 comoadmine/ouanalista(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 nomeadobpmsadmin.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árioadmin.<role rolename="admin"/> <role rolename="analyst" /> <user username="bpmsadmin" password="P@ssw0rd" roles="admin,analyst"/>
- Mova (não copie)
kie-tomcat-integration-VERSION.jarde$TOMCAT_DIR/webapps/business-central/WEB-INF/lib/para$TOMCAT_DIR/lib/. - Copie
jboss-jaxb-api-VERSION.jarde$TOMCAT_DIR/webapps/business-central/WEB-INF/lib/no$TOMCAT_DIR/lib/. - Em
$TOMCAT_DIR/conf/server.xml, adicione a declaração Tomcat Valve no elemento <host> relevante:<Valve className="org.kie.integration.tomcat.JACCValve" />
- 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 arquivoresources.propertiesbitronix (para a opção MySQL).- 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 emresources.properties:<Resource name="jdbc/myDatasource" uniqueName="jdbc/jbpm" auth="Container" removeAbandoned="true" factory="bitronix.tm.resource.ResourceObjectFactory" type="javax.sql.DataSource"/>
- 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> - 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 parapersistence.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.Oracle10gDialecte para Microsoft SQL Server éorg.hibernate.dialect.SQLServerDialect - Altere o arquivo
business-central/WEB-INF/classes/META-INF/persistence.xmlpara 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 parapersistence.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>
- Você pode, agora, iniciar o JBoss Web Server para fazer o login no Business Central.
- Execute
startup.shno diretório $TOMCAT_HOME/bin../startup.sh
- Navegue pelo http://localhost:8080/business-central.
- 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
- 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 comoadmine/ouanalista. Se você já definiu esses usuários antes para o Business Central, você não precisa definí-los novamente. - 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" />
- 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 arquivoresources.propertiesbitronix:- 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 emresources.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" />
- 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> - Em
dashbuilder/META-INF/context.xml, defina a fábrica de transação:<Transaction factory="bitronix.tm.BitronixUserTransactionObjectFactory"/>
- Atualize o nome JNDI da fonte de dados em
dashbuilder/WEB-INF/etc/hibernate.cfg.xmlno elemento <session-factory>:<property name="connection.datasource">java:/comp/env/jdbc/dashbuilderDS</property>
- 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
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.
business-central.war/WEB-INF/classes/META-INF/persistence.xml:
- 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).
- 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> - 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, adicionandojta="true"à tagdatasource). - 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
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
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
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci
Importante
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.
- 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.
- Crie um banco de dados vazio.
- Modifique o arquivo
dashbuilder.war/WEB-INF/jboss-web.xmlcuja 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> - Modifique também os arquivos
WEB-INF/jboss-deployment-structure.xml, de ambos os aplicativosbusiness-central.waredashbuilder.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 ondejdbcDriverModuleNameé 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
Exemplo 3.1. Ajustando o tamanho da página
CREATE DATABASE dashb PAGESIZE 16384
Capítulo 4. Funções e Usuários
4.1. Definindo as Funções
- 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ção → Administraçã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ção → Repositó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
4.2. Criando os Usuários
- Execute ./add-user.sh em um sistema Unix ou add-user.bat em um sistema Windows a partir do diretório bin.
- Insira b para selecionar um Usuário do Aplicativo no prompt do usuário e pressione Enter.
- Aceite o Realm padrão (ApplicationRealm): pressionando Enter.
- 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 chamadoadmin, você não deve criar um usuário com o nome de usuárioadmin. - 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.: ~ ! @ # $ % ^ * ( ) - _ + =). - 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
analistae os usuários do Dashbuilder precisam ter a função deadmin. As funções devem ser inseridas em uma lista separada por vírgulas. - Confirme caso queira adicionar o usuário.
- 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
Nota
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:
- Na linha de comando, mova para o diretório
$SERVER_HOME/bin/. - Em um ambiente Unix, execute:
./standalone.sh
Em um ambiente Windows, execute:./standalone.bat
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
standalone-secure.sh.
Atenção
- Na linha de comando, mova para o diretório
$SERVER_HOME/bin/. - Em um ambiente Unix, execute:
./standalone-secure.sh
Em um ambiente Windows, execute:./standalone-secure.bat
Nota
standalone-secure.sh separado.
Nota
domain.sh e domain-secure.sh respectivamente.
5.2. Gerenciamento de Desempenho e Gerenciador de Segurança do Java
- 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.
5.3. Fazendo o log in no Business Central
- 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
localhostpelo nome do domínio. Por exemplo, http://www.example.com:8080/business-central. - Faça o login usando as credenciais do usuário que foram criadas durante a instalação. Por exemplo: Usuário =
helloworldusere senha =Helloworld@123.
Capítulo 6. Clusterizando
- 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.

Figura 6.1. Esquema do Sistema Red Hat JBoss BPM Suite com Componentes de Sistemas Individuais
Mecanismo de Clusterização do Repositório GIT
- 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).
- uberfire framework, que fornece o suporte principal dos aplicativos web.

Figura 6.2. Clusterizando o Esquema com Helix e Zookeeper
- 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
rsync.
6.1. Configurando um Cluster
- Baixe a
jboss-bpmsuite-brms-VERSÃO-supplementary-tools.zipque contém Apache Zookeeper, Apache Helix e scripts quartz DDL. Depois de baixá-la, descompacte o arquivo: os diretóriosZookeeper($ZOOKEEPER_HOME) eHelix($HELIX_HOME) são criados. - Agora, configue o ZooKeeper:
- No diretório ZooKeeper, vá para o diretório
confe siga as instruções a seguir:cp zoo_sample.cfg zoo.cfg
- Abra
zoo.cfgpara 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. - 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
myidsob o diretório de dados do ZooKeeper em cada nó. Por exemplo, no nó 1, execute:$ echo "1" > /zookeeper/data/myid
- Configure o ZooKeeper para que você possa usá-lo quando estiver criando o cluster com Helix:
- 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.
- 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:
- 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
- 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
- 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
- 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,3significa três nós do zookeeper. - 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
Encerrando Helix e ZooKeeper
Procedimento 6.1. Encerrando Helix e ZooKeeper
- Encerre os processos do servidor JBoss EAP.
- Encerre o processo Helix que foi criado pelo
run-helix-controller.sh, por exemplo,kill -15 <pid of HelixControllerMain>. - Encerre o servidor ZooKeeper usando o comando
zkServer.sh stop.
6.2. Configurando o Quartz
- 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
bpmse a senhabpms. 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. - 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.
- Crie o arquivo de configuração Quartz
quartz-definition.propertiesno 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 arquivoquartz-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, utilizeorg.quartz.impl.jdbcjobstore.oracle.OracleDelegate).
6.3. Configurando a Clusterização no Red Hat JBoss EAP
- Instale o seu driver JDBC como um módulo principal: copie o driver jar em
$EAP_HOME/modules/system/layers/base/e crie um arquivomodule.xmlno diretório. - Edite o arquivo
module.xmla 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> - Configure os nós dos servidores individuais no elemento
main-server-groupno arquivo$EAP_HOME/domain/configuration/host.xmlcom 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 propriedades Valor Descrição jboss.node.namenodeOneNome de nó exclusivo dentro do clusterorg.quartz.properties/bpms/quartz-definition.propertiesCaminho absoluto para o arquivo de configuração quartzorg.uberfire.cluster.autostarttrueEste 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-clusterNome do cluster do Helixorg.uberfire.cluster.local.idnodeOne_12345ID exclusiva do nó do cluster do Helix.Observe que:é substituído por_.org.uberfire.cluster.vfs.lockvfs-repoNome do recurso definido no cluster Helixorg.uberfire.cluster.zkserver1:2181Localização do ZooKeeperorg.uberfire.metadata.index.dir/home/jbpm/node[N]/indexLocal 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.port9418Porta usada pelo repositório VFS para aceitar as conexões do clienteA porta precisa ser exclusiva para cada membro do cluster.org.uberfire.nio.git.dir/home/jbpm/node[N]/repoLocalizaçã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>
- 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.
- Inicie o servidor do aplicativo:
]$ $JBOSS_HOME/bin/domain.sh
- Verifique se os nós estão disponíveis.
- Mude a persistência predefinida do aplicativo para o banco de dados solicitado (PostgreSQL): em
persistence.xml, mude o seguinte:- o nome da fonte de dados jta para a fonte definida no servidor do aplicativo (
java:jboss/datasources/psbpmsDS) - o dialeto do hibernate para corresponder ao dialeto da fonte de dados (
org.hibernate.dialect.PostgreSQLDialect)
- 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
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
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.
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 .
Nota
7.2. Sobre os Repositórios do Maven Fornecidos
settings.xml do Maven durante a instalação, o Maven já estará configurado para usar os repositórios online.
Importante
7.3. Configurando o Maven para Usar Repositórios do Sistema de Arquivos
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.
- Baixe os arquivos ZIP a seguir contendo os repositórios necessários:
- Descomprima os arquivos ZIP baixados em um local arbitrário em um sistema de arquivos local.
- Adicione as entradas para os repositórios descompactados ao arquivo
settings.xmldo 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>
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.
- 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?
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_NAMENão foi possível encontrar o artefato ARTIFACT_NAME
O seu repositório local em cache do Maven pode conter artefatos desatualizados.
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.
Você atualizou a sua configuração do Maven, mas essa configuração não aparece no JBoss Developer Studio.
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.

Figura 7.1. Atualize as Configurações de Usuário do Maven
7.4. Configurando o Maven para Usar Repositórios Online
Procedimento 7.2. Configurando o Maven para Usar Repositórios Online
- Adicione as entradas para os repositórios online e a configuração de autenticação para acessá-los ao arquivo
settings.xmldo 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> - Caso tenha modificado o arquivo
settings.xmlenquanto o JBoss Developer Studio estava em execução, você deverá atualizar as configurações do Maven. A partir do menu, selecione Janela → Preferê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.
Figura 7.2. Atualize as Configurações de Usuário do Maven
O Maven foi configurado para usar os repositórios online fornecidos para o seu produto Red Hat JBoss.
Importante
- 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
~/.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
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.
- 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
Atenção
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
Procedimento 8.1. Instale os Plug-ins Drools e jBPM do JBoss Developer Studio
- Inicie o JBoss Developer Studio.
- Selecione Ajuda → Instale Novo Software.
- Clique em Adicionar para inserir o menu Adicionar Repositório.
- 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/
- Clique em OK.
- 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.
- Leia o contrato de licença e aceite seus termos selecionando o botão de opção apropriado e clique em Concluir.
- 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
Procedimento 8.2. Configure o Tempo de Execução do JBoss BRMS
- 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. - A partir do menu JBoss Developer Studio, selecione a Janela e clique em Preferências.
- Selecione Drools → Tempos de Execução do Drools Intalados.
- 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.
- 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.
- 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
Procedimento 8.3. Configure o Servidor
- Abra o modo de exibição do jBPM selecionando Janela → Abrir Perspectiva → Outros e selecione jBPM. Depois, clique em OK.
- Adicione o modo de visualização do servidor selecionando Janela → Mostrar Modo de Exibição → Outros... e selecione Servidor → Servidores.
- Abra o menu do servidor clicando com o botão direito do mouse no painel Servidores e selecione Novo → Servidor.
- Defina o servidor selecionando JBoss Enterprise Middleware → JBoss Enterprise Application Platform 6.4+ e clique em Avançar.
- 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.
- 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
Procedimento 8.4. Clonando um Repositório Remoto Git
- 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.
- 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
- No JBoss Developer Studio, selecione Arquivo → Importar... e navegue até a pasta Git. Abra a pasta Git e selecione Projetos do Git e clique em Avançar.
- Selecione a fonte do repositório como Clonar URI e clique em Avançar.
- Insira os detalhes do repositório Git na próxima janela e clique em Avançar.

Figura 8.1. Detalhes do Repositório Git
- Selecione a ramificação que você deseja importar na janela seguinte e clique em Avançar.
- 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.
- 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
- 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.
- No JBoss Developer Studio, selecione Arquivo → Importar... e navegue até a pasta Git. Abra a pasta Git e selecione Projetos do Git e clique em Avançar.
- Selecione a fonte do repositório como Repositório local existente e clique em Avançar.

Figura 8.2. Detalhes do Repositório Git
- Selecione o repositório a ser configurado a partir da lista de repositórios disponíveis e clique em Avançar.
- 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.

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
- 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.
- 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
.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
<path-to-distribution-root> e <type-of-distribution>. Por exemplo, o comando a seguir aplica as atualizações ao pacote JBoss EAP especificado:
Nota
$ ./apply-updates.sh ~/EAP_HOME/jboss-eap-6.4 eap6.x
- 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
Nota
Recurso de Backup
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)
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
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
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.
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
$ ./apply-updates.[sh|bat] <some-path>/jboss-eap-6.4/standalone/deployments/business-central.war eap6.x-bc
$ ./apply-updates.[sh|bat] <some-path-to-tomcat-home>/webapps/kie-server.war generic-kie-server
$ ./apply-updates.[sh|bat] <path-to-unzipped-wls12c-bundle> wls12c
$ ./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.1 | Fri Dec 11 2015 | Red Hat Localization Services | |
| |||
| Revisão 1.0.0-1 | Wed Aug 05 2015 | Petr Penicka | |
| |||