2.2. Instalação do Pacote Implantável Genérico
Para instalar o Red Hat JBoss BPM Suite no Red Hat JBoss Web Server (EWS), você precisa usar o pacote implantável genérico do produto.
Para a instalação no EWS, o pacote implantável genérico contém o gerenciador de transação adicional e as bibliotecas de segurança que não fazem parte do Red Hat JBoss EWS.
Observe que, para instalar o pacote implantável genérico, você precisará dos seguintes arquivos ZIP:
jboss-bpmsuite-VERSION-deployable-generic.zip: contém os aplicativos 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
Para baixar o pacote implantável genérico do Red Hat JBoss BPM Suite no JBoss Web Server, siga as instruções a seguir:
- 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
Para instalar o pacote implantável genérico, você precisará configurar o seguinte depois de ter instalado a plataforma subjacente (Red Hat JBoss WS):
- 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)
Para configurar o Business Central, siga as instruções a seguir:
- 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
Antes de configurar o Dashbuilder no Red Hat JBoss Web Server, você deve certificar-se de que o Business Central foi instalado e iniciado corretamente, como descrito na Seção 2.2.2.2, “Configurando o Business Central para o Red Hat JBoss Web Server 2.1 (Tomcat 7)”. O Dashbuilder necessita que as tabelas da fonte de dados do log do histórico estejam presentes, as quais são fornecidas pelo Business Central. Se essas tabelas não existirem na fonte de dados antes de você tentar realizar as etapas abaixo, erros de inicialização podem ocorrer.
Para configurar o Dashbuilder no Red Hat JBoss Web server, siga as instruções a seguir:
- 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.