CONTEXTUALIZAÇÃO
A partir da Release 12.1.2312, expedida oficialmente pelo time de Engenharia Agro em 08/Dezembro/23 pela Central de Downloads TOTVS (artefato: 12.1.2312_INSTALLER_MULTICULTIVO_WIN e 12.1.2312_INSTALLER_MULTICULTIVO_LNX), o produto TOTVS Agro Multicultivo passou por ações de evolução tecnológica e arquitetural, destacando-se principalmente:
- Atualização da plataforma Java 6 para Java 17;
- Substituição do servidor de aplicação JBoss 6 por WildFly 28;
PREMISSAS
A partir da 12.1.2312, há a atualização da plataforma Java 6 para Java 17 e a substituição do servidor de aplicação JBoss 6 para WildFly 28. Portanto, ainda para clientes que já possuem o TOTVS Agro Multicultivo (OnPremise, Cloud Pública ou Cloud TOTVS), deve-se realizar uma nova instalação para que o novo ambiente (Java 17 e WildFly 28) e o conjunto de artefatos do produto sejam corretamente copiados e configurados.
Atenção
Antes da instalação (novo cliente ou novo ambiente) e/ou atualização (migração de release anterior) para TOTVS Agro Multicultivo 12.1.2312, recomenda-se fortemente realizar o backup/cópia de segurança dos arquivos do servidor.
Atenção
Qualquer dúvida ou ponto de atenção, pode-se abrir um ticket na Central de Relacionento da TOTVS
Atenção
Para instalações em Microsoft SQL Server é necessário realizar a importação do sysdb.bak (Central de Downloads) na base da dados.
REQUISITOS (HARDWARE E SOFTWARE)
Desta forma, o produto TOTVS Agro Multicultivo também passou por revisões de requisitos de hardware e software para uso recomendado:
Sistemas Operacionais
Nesta seção, são descritos os requisitos de software de sistemas operacionais recomendados (arquitetura 64 bits):
Windows Server 2019 Standard;
Linux (distribuições como RedHat, Ubuntu e Fedora, porém, não limitado a estas, desde que em suas versões Server);
Para garantir o funcionamento do instalador em ambientes Linux, é necessário contar com a presença do utilitário iconv. Essa ferramenta é essencial nos sistemas Linux para conversão de caracteres de um formato para outro;
Bancos de Dados
Nesta seção, são descritos os requisitos de software de bancos de dados recomendados:
- Oracle 19c;
- Microsoft SQL Server 2019;
Utilitários para comunicação com Bancos de Dados
Nesta seção, são descritos os requisitos de software para comunicação entre o Instalador/Atualizador do TOTVS Agro Multicultivo e as ferramentas necessárias para execução de scripts em banco de dados:
SGBD Oracle
- SQLPLUS - Ferramenta utilitária para execução de instruções SQL
- Windows
- Versões homologadas (sqlplus)
- Versão 12.1.0.2.0
- Versão 19.3.0.0.0
- Versões homologadas (sqlplus)
- Linux
- Versões homologadas (sqlplus)
- Versão 12.1.0.2.0
- Versão 19.6.0.0.0
- Versões homologadas (sqlplus)
- Windows
- SQLPLUS - Ferramenta utilitária para execução de instruções SQL
SGBD Microsoft SQL Server
- SQCMD - Ferramenta utilitária para execução de instruções SQL
- Windows
- Utiliza o modelo baseado em sqlcmd ODBC
- Versão homologada (sqlcmd)
- Versão 15.0.4298.1 NT
- Processo de instalação do SQLCMD
Linux
Utiliza o modelo baseado em go-mssqldb, às vezes chamado de go-sqlcmd
- Versão homologada (sqlcmd)
- Versão v1.5.0
- Processo de instalação do SQLCMD
- Windows
- SQCMD - Ferramenta utilitária para execução de instruções SQL
Hardware
Nesta seção, são descritos os requisitos de hardware recomendados:
Ambiente/Servidor de Aplicação TOTVS Agro Multicultivo
- 8 GB de RAM (livres para produto TOTVS Agro Multicultivo), por instância (instalação WildFly);
- 50 GB de armazenamento/storage (livres para produto TOTVS Agro Multicultivo), por instância (instalação WildFly);
Ambiente/Servidor Banco de Dados (Oracle ou SQL Server)
- 8 GB de RAM (livres para banco de dados utilizado pelo produto TOTVS Agro Multicultivo);
- 200 GB de armazenamento/storage (livres para banco de dados utilizado pelo produto TOTVS Agro Multicultivo);
100 gb - Dedicado ao banco de dados (requisito inicial recomendo)
100 gb - Dedicado ao Sistema Operacional do banco de dados
Importante
Estes valores são uma referência de configurações recomendadas e podem sofrer alterações de acordo com as necessidades do contexto do cliente.
INSTALADOR/ATUALIZADOR
A partir da Release 12.1.2312, um novo ferramental para instalação/atualização do produto TOTVS Agro Multicultivo foi liberado. Desta forma, deve-se utilizá-lo para ter acesso às versões modernizadas (12.1.2312 ou superior).
Serviço do Sistema Operacional
Após instalação/atualização do TOTVS Agro Multicultivo, consulte a Seção "Inicialização do Serviço" (abaixo).
CÓPIA DE PIMSMC_CLIENT DA INSTALAÇÃO JBOSS
É válido copiar o arquivo services_client.xml da pasta pimsmc_client da estrutura do JBoss (12.1.2305 ou anterior) para a pasta pimsmc_client da estrutura do WildFly (12.1.2312 ou superior), substituindo o arquivo atual, a fim de reutilizar as configurações específicas de cliente da instalação anterior. Porém, nesse caso, faz-se necessária a atualização dos nomes de serviço (JNDI) de e-mail e mensageria no arquivo services_client.xml recém-copiado, substituindo as ocorrências de nome no formato antigo pelo formato novo, conforme relacionado na tabela abaixo:
JNDI antigo | JNDI novo |
---|---|
mail/PIMSMulticulturaMailService | java:jboss/mail/Default |
queue/PRXQueue | java:/jms/queue/PRXQueue |
queue/IntegratorOutboundQueue | java:/jms/queue/IntegratorOutboundQueue |
Sugestão
Essa atualização pode ser efetuada via editor de texto com recurso de Procurar/Substituir. Ao abrir o arquivo services_client.xml, procure por todas as ocorrências do JNDI mail/PIMSMulticulturaMailService e substitua pelo JNDI java:jboss/mail/Default, por exemplo.
INICIALIZAÇÃO DO SERVIÇO
Após a instalação do produto TOTVS Agro Multicultivo, é necessário executar o arquivo de inicialização do serviço correspondente, de acordo com o sistema operacional, conforme abaixo:
Plataforma Windows:
A partir do subdiretório "wildfly\bin\service", no diretório em que foi instalado o produto TOTVS Agro Multicultivo, execute os seguintes comandos:
C:\TOTVS-Agro\Multicultivo\wildfly\bin\service>service-<nome_instância>.bat install
C:\TOTVS-Agro\Multicultivo\wildfly\bin\service>service-<nome_instância>.bat start
Plataforma Unix/Linux:
A partir do subdiretório "wildfly/bin", no diretório em que foi instalado o produto TOTVS Agro Multicultivo, execute o seguinte comando:
/usr/local/totvs-agro/multicultivo/wildfly/bin$ wildfly-init-<nome_instância>.sh start
HABILITAÇÃO HTTPS/CERTIFICADO SSL
As configurações de certificado SSL para habilitação de HTTPS, e as demais configurações do serviço, estão centralizadas no arquivo standalone-full-ha.xml:
C:\TOTVS-Agro\Multicultivo\wildfly\<nome_instância>\configuration\standalone-full-ha.xml
O arquivo standalone-full-ha.xml, após a instalação do TOTVS Agro Multicultivo, estará com o subsistema Elytron configurado para uma "key-store" com nome pimsmcKeyStore, referente ao arquivo de certificado do tipo JKS com nome server.keystore e senha totvs@123, conforme trecho de XML abaixo:
<subsystem xmlns="urn:wildfly:elytron:17.0" final-providers="combined-providers" disallowed-providers="OracleUcrypto"> <tls> <key-stores> <key-store name="pimsmcKeyStore"> <credential-reference clear-text="totvs@123"/> <implementation type="JKS"/> <file path="server.keystore" relative-to="jboss.server.config.dir"/> </key-store> </key-stores> <key-managers> <key-manager name="pimsmcKeyManager" key-store="pimsmcKeyStore"> <credential-reference clear-text="totvs@123"/> </key-manager> </key-managers> <server-ssl-contexts> <server-ssl-context name="pimsmcSSLContext" protocols="TLSv1.2" key-manager="pimsmcKeyManager"/> </server-ssl-contexts> </tls> </subsystem>
A configuração <file path="server.keystore" relative-to="jboss.server.config.dir"/> define que o arquivo server.keystore deverá estar localizado no diretório configuration da instância:
C:\TOTVS-Agro\Multicultivo\wildfly\<nome_instância>\configuration\server.keystore
O instalador do TOTVS Agro Multicultivo não disponibiliza o arquivo server.keystore referenciado acima. O mesmo deverá ser gerado com a senha totvs@123 ou, então, ser importado de um arquivo *.cer já existente. Nesse último caso as configurações do Elytron devem ser ajustadas para o nome de arquivo e senha correspondentes.
Geração de Certificado Temporário (homologação)
A geração e importação de certificado Java Keystore pode ser realizada através do utilitário keytool que acompanha a distribuição do JDK. Após instalação do TOTVS Agro Multicultivo, poderá ser localizado no seguinte diretório:
C:\TOTVS-Agro\Multicultivo\jdk\bin\keytool.exe
A geração do certificado server.keystore, com senha totvs@123, para atender a configuração default no subsistema Elytron citada na sessão anterior, pode ser efetuada da seguinte forma:
keytool.exe -genkeypair -keyalg RSA -alias pimsmc -keystore server.keystore -keypass totvs@123 -storepass totvs@123 -validity 365 -keysize 2048 -dname "cn=Totvs,ou=Agro,c=Assis,s=SP,c=BR"
Certificado autoassinado não é um certificado válido!
O certificado gerado via utilitário, como o keytool exemplificado acima, deve ser utilizado apenas para ambientes de homologação, pois o mesmo não é assinado por uma autoridade certificadora. Se for utilizado, o usuário receberá avisos de segurança do navegador ao tentar acessar a aplicação, tendo acesso bloqueado ou necessitando que o mesmo confirme os avisos manualmente até acessar a página.
Importação de Certificado Válido
O arquivo de certificado válido *.CER pode ser importado via o utilizado keytool, referenciado na sessão anterior, da seguinte forma:
keytool.exe -import -alias pimsmc -keystore server.keystore -trustcacerts -file C:\<caminho-completo>\<nome_arquivo>.cer
A senha do certificado importado deve ser ajustada na configuração do subsistema Elytron.
ALTERAÇÃO DE PORTAS
As configurações de portas, e as demais configurações do serviço, estão centralizadas no arquivo standalone-full-ha.xml:
C:\TOTVS-Agro\Multicultivo\wildfly\<nome_instância>\configuration\standalone-full-ha.xml
O arquivo de configuração standalone-full-ha.xml contém a sessão <socket-binding-group> que define as portas de conexão da aplicação. Se, durante a instalação do TOTVS Agro Multicultivo foi informado o valor 0 para o valor "Offset de porta", a configuração dessa sessão estará da seguinte forma:
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="0"> <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/> <socket-binding name="http" port="${jboss.http.port:8080}"/> <socket-binding name="https" port="${jboss.https.port:8443}"/> <socket-binding name="iiop" interface="unsecure" port="3528"/> <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/> <socket-binding name="jgroups-mping" interface="private" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/> <socket-binding name="jgroups-tcp" interface="private" port="7600"/> <socket-binding name="jgroups-tcp-fd" interface="private" port="57600"/> <socket-binding name="jgroups-udp" interface="private" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/> <socket-binding name="jgroups-udp-fd" interface="private" port="54200"/> <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/> <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/> <socket-binding name="modcluster" multicast-address="${jboss.modcluster.multicast.address:224.0.1.105}" multicast-port="23364"/> <socket-binding name="txn-recovery-environment" port="4712"/> <socket-binding name="txn-status-manager" port="4713"/> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group>
O padrão "${<nome_propriedade>:<número_porta>}" indica que o servidor Wildfly utilizará a propriedade <nome_propriedade>, prioritariamente, caso exista valor definido. Pelo contrário será utilizado o número <número_porta> declarado.
O atributo port-offset indica o valor que será adicionado (somado) ao valor das portas configuradas nas subsessões <socket-binding> ao inicializar o serviço. Se o valor de port-offset estivesse definido com valor 100, e considerando a subsessão <socket-binding name="http" port="8080"/>, por exemplo, após inicialização do serviço, a porta de conexão para HTTP estaria disponível com o número 8180.
DEFINIR MODELO PADRÃO DE VALORES / IDIOMA PADRÃO
Para garantir o modelo padrão para de valores, no arquivo localizado em wildfly/bin/{instancia}.conf.bat deve estar definido a linguagem (-Duser.language) e o país (-Duser.country) destacados nas linhas 4 e 5.
set "JAVA_OPTS=%JAVA_OPTS% -Dconf_dir=%MULTICULTIVO%\desenvolvimento" set "JAVA_OPTS=%JAVA_OPTS% -Dconf_client=%MULTICULTIVO%\desenvolvimento_client" set "JAVA_OPTS=%JAVA_OPTS% -Dpims.mc.estatico=%MULTICULTIVO%\pimsmcestatico" set "JAVA_OPTS=%JAVA_OPTS% -Duser.language=pt" set "JAVA_OPTS=%JAVA_OPTS% -Duser.country=BR"
CENTRAL COLABORATIVA
Para sugestões e ideias de melhorias, compartilhe sua demanda por meio da Central Colaborativa TOTVS.