Fornece as orientações necessárias para efetuar a atualização da versão do Citsmart no ambiente Linux. Versão 2.5 10/03/2015
Visão Resumida Data Criação 10/03/2015 Versão Documento 2.5 Projeto Responsáveis Revisores Citsmart - Plataforma Inteligente de Governança Corporativa Rosana Silva Godinho (Analista de Documentação) Cleison Ferreira (Gerente de Soluções) Aprovador 2 de 35
Histórico de Revisão Data Versão Descrição Autor 28/01/15 2.3 Inserção da Configuração do Servidor de Banco de Dados MySQL. 02/02/15 2.4 Exclusão das informações sobre o JBoss 4 e inserção da Configuração do Arquivo standalone.xml. 10/03/15 2.5 Inserção das informações do novo parâmetro do arquivo de configuração citsmart.cfg. Murilo Gabriel Rodrigues Rosana Silva Godinho Rosana Silva Godinho 3 de 35
Sumário 1. INTRODUÇÃO... 5 1.1. Propósito... 5 2. PRÉ-REQUISITOS... 5 2.1. Backup das Visões... 5 2.2. Backup da Aplicação... 8 2.3. Backup do Servidor... 8 3. RECOMENDAÇÕES... 8 3.1. Arquivo de Configuração do Citsmart... 8 3.2. Configuração do Arquivo standalone.xml (JBoss AS 7)... 10 3.2.1. Habilitação da Compressão de Arquivos... 11 3.2.2. Configuração do Datasource... 11 3.3. Configuração do Servidor de Banco de Dados MySQL... 30 4. PROCESSO DE ATUALIZAÇÃO DE VERSÃO... 31 4.1. Validação da Atualização... 32 4 de 35
Atualização de Versão 1. INTRODUÇÃO 1.1. Propósito Fornecer orientações para efetuar a atualização da versão do Citsmart no ambiente Linux de forma correta. 2. PRÉ-REQUISITOS Para realizar o processo de atualização do Citsmart deve realizar os procedimentos de segurança que são: Backup das Visões; Backup da Aplicação; Backup do Servidor. 2.1. Backup das Visões Realize o Backup das Visões, através da Plataforma Citsmart, conforme os passos descritos abaixo: 1. No menu principal, posicione o mouse nas opções Sistema, Visões e clique na opção Manutenção de Visões; 5 de 35
2. Será exibida tela de Visão; 3. Clique no botão Exportar Visões XML ; 6 de 35
4. Será exibida uma janela para seleção das visões a serem exportadas; 5. Selecione todas as visões, marcando a opção Marcar todos e clique no botão Exportar Arquivo(s). 6. Será exibida uma janela para realização da exportação (download) do arquivo de visões; 7. Realize o download do arquivo de visões; 8. O arquivo será salvo no local de download padrão no computador. 7 de 35
2.2. Backup da Aplicação Realize o backup da aplicação conforme os passos descritos abaixo: 1. Entre na pasta deployments do JBoss (usr/local/jboss-as- 7.1.1.Final/standalone/deployments); 2. Copie os projetos citsmart_***.war e cithelp_***.war para um local seguro. 2.3. Backup do Servidor É recomendado realizar o backup da base de dados do Citsmart e utilizar a prática de snapshot da máquina virtual para acelerar o processo de rollback, pois é uma prática segura e disponível em todas as plataformas de virtualização disponíveis no mercado. Caso tenha alguma dúvida para realizar o backup da base de dados, entre em contato com a equipe de suporte do Citsmart. 3. RECOMENDAÇÕES 3.1. Arquivo de Configuração do Citsmart Caso irá utilizar a funcionalidade de inventário e/ou monitoramento de eventos no Citsmart, deverá ter o arquivo citsmart.cfg no diretório: JBoss AS 7.1.1: /jboss/standalone/configuration/ (quando o Jboss sobe como uma única instância); /jboss/domain/configuration/ (quando é utilizado cluster, tem domains e hosts). 8 de 35
O mesmo deverá estar com conteúdo configurado de acordo com a necessidade do cliente. Abaixo segue as orientações necessárias para realizar a configuração: Obs.: Onde estiver ${valor} substitua pelos valores correspondentes. START_MODE_DISCOVERY=${valor} (Este parâmetro define se a rotina de Discovery será executada. Informe o valor TRUE para ativar ou FALSE para desativar. Se estiver definido com o valor FALSE a rotina de Discovery não será executada e nem obedecerá o parâmetro da tela de parâmetros do Citsmart). START_MODE_INVENTORY=${valor} (Este parâmetro define se a rotina de Inventário será executada. Informe o valor TRUE para ativar ou FALSE para desativar. Se estiver definido com o valor FALSE a rotina de Inventário ficará desativada e não obedecerá a configuração do parâmetro da tela de parâmetros do Citsmart). START_MODE_RULES=${valor} (Este parâmetro define se processa as regras de escalonamento. Informe o valor TRUE para ativar ou FALSE para desativar). START_MODE_ITSM=${valor} (Este parâmetro define se apresenta a interface do ITSM. Informe o valor TRUE ou FALSE. Se estiver definido com o valor FALSE, não irá permitir abrir as funcionalidades de incidentes, etc. (do ITSM)). NUM_THREADS_INVENTORY=${valor} (Este parâmetro define o número de threads que serão utilizadas no processo de inventário do sistema. Informe o número de Threads, ex.: 1). PING_TIMEOUT=${valor} (Este parâmetro define o tempo limite de execução de Ping. Informe de tempo limite, ex.: 7000). NATIVE_PING=${valor} (Este parâmetro indica se usa PING nativo. Informe o valor TRUE ou FALSE). IP_RANGE_DISCOVERY=${valor} (Este parâmetro define a faixa de IP que será utilizada pelo inventário da aplicação. Informe a faixa de IP, ex.: 10.2.1.195-10.2.1.196). START_MONITORING_ASSETS=${valor} (Este parâmetro define se o monitoramento de ativos será ativado. Informe o valor TRUE para ativar ou FALSE para desativar). QUANTIDADE_BACKUPLOGDADOS=${valor} (Este parâmetro define a quantidade de itens da tabela logdados que serão feitos backup. Informe a quantidade de itens, ex.: 1000). Os parâmetros abaixo quando não ativados faz com que o sistema suba com as threads desativadas para melhorar o desempenho do sistema. É necessário configurar esses parâmetros antes da inicialização do Jboss para o funcionamento dos mesmos. START_INVENTARIO_ANTIGO=${valor} (Este parâmetro define se desativa a thread do inventário antigo. Informe o valor TRUE para ativar ou FALSE para desativar). START_MONITORA_NAGIOS=${valor} (Este parâmetro define se desativa o monitoramento do nagios. Informe o valor TRUE para ativar ou FALSE para desativar). 9 de 35
START_MONITORA_DISCOVERY=${valor} (Este parâmetro define se desativa o monitoramento do discovery, não iniciando a thread. Informe o valor TRUE para ativar ou FALSE para desativar). START_MONITORA_INCIDENTES=${valor} (Este parâmetro define se desativa o monitoramento de incidentes. Informe o valor TRUE ativar ou FALSE desativar). START_VERIFICA_EVENTOS=${valor} (Este parâmetro define se desativa a verificação de eventos. Informe o valor TRUE ativar ou FALSE desativar). O uso dos parâmetros abaixo é opcional. Os mesmos fazem a separação do pool de conexão principal com o pool de execução do fluxo, inventário e relatório. JDBC_ALIAS_BPM=java:/jdbc/${valor} (Este parâmetro define o nome do datasource do fluxo. Informe o nome do datasource, ex.: java:/jdbc/citsmartfluxo). JDBC_ALIAS_INVENTORY= java:/jdbc/${valor} (Este parâmetro define o nome do datasource do inventário. Informe o nome do datasource, ex.: java:/jdbc/citsmart_inventory). JDBC_ALIAS_REPORTS= java:/jdbc/${valor} (Este parâmetro define o nome do datasource dos relatórios. Informe o nome do datasource, ex.: java:/jdbc/citsmart_reports). O parâmetro abaixo separa o processamento da rotina de eventos BPM em um pool de thread separado do pool de thread principal do sistema, para aliviar no uso de recursos do banco de dados e do servidor. JDBC_ALIAS_BPM_EVENTOS=java:/jdbc/${valor} (Este parâmetro define o nome do datasource de eventos BPM. Informe o nome do datasource, ex.: java:/jdbc/citsmartbpmeventos). 3.2. Configuração do Arquivo standalone.xml (JBoss AS 7) Segue nos tópicos abaixo as configurações necessárias para serem realizadas a fim de melhorar a performance do Servidor de Aplicação JBoss AS 7 e habilitar as conexões com o banco de dados no datasource. Essas configurações são feitas no arquivo standalone.xml, localizado na pasta configuration do Servidor de Aplicação JBoss AS 7 (/standalone/configuration/standalone.xml). 10 de 35
3.2.1. Habilitação da Compressão de Arquivos Adicionar na seção SYSTEM-PROPERTIES os parâmetros abaixo para a compressão de todos os arquivos nos formatos: Texto: javascript, css, html, xml e json Imagens: png, jpg, jpeg e gif <system-properties>... <property name="org.apache.coyote.http11.http11protocol.compression" value="on"/> <property name="org.apache.coyote.http11.http11protocol.compression_mime_types" value="text/javascript,text/css,text/html,text/xml,text/json,image/png,image/jpg,image/jpeg,ima ge/gif"/> </system-properties> 3.2.2. Configuração do Datasource Para configurar a conexão do Citsmart com o banco de dados, siga as recomendações abaixo, de acordo com o banco de dados utilizado. Obs.: Nos exemplos apresentados abaixo, onde estiver ${} substitua pelos valores respectivos. Lembrando que está especificado os datasources de todos os bancos de dados, favor comentar os que não serão utilizados. <datasources> <!--PostgreSQL--> <datasource jndi-name="java:/jdbc/citsmart" pool-name="citsmartdspostgres" enabled="true" use-java-context="true"> jdbc:postgresql://${database.server.host}:${database.server.port}/${database.name} <driver>postgres</driver> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> 11 de 35
"org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlvalidconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlexceptionsorter"/> <prepared-statement-cache-size>10000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para o Fluxo, caso o parâmetro JDBC_ALIAS_BPM já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmartfluxo" pool-name="citsmartdspostgresfluxo" jdbc:postgresql://${database.server.host}:${database.server.port}/${database.name} <driver>postgres</driver> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlvalidconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlexceptionsorter"/> 12 de 35
<prepared-statement-cache-size>10000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para o Inventário, caso o parâmetro JDBC_ALIAS_INVENTORY já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmart_inventory" poolname="citsmartdspostgresinventory" jdbc:postgresql://${database.server.host}:${database.server.port}/${database.name} <driver>postgres</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlvalidconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlexceptionsorter"/> <prepared-statement-cache-size>10000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para os Relatórios, caso o parâmetro JDBC_ALIAS_REPORTS já esteja definido no arquivo citsmart.cfg --> 13 de 35
<datasource jndi-name="java:/jdbc/citsmart_reports" pool-name="citsmartdspostgresreports" jdbc:postgresql://${database.server.host}:${database.server.port}/${database.name} <driver>postgres</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlvalidconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlexceptionsorter"/> <prepared-statement-cache-size>10000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para Eventos BPM, caso o parâmetro JDBC_ALIAS_BPM_EVENTOS já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmartbpmeventos" poolname="citsmartdspostgreseventos" jdbc:postgresql://${database.server.host}:${database.server.port}/${database.name} <driver>postgres</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> 14 de 35
"org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlvalidconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlexceptionsorter"/> <prepared-statement-cache-size>10000</prepared-statement-cache-size> <!--MySQL--> <datasource jndi-name="java:/jdbc/citsmart" pool-name="citsmartdsmysql" enabled="true" use-java-context="true"> jdbc:mysql://${database.server.host}:${database.server.port}/${database.name}?zerodate TimeBehavior=convertToNull <driver>mysql</driver> <min-pool-size>1</min-pool-size> <max-pool-size>100</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlvalidconnectionchecker"/> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlexceptionsorter"/> 15 de 35
<prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para o Fluxo, caso o parâmetro JDBC_ALIAS_BPM já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmartfluxo" pool-name="citsmartdsmysqlfluxo" jdbc:mysql://${database.server.host}:${database.server.port}/${database.name}?zerodate TimeBehavior=convertToNull <driver>mysql</driver> <min-pool-size>1</min-pool-size> <max-pool-size>100</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlvalidconnectionchecker"/> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlexceptionsorter"/> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para o Inventário, caso o parâmetro JDBC_ALIAS_INVENTORY já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmart_inventory" pool-name="citsmartdsmysqlinventory" 16 de 35
jdbc:mysql://${database.server.host}:${database.server.port}/${database.name}?zerodate TimeBehavior=convertToNull <driver>mysql</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlvalidconnectionchecker"/> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlexceptionsorter"/> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para os Relatórios, caso o parâmetro JDBC_ALIAS_REPORTS já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmart_reports" pool-name="citsmartdsmysqlreports" jdbc:mysql://${database.server.host}:${database.server.port}/${database.name}?zerodate TimeBehavior=convertToNull <driver>mysql</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> 17 de 35
"org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlvalidconnectionchecker"/> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlexceptionsorter"/> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para Eventos, caso o parâmetro JDBC_ALIAS_BPM_EVENTOS já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmartbpmeventos pool-name="citsmartdsmysqleventos" jdbc:mysql://${database.server.host}:${database.server.port}/${database.name}?zerodate TimeBehavior=convertToNull <driver>mysql</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlvalidconnectionchecker"/> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlexceptionsorter"/> 18 de 35
<prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Oracle--> <datasource jndi-name="java:/jdbc/citsmart" pool-name="citsmartoracleds" jdbc:oracle:thin:@${database.server.host}:${database.server.port}:${database.name} <driver>oracle</driver> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclevalidconnectionchecker" /> <stale-connection-checker class-name= "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclestaleconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.oracle.oracleexceptionsorter" /> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para o Fluxo, caso o parâmetro JDBC_ALIAS_BPM já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmartfluxo" pool-name="citsmartoracledsfluxo" jdbc:oracle:thin:@${database.server.host}:${database.server.port}:${database.name} <driver>oracle</driver> 19 de 35
<min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclevalidconnectionchecker" /> <stale-connection-checker class-name= "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclestaleconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.oracle.oracleexceptionsorter" /> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para o Inventário, caso o parâmetro JDBC_ALIAS_INVENTORY já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmart_inventory" pool-name="citsmartoracledsinventory" jdbc:oracle:thin:@${database.server.host}:${database.server.port}:${database.name} <driver>oracle</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> 20 de 35
"org.jboss.jca.adapters.jdbc.extensions.oracle.oraclevalidconnectionchecker" /> <stale-connection-checker class-name= "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclestaleconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.oracle.oracleexceptionsorter" /> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para os Relatórios, caso o parâmetro JDBC_ALIAS_REPORTS já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmart_reports" pool-name="citsmartoracledsreports" jdbc:oracle:thin:@${database.server.host}:${database.server.port}:${database.name} <driver>oracle</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclevalidconnectionchecker" /> <stale-connection-checker class-name= "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclestaleconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.oracle.oracleexceptionsorter" /> <prepared-statement-cache-size>1000</prepared-statement-cache-size> 21 de 35
<!--Configuração do novo pool de conexões para Eventos, caso o parâmetro JDBC_ALIAS_BPM_EVENTOS já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmartbpmeventos pool-name="citsmartoracledseventos" jdbc:oracle:thin:@${database.server.host}:${database.server.port}:${database.name} <driver>oracle</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclevalidconnectionchecker" /> <stale-connection-checker class-name= "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclestaleconnectionchecker" /> "org.jboss.jca.adapters.jdbc.extensions.oracle.oracleexceptionsorter" /> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--SQL Server--> <datasource jndi-name="java:/jdbc/citsmart" pool-name="citsmartdsmssql" jdbc:microsoft:sqlserver://${database.server.host}:${database.server.port};databasename=$ {database.name} <driver>sqlserver</driver> 22 de 35
<min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.mssql.mssqlvalidconnectionchecker"/> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para o Fluxo, caso o parâmetro JDBC_ALIAS_BPM já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmartfluxo" pool-name="citsmartdsmssqlfluxo" jdbc:microsoft:sqlserver://${database.server.host}:${database.server.port};databasename=$ {database.name} <driver>sqlserver</driver> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.mssql.mssqlvalidconnectionchecker"/> 23 de 35
<prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para o Inventário, caso o parâmetro JDBC_ALIAS_INVENTORY já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmart_inventory" pool-name="citsmartdsmssqlinventory" jdbc:microsoft:sqlserver://${database.server.host}:${database.server.port};databasename=$ {database.name} <driver>sqlserver</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.mssql.mssqlvalidconnectionchecker"/> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para os Relatórios, caso o parâmetro JDBC_ALIAS_REPORTS já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmart_reports" pool-name="citsmartdsmssqlreports" 24 de 35
jdbc:microsoft:sqlserver://${database.server.host}:${database.server.port};databasename=$ {database.name} <driver>sqlserver</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> "org.jboss.jca.adapters.jdbc.extensions.mssql.mssqlvalidconnectionchecker"/> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <!--Configuração do novo pool de conexões para Eventos, caso o parâmetro JDBC_ALIAS_BPM_EVENTOS já esteja definido no arquivo citsmart.cfg --> <datasource jndi-name="java:/jdbc/citsmartbpmeventos pool-name="citsmartdsmssqleventos" jdbc:microsoft:sqlserver://${database.server.host}:${database.server.port};databasename=$ {database.name} <driver>sqlserver</driver> <min-pool-size>1</min-pool-size> <max-pool-size>25</max-pool-size> 25 de 35
"org.jboss.jca.adapters.jdbc.extensions.mssql.mssqlvalidconnectionchecker"/> <prepared-statement-cache-size>1000</prepared-statement-cache-size> <drivers> <driver name="postgresql" module="org.postgresql"> <!-- <driver-class>org.postgresql.driver</driver-class> --> <xa-datasource-class>org.postgresql.xa.pgxadatasource</xa-datasource-class> </driver> <driver name="mysql" module="com.mysql"> <!-- <driver-class>com.mysql.jdbc.driver</driver-class> --> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.mysqlxadatasource</xadatasource-class> </driver> <driver name="oracle" module="com.oracle"> <!-- <driver-class>oracle.jdbc.oracledriver</driver-class> --> <xa-datasource-class>oracle.jdbc.xa.client.oraclexadatasource</xa-datasource-class> </driver> <driver name="sqlserver" module="com.microsoft"> <!-- <driver-class>com.microsoft.sqlserver.jdbc.sqlserverdriver</driver-class> --> <xa-datasource-class>com.microsoft.sqlserver.jdbc.sqlserverxadatasource</xadatasource-class> </driver> </drivers> </datasources> Obs.: Caso a infraestrutura seja em ambiente distribuído e permita implantação do JBoss XA, configure os datasources de acordo com o exemplo abaixo: <datasources> <!-- PostgreSQL XA --> <xa-datasource jndi-name="java:/jdbc/citsmart" pool-name="citsmartdspostgresxa" <xa-datasource-property name="servername"> ${database.server.host} 26 de 35
</xa-datasource-property> <xa-datasource-property name="portnumber"> ${database.server.port} </xa-datasource-property> <xa-datasource-property name="databasename"> ${database.name} </xa-datasource-property> <driver>postgresql</driver> <xa-pool> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> <is-same-rm-override>false</is-same-rm-override> </xa-pool> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlvalidconnectionchecker"/> "org.jboss.jca.adapters.jdbc.extensions.postgres.postgresqlexceptionsorter"/> <blocking-timeout-millis>5000</blocking-timeout-millis> <prepared-statement-cache-size>1000</prepared-statement-cache-size> </xa-datasource> <!-- MySQL XA --> <xa-datasource jndi-name="java:/jdbc/citsmart" pool-name="citsmartdsmysqlxa" enabled="true" use-java-context="true"> <xa-datasource-property name="servername"> ${database.server.host}:${database.server.port} </xa-datasource-property> <xa-datasource-property name="databasename"> ${database.name} </xa-datasource-property> <driver>mysql</driver> <xa-pool> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> 27 de 35
<is-same-rm-override>false</is-same-rm-override> </xa-pool> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlvalidconnectionchecker"/> "org.jboss.jca.adapters.jdbc.extensions.mysql.mysqlexceptionsorter"/> <blocking-timeout-millis>5000</blocking-timeout-millis> <prepared-statement-cache-size>1000</prepared-statement-cache-size> </xa-datasource> <!-- Oracle XA --> <!-- Para usar o datasource XA no Oracle, os seguintes passos devem ser seguidos, em que ${user} é o usuário da base que terá o DS XA --> <!-- GRANT SELECT ON sys.dba_pending_transactions TO ${user}; --> <!-- GRANT SELECT ON sys.pending_trans$ TO ${user}; --> <!-- GRANT SELECT ON sys.dba_2pc_pending TO ${user}; --> <!-- GRANT EXECUTE ON sys.dbms_xa TO ${user}; (se estiver usando Oracle 10g R2 com patches aplicados ou Oracle 11g --> <!-- OU--> <!-- GRANT EXECUTE ON sys.dbms_system TO ${user}; (se estiver usando Oracle de versão anterior ao 11g e sem patches aplicados --> <xa-datasource jndi-name="java:/jdbc/citsmart" pool-name="citsmartoracledsxa" enabled="true" use-java-context="true"> <driver>oracle</driver> <xa-datasource-property name="url"> jdbc:oracle:thin:@${database.server.host}:${database.server.port}:${database.name} </xa-datasource-property> <xa-pool> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> 28 de 35
<is-same-rm-override>false</is-same-rm-override> </xa-pool> "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclevalidconnectionchecker"> </valid-connection-checker> <stale-connection-checker class-name= "org.jboss.jca.adapters.jdbc.extensions.oracle.oraclestaleconnectionchecker"> </stale-connection-checker> "org.jboss.jca.adapters.jdbc.extensions.oracle.oracleexceptionsorter"> </exception-sorter> </xa-datasource> <!-- SQLServer XA --> <xa-datasource jndi-name="java:/jdbc/citsmart" pool-name="citsmartdsmssqlxa" enabled="true" use-java-context="true"> <xa-datasource-property name="servername"> ${database.server.host}:${database.server.port} </xa-datasource-property> <xa-datasource-property name="databasename"> ${database.name} </xa-datasource-property> <xa-datasource-property name="selectmethod"> cursor </xa-datasource-property> <driver>sqlserver</driver> <xa-pool> <min-pool-size>10</min-pool-size> <max-pool-size>100</max-pool-size> <is-same-rm-override>false</is-same-rm-override> </xa-pool> "org.jboss.jca.adapters.jdbc.extensions.mssql.mssqlvalidconnectionchecker"/> <prepared-statement-cache-size>1000</prepared-statement-cache-size> 29 de 35
</xa-datasource> <drivers> <driver name="postgresql" module="org.postgresql"> <!-- <driver-class>org.postgresql.driver</driver-class> --> <xa-datasource-class>org.postgresql.xa.pgxadatasource</xa-datasource-class> </driver> <driver name="mysql" module="com.mysql"> <!-- <driver-class>com.mysql.jdbc.driver</driver-class> --> <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.mysqlxadatasource</xadatasource-class> </driver> <driver name="oracle" module="com.oracle"> <!-- <driver-class>oracle.jdbc.oracledriver</driver-class> --> <xa-datasource-class>oracle.jdbc.xa.client.oraclexadatasource</xa-datasource-class> </driver> <driver name="sqlserver" module="com.microsoft"> <!-- <driver-class>com.microsoft.sqlserver.jdbc.sqlserverdriver</driver-class> --> <xa-datasource-class>com.microsoft.sqlserver.jdbc.sqlserverxadatasource</xadatasource-class> </driver> </drivers> </datasources> 3.3. Configuração do Servidor de Banco de Dados MySQL Editar o arquivo my.cnf (my.ini), definir a propriedade innodb_buffer_pool_size para 256M, de modo que fique assim: innodb_buffer_pool_size = 256M Essa propriedade precisa estar dentro do bloco [mysqld] no arquivo my.cnf. Em seguida, reinicie o MySQL. 30 de 35
4. PROCESSO DE ATUALIZAÇÃO DE VERSÃO Para realização da atualização da versão do Software Citsmart, proceder conforme as rotinas descritas abaixo: 1. Realize o download dos arquivos: Software Citsmart, Citsmart help e documentação atualizada, conforme os passos abaixo: a) Acesse o site, realize o login e clique na aba Downloads ; b) Os arquivos estarão disponibilizados no site do Citsmart (http://www.citsmart.com.br/download/atualizacoes/); c) Será exibida uma página contendo os links para download dos arquivos necessários para atualização do Software Citsmart que são: Manual de atualização; Documentação da versão; Versão do Citsmart e help atualizado (final_version.zip). d) Efetue o download de todos os arquivos citados acima; e) Será exibida uma janela para realização do download do arquivo. As documentações no formato.pdf e o arquivo de atualização (.zip); f) Realize o download do arquivo; g) O arquivo será salvo no local de download padrão no computador; h) Após conclusão do download, abra a pasta na qual o arquivo está armazenado e descompacte o mesmo; i) Pare o JBoss (Esta rotina é necessária devido às várias rotinas feitas no momento em que o JBoss é iniciado); 31 de 35
j) Na pasta deployments do JBoss (/usr/local/jboss-as- 7.1.1.Final/standalone/deployments), copie os arquivos citsmart_***.war e help.war para um diretório de backup, caso seja necessário voltar à versão, estes arquivos serão necessários; k) Copie os arquivos (citsmart_***.war e help.war), os quais foram feitos download e descompactados para a pasta deployments do JBoss (/usr/local/jboss-as-7.1.1.final/standalone/deployments) l) Delete as pastas tmp/ do diretório (/usr/local/jboss-as- 7.1.1.Final/standalone/deployments); m) Feito isso, inicie o JBoss; 2. Realize a validação da atualização conforme tópico seguinte. ATENÇÃO: Siga corretamente esta validação, pois o sistema ficará bloqueado aos usuários até este passo tenha sido realizado. 4.1. Validação da Atualização É necessário que o Administrador realize a validação da atualização para que o sistema opere de forma correta. 1. Após realizar o Login no sistema, será exibida uma tela para validação da atualização; 2. Clique no botão Validar Atualização para que seja concluída a atualização; 32 de 35
3. Caso ocorra alguma inconsistência durante a execução de scripts automática no sistema, será exibida uma tela, onde serão indicados os scripts com inconsistência, conforme abaixo: 4. Para realizar as tratativas dos scripts com inconsistência, selecione a versão desejada no campo Baixe aqui o documento de script da versão para visualizar o script; 33 de 35
5. Após selecionar a versão desejada, será exibida uma janela apresentando os scripts; 6. Copie os scripts indicados e rode no banco de dados; 7. Após rodar os scripts no banco de dados, clique no botão Validar Atualização para que a atualização do sistema seja validada. Caso não tenha efetuado a validação da atualização, o sistema ficará bloqueado para os usuários até que o mesmo seja validado; 34 de 35
8. Feito isso, a atualização do sistema será validada com sucesso e poderá ser utilizado normalmente. Se for necessário fazer Rollback, deverá importar as visões. As visões refletem o código da versão atual, ao voltar a uma versão anterior as visões também deverão voltar. 35 de 35