Guia de Instalação
Para Administradores Red Hat JBoss
Red Hat Content Services
Klara Kufova
kkufova@redhat.comMarek Czernek
mczernek@redhat.comTomas Radej
tradej@redhat.comVidya Iyengar
viyengar@redhat.comResumo
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. Caso de Uso: soluções baseadas em processos na área de empréstimo

Figura 1.1. Fluxo do Processo de Solicitação de 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.3-deployable-eap6.x.zip: versão adaptada para implantação no Red Hat JBoss Enterprise Application Platform (EAP 6.4).jboss-bpmsuite-6.3-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 Red Hat JBoss BPM Suite através do Instalador
Atenção
yum ou do Gerenciador de Pacotes RPM. Neste caso, baixe o arquivo Red Hat JBoss BPM Suite 6.3.0 Deployable for EAP 6 e siga as instruções descritas na Seção 2.1.3, “Baixando ZIP Implantável para o Red Hat JBoss EAP”.
Nota
2.1.1. Instalando Red Had JBoss BPM Suite Usando o Instalador
Nota
non-root user.
Pré-requisitos
jar binário no $PATH antes de executar o instalador. No Red Hat Enterprise Linux, ele está presente no pacote java-$JAVA_VERSION-openjdk-devel.
- 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.3.0.GA-installer.jarNota
Quando estiver executando o instalador no Windows, você pode ser solicitado a fornecer credenciais de 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.3.0.GA-installer.jarO instalador gráfico executará e exibirá uma tela inicial e uma página do Contrato de Licença. - Aceite a licença para continuar.
- Na próxima tela, forneça o local pai de um JBoss EAP existente onde o Red Hat 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 o Caminho de Diretório do JBoss EAP
- 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 Red Hat 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 do JBoss EAP (caso você decida criá-lo) e o aplicativo Red Hat JBoss BPM Suite respectivamente.A senha do usuário do Red Hat 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. - Em seguida, configure o ambiente de segurança da sua nova instalação do Red Hat JBoss BPM Suite. Nesta etapa, 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 sistema mais seguro, porém pode reduzir 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á que você estabeleça, mais tarde, as configurações específicas do IPv6 em tempo de execução.
Configure o 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 próximo (em inglês, next), para rever os detalhes de instalação. Se estiver contente com os detalhes, clique em próximo novamente, para iniciar a instalação propriamente dita, ou clique em anterior (em inglês, previous), para fazer alterações.Configuração Avançada
Selecione esta opção para habilitar configurações avançadas. Selecione Efetuar configuração avançada (em inglês, Perform advanced configuration) e escolha as opções de configurações avançadas que deseja habilitar para 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 impede 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 Red Hat JBoss BPM Suite, um cofre sempre é 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 Red Hat 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
Configuração da Clusterização
A seleção desta opção instala o Red Hat JBoss BPM Suite para operações clusterizadas. Para mais informações, consulte Seção 6.1, “Clusterização no JBoss EAP”.
- O instalador passará pelas etapas de instalação do Red Hat JBoss BPM Suite e efetuará as etapas de configuração pós-instalação, quando você clicar em próximo (em inglês, next). O instalador também pode iniciar o servidor do Red Hat JBoss BPM Suite no modo que você escolher (autônomo ou domínio, mais informações em Seção 5.1, “Iniciando o Servidor”) e conectar-se a ele para validar a instalação. Clique em próximo para obter a última tela onde você pode gerar o script de instalação e o arquivo de propriedades. Clique em concluído (em inglês, done) para encerrar o instalador.
2.1.2. Instalando o Red Hat JBoss BPM Suite Usando o Instalador no Modo CLI
Pré-requisitos
jar binário no $PATH antes de executar o instalador. No Red Hat Enterprise Linux, ele está presente no pacote java-$JAVA_VERSION-openjdk-devel.
- 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.3.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.3.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, siga para a próxima etapa.
- Crie um usuário administrativo do Red Hat 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 utilizado para acessar o Console do Business Central. Será atribuído ao usuário a função 'admin' do aplicativo. O nome de usuário do BPM Suite não pode ser nenhum dos seguintes: '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írgulas 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írgulas. 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 no nível da JVM, além do que é fornecido pelo contêiner do aplicativo. Ele impõe as regras de acesso no tempo de execução da JVM baseando-se 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 sua escolha. Essas políticas serão habilitadas durante o tempo de execução se a opção abaixo for selecionada. Por favor, observe que o 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á é fornecida 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 IPv6 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 mais ainda 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:
[ ] Instalar configuração clusterizada 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 no /home/user/BPMSuite-6.3.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.3.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.3.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 JBoss EAP conforme descrito na Seção 5.1, “Iniciando o Servidor”.
- 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 Red Hat JBoss BPM Suite na etapa "Crie uma senha para o usuário do Red Hat JBoss BPM Suite e confirme".
2.1.3. Baixando ZIP Implantável para o Red Hat JBoss EAP
- Acesse o Portal do Cliente Red Hat e faça o log in.
- Clique em DOWNLOADS na parte superior da página.
- 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.3.0.
- Selecione Red Hat JBoss BPM Suite 6.3.0 Deployable for EAP 6 e depois clique em Download.
- Extraia o arquivo. O diretório resultante é referido aqui como
$EAP_HOME. - Na linha de comando, vá para o diretório
$EAP_HOMEe inicie o servidor autônomo:Em um ambiente Unix, execute:./standalone.sh
Em um ambiente Windows, execute:./standalone.bat
Configurando o Modo de Domínio
Importante
- Baixe e extraia o arquivo ZIP do Red Hat JBoss BPM Suite 6.3.0 Deployable for EAP 6 a partir do Portal do Cliente Red Hat e copie os seguintes diretórios na sua instalação local do EAP 6.4:
bindomain
Ignore o diretóriostandalone - Na linha de comando, vá para o diretório
$EAP_HOME/bine inicie o domínio:Em um ambiente Unix, execute:./domain.sh
Em um ambiente Windows, execute:./domain.bat
- Implante os arquivos seja via scripts CLI (
$EAP_HOME/bin/jboss-cli.shou$EAP_HOME/bin/jboss-cli.bat), ou via gerenciamento de IU da web (http://localhost:9990/):Nota
Os aplicativos webbusiness-central.waredashbuilder.warfornecidos 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 scripts CLI, mova para
$EAP_HOME/bin directorye implante o arquivo WAR, seguindo as solicitações da tela:Em um ambiente Unix, execute:./jboss-cli.sh
Em um ambiente Windows, execute:./jboss-cli.bat
- Para implantar o arquivo via gerenciamento de IU da web (http://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 Red Hat 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 Cliente Red Hat e faça o log in.
- Clique em DOWNLOADS na parte superior da página.
- A partir da lista de produtos, selecione Red Hat JBoss BPM Suite.
- A partir do menu suspenso Versão, selecione a versão 6.3.0 (caso ainda não esteja selecionada).
- Na seção Downloads de Software que surgir, navegue pela linha do Red Hat JBoss BPM Suite 6.3 Deployable for All Supported Containers e clique em Download.
- Navegue também pela linha dos arquivos do Red Hat JBoss BPM Suite 6.3.0 Core Engine e clique em Download para baixar os arquivos do Red Hat JBoss BPM Suite Core Engine.
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 o 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 o 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 o Dashbuilder para o Red Hat JBoss Web Server 2.0 (Tomcat 7)”).
2.2.2.1. Configurando o Gerenciador de Transação para o Red Hat JBoss Web Server 2.1 (Tomcat 7)
- Extraia o pacote zip implantável genérico baixado do Portal do Cliente 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 home onde seu servidor web está localizado. Substitua-o pelo próprio caminho do diretório home do seu servidor web, por exemplo:/home/john/jboss-ews-2.1/tomcat7/ - Extraia os conteúdos dos arquivos do Red Hat JBoss BPM Suite Engine para um local temporário de onde você pode copiar as bibliotecas necessárias. Essa pasta contém, agora, todas as bibliotecas principais do Red Hat 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 dadosCopie 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 que segue como o último elemento <Listener> ao 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 -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry"
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 de ambiente equivalente ou use o caminho absoluto e adicione os valores no arquivosetenv.bat, como apresentado aqui, no exemplo a seguir:set "CATALINA_OPTS=-Xmx512m -XX:MaxPermSize=512m -Djava.security.auth.login.config=C:\apache-tomcat\webapps\business-central\WEB-INF\classes\login.config -Dbtm.root=C:\apache-tomcat -Dbitronix.tm.configuration=C:\apache-tomcat\conf\btm-config.properties -Djbpm.tsr.jndi.lookup=java:comp/env/TransactionSynchronizationRegistry"
2.2.2.2. Configurando o Business Central para o 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 do Red Hat 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 o Dashbuilder para o 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, na seção 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 deseje 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 Red Hat 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 Exemplo da Fonte de Dados PostgreSQL. Use uma abordagem modular para a instalação do driver JDBC para facilitar a configuração subsequente.
- 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 de negócios 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 de negócios 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 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
5.1.1. Modo Autônomo
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
$EAP_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
$EAP_HOME/bin/. - Em um ambiente Unix, execute:
./standalone-secure.sh
Em um ambiente Windows, execute:./standalone-secure.bat
Nota
standalone-secure.sh separado.
5.1.2. Modo de Domínio
Nota
- Na linha de comando, mova para o diretório
$EAP_HOME/bin/. - Em um ambiente Unix, execute:
./domain.sh
Em um ambiente Windows, execute:./domain.bat
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. Clusterização
- O Repositório GIT: repositório do sistema de arquivos virtual (em inglês, virtual-file-system - VFS) que retém os ativos de negócios 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 do Red Hat JBoss BRMS e Red Hat JBoss 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 estados, tais como, instâncias de processos, sessões KIE, log do histórico, etc., com finalidade de failover.

Figura 6.1. Esquema do Sistema do 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. Esquema de clusterização 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 do 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. Clusterização no JBoss EAP
6.1.1. Clusterização Utilizando o Instalador JAR
Nota
business-central.war, dashbuilder.war e kie-server.war implantados. Para personalizar a configuração para adaptar ao seu cenário, ou para utilizar a clusterização com o ZIP implantável, consulte a Seção 6.1.2, “Configuração Personalizada (ZIP Implantável)”. Você também pode obter mais informações através da documentação do JBoss EAP.
Nota
Selecione o fornecedor do JDBC
Nesta tela, selecione o fornecedor do JDBC através da lista. Você precisa fornecer o(s) JAR(s) correspondente(s) ao driver JDBC em uma destas formas:- Selecione um ou mais arquivos no sistema de arquivos
- Forneça um ou mais URLs. O instalador baixa os arquivos automaticamente.
Em seguida, o instalador copia o(s) JAR(s) em uma localização apropriada abaixo do diretório$EAP_HOME/modules, onde um arquivomodule.xmlcorrespondente também foi criado automaticamente.
Figura 6.3. Configuração do Driver JDBC
Configure a conexão do Quartz
Na próxima tela, forneça os dados ao banco de dados para o Quartz. O instalador automaticamente cria o arquivo de definição do Quartz ($EAP_HOME/domain/configuration/quartz-definition.properties) e duas fontes de dados do Quartz no arquivo de configuração de domínio$EAP_HOME/domain/domain.xml. Você pode editar os arquivos após concluir a instalação.Nota
Durante a instalação, os scripts DDL do Quartz serão executados no banco de dados selecionado nesta etapa. Esses scripts fazem mudanças necessárias para que o Quartz opere (adicionando tabelas, etc.) e podem ser encontrados em$EAP_HOME/jboss-brms-bpmsuite-6.2-supplementary-tools/ddl-scriptspara referência (Você não precisa modificá-los).
Figura 6.4. Configuração do Banco de Dados do Quartz
- Clique em próximo para iniciar a instalação.
Importante
Ao utilizar o instalador JAR, os arquivoswarserão criados automaticamente a partir dos aplicativos que residem em$EAP_HOME/standalone/deployments/. Isto significa que é necessário um espaço adicional, já que os aplicativos existem tanto em estado compactado quanto descompactado no armazenamento durante a instalação.Três instâncias ZooKeeper são criadas automaticamente em$EAP_HOME/jboss-brms-bpmsuite-6.3-supplementary-tools/(nomes de diretóriozookeeper-one,zookeeper-twoezookeeper-three).No diretório$EAP_HOME/jboss-brms-bpmsuite-6.3-supplementary-tools/helix-core, você pode encontrar a configuração Helix padrão e os scripts para iniciar o cluster—startCluster.shpara UNIX estartCluster.batpara Windows.Após concluir a instalação, NÃO selecione executar o servidor imediatamente. Primeiro, você precisa iniciar o cluster mudando para o diretório$EAP_HOME/jboss-brms-bpmsuite-6.3-supplementary-tools/helix-coree executando o script de inicialização mencionado:Nos sistemas UNIX:./startCluster.sh
No Windows:./startCluster.bat
Este script inicializa o cluster Helix e as intâncias ZooKeeper. Somente depois disto, inicie o servidor EAP no modo de domínio, movendo para o diretório$EAP_HOME/bine executando:Nos sistemas UNIX:./domain.sh
No Windows:./domain.bat
6.1.2. Configuração Personalizada (ZIP Implantável)
- Configure o Zookeeper e Helix de acordo com a Seção 6.2.1, “Configurando um Cluster”.
- Configure o Quartz de acordo com a Seção 6.2.2, “Configurando o Quartz”.
- 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.1. Conteúdo do Arquivo
module.xmlpara a 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 a fonte de dados para o servidor: abra para edição o arquivo
host.xmloustandalone.xml, dependendo do PERFIL utilizado localizado no$EAP_HOME/PROFILE/, localize o perfilfulle siga as instruções a seguir:- Adicione a definição da fonte de dados principal usada pelo Red Hat JBoss BPM Suite.
Exemplo 6.2. Fonte de Dados PostgreSQL Definida como a Fonte de Dados Principal do Red Hat JBoss BPM Suite
<datasource jndi-name="java:jboss/datasources/psbpmsDS" pool-name="postgresDS" enabled="true" use-java-context="true"> <connection-url>jdbc:postgresql://localhost:5432/jbpm</connection-url> <driver>postgres</driver> <security> <user-name>bpms</user-name> <password>bpms</password> </security> </datasource>
- Adicione a definição da fonte de dados para o serviço Quartz.
Exemplo 6.3. Fonte de Dados PostgreSQL Definida como a Fonte de Dados do Quartz
<datasource jta="false" jndi-name="java:jboss/datasources/quartzNotManagedDS" pool-name="quartzNotManagedDS" enabled="true" use-java-context="true"> <connection-url>jdbc:postgresql://localhost:5432/jbpm</connection-url> <driver>postgres</driver> <security> <user-name>bpms</user-name> <password>bpms</password> </security> </datasource>
- Defina o driver da fonte de dados.
Exemplo 6.4. Definição do Driver PostgreSQL
<driver name="postgres" module="org.postgresql"> <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class> </driver>
- Configure os nós individuais do servidor no elemento
main-server-groupno arquivo$EAP_HOME/domain/configuration/host.xmlcom 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, é preferível ter o mesmo número de nós tanto no ZooKeeper quanto no JBoss EAP.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 do Quartzorg.uberfire.cluster.idbpms-clusterNome do cluster do Helixorg.uberfire.cluster.local.idnodeOne_12345ID exclusiva de nó do cluster do Helix.Observe que:é substituído por_.org.uberfire.cluster.vfs.lockvfs-repoNome do recurso definido no cluster do 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.5. 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.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.6. 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.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.7. 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.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.
- Mova para o diretório
$EAP_HOME/bine inicie o servidor do aplicativo no modo de domínio:Nos sistemas UNIX:./domain.sh
No Windows:./domain.bat
- 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) - Hiberne o dialeto 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 Runtime do console. Depois que a implantação for adicionada ao domínio, atribua-a ao grupo de servidores correto (
main-server-group).
Nota
deployed (implantada). Qualquer solicitação com foco nessa unidade de implantação enviada a um membro de cluster diferente obterá falhas com DeploymentNotFoundException.
6.2. Clusterização de Pacote Genérico
6.2.1. Configurando um Cluster
- Baixe o
jboss-bpmsuite-brms-VERSION-supplementary-tools.zip, que contém Apache Zookeeper, Apache Helix e scripts DDL do Quartz. Depois de baixar, descompacte o arquivo: o diretórioZookeeper($ZOOKEEPER_HOME) e o diretórioHelix($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:# o diretório onde o instantâneo está armazenado. dataDir=$ZOOKEEPER_HOME/data/ # a porta na qual os clientes conectam clientPort=2181 server.1=server1:2888:3888 server.2=server2:2888:3888 server.3=server3:2888:3888
Certifique-se de que o local dataDir existe e está 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 é em seguida armazenada pelo ensemble do ZooKeeper e compartilhada quando conveniente.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 em 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.8. 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.9. 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.10. Redistribuindo 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.11. 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 do JBoss EAP.
- Encerre o processo do Helix que foi criado pelo
run-helix-controller.sh, por exemplo,kill -15 <pid of HelixControllerMain>. - Encerre o servidor do ZooKeeper usando o comando
zkServer.sh stop.
6.2.2. Configurando o Quartz
Nota
- 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 do 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 do Quartz
quartz-definition.propertiesno diretório$JBOSS_HOME/PROFILE/configuration/e defina as propriedades do Quartz.Exemplo 6.12. Arquivo de Configuração do Quartz para um Banco de Bados 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 do 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).
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 Red Hat JBoss BRMS/Red Hat JBoss BPM Suite --> <profile> <id>brms-bpms-local-profile</id> <repositories> <repository> <id>jboss-brms-bpmsuite-repository</id> <name>BRMS/BPMS 6.3.0 GA Repository</name> <url>file://<!-- path to the repository -->/jboss-brms-bpmsuite-6.3.0.GA-redhat-5-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.3.0 GA Repository</name> <url>file://<!-- path to the repository -->/jboss-brms-bpmsuite-6.3.0.GA-redhat-5-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 Red Hat JBoss BRMS/Red Hat 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:
[ERROR] Failed to execute goal on project PROJECT_NAME[ERRO] Falha ao executar meta no projetoCould not find artifact ARTIFACT_NAMENão foi possível encontrar o artefato
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 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.
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 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.
- Repositório online do Maven do produto Red Hat JBoss BPM Suite – para instruções, consulte Seção 7.4, “Configurando o Maven para Usar Repositórios Online”.
- Repositório do Maven baseado no sistema de arquivos local do produto Red Hat JBoss BPM Suite – para instruções, consulte Seção 7.3, “Configurando o Maven para Usar Repositórios do Sistema de Arquivos ”.
org.jboss.bom.brms:jboss-brms-bpmsuite-bom:VERSION: Esse é o BOM básico sem qualquer suporte ao 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 Próximo e, depois, em Próximo 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 Red Hat 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 Cliente Red Hat. - A partir do menu JBoss Developer Studio, selecione Janela e clique em Preferências.
- Selecione Drools → Tempos de Execução do Drools Instalados.
- 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 Red Hat 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 Próximo.
- Defina o diretório home clicando no botão Navegar. Navegue e selecione o diretório de instalação para o JBoss EAP 6.4, o qual possui o Red Hat 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/Red Hat BPM Suite Server (conforme 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 Próximo.
- Selecione a fonte do repositório como Clonar URI e clique em Próximo.
- Insira os detalhes do repositório Git na próxima janela e clique em Próximo.

Figura 8.1. Detalhes do Repositório Git
- Selecione a ramificação que você deseja importar na janela seguinte e clique em Próximo.
- 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 Próximo.
- Importe o projeto como um projeto geral na janela seguinte e clique em Próximo. Nomeie o projeto e clique em Concluir.
Procedimento 8.5. Importando um Repositório Local Git
- Inicie o Red Hat JBoss BRMS/Red Hat BPM Suite Server (conforme 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 Próximo.
- Selecione a fonte do repositório como Repositório local existente e clique em Próximo.

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 Próximo.
- 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 Próximo. Nomeie o projeto e clique em Concluir.

Figura 8.3. Assistente para a Importação de Projetos
Capítulo 9. Aplicando Patches e Atualizando o Red Hat JBoss BPM Suite
9.1. Sobre Patches e Upgrades
- Atualizações assíncronas: patches individuais que são liberados fora do ciclo normal de atualização do produto existente. Podem incluir patches de segurança, assim como outros patches individuais fornecidos pelo Serviço de Suporte Global Red Hat (GSS) para corrigir problemas específicos.
- Atualizações planejadas: patches cumulativos de um produto existente, incluindo todas as atualizações desenvolvidas previamente para essa versão do produto.
- Clientes Red Hat JBoss BRMS -
jboss-brms-<version>-patch.zip - Clientes Red Hat JBoss BPM Suite -
jboss-bpmsuite-<version>-patch.zip - Atualizações do repositório do Maven (as mesmas para os clientes Red Hat JBoss BRMS e Red Hat JBoss BPM Suite) -
jboss-brms-bpmsuite-<version>-incremental-maven-repository.zip
9.2. Aplicando Patches ao Red Hat JBoss BPM Suite 6.3
.sh e .bat, permitindo a aplicação automática e fácil das atualizações de uma instalação do Red Hat 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 patch. 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 no patch, 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 aplicação de patches, 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 aplicação de patches 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 aplicação de paches ter sido executada, os conteúdos do diretório styles pareceriam com o seguinte:
$ ls styles base.css base.css.removed
9.3. Aplicando Patches em 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
9.4. Upgrade para o Lançamento de Manutenção Mais Recente
- Red Hat JBoss BPM Suite 6.2.2 para o Red Hat JBoss BPM Suite 6.3.0
- Red Hat JBoss BPM Suite 6.1.5 para o Red Hat JBoss BPM Suite 6.3.0
- Use jboss-bpmsuite-6.2.2-to-6.3.0-patch.zip para realizar o upgrade da versão Red Hat JBoss BPM Suite 6.2.2 para Red Hat JBoss BPM Suite 6.3.0
- Use jboss-bpmsuite-6.1.5-to-6.3.0-patch.zip para realizar o upgrade da versão Red Hat JBoss BPM Suite 6.1.5 para Red Hat JBoss BPM Suite 6.3.0
- apply-updates.bat
- apply-updates.sh
$ ./apply-updates.sh <distribution path> <distribution name>
$ ./apply-updates.sh ~/EAP_HOME/jboss-eap-6.4 eap6.x
- eap6.x
- eap6.x-bc
- eap6.x-dashbuilder
- eap6.x-kie-server
- generic
- generic-bc
- generic-dashbuilder
- generic-kie-server
- was8
- was8-bc
- was8-dashbuilder
- was8-kie-server
- wls12c
- wls12c-bc
- wls12c-dashbuilder
- wls12c-kie-server
- bpmsuite-engine
- planner-engine
- supplementary-tools
Nota
persistence.xml, a abordagem recomendada é adicionar as suas alterações aos arquivos .new criados pela ferramenta de upgrade. Depois que você atualizar os arquivos .new com todas as mudanças necessárias, renomeie-os com seus nomes originais (sem o sufixo .new). Isto garante que os aplicativos selecionem os arquivos de configuração atualizados contendo as suas alterações.
Apêndice A. Histórico de Revisões
| Histórico de Revisões | |||
|---|---|---|---|
| Revisão 6.3.0-5.1 | Fri May 27 2016 | Red Hat Localization Services | |
| |||
| Revisão 6.3.0-5 | Thu May 5 2016 | Tomas Radej | |
| |||
| Revisão 6.3.0-4 | Thu May 5 2016 | Tomas Radej | |
| |||
| Revisão 6.3.0-3 | Thu Apr 28 2016 | Tomas Radej | |
| |||
| Revisão 6.3.0-2 | Thu Apr 28 2016 | Tomas Radej | |
| |||
| Revisão 6.3.0-1 | Thu Apr 28 2016 | Tomas Radej | |
| |||