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 DE 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.
HABILITAĆĆO DE E-MAIL (SMTP)
O SMTP e conta de e-mail devem ser configurados na seĆ§Ć£o <socket-binding-group> e no subsistema (subsystem) mail, respectivamente, no arquivo standalone-full-ha.xml.
ConfiguraĆ§Ć£o de SMTP
Para configurar o SMTP, deve-se adicionar o elemento XML <outbound-socket-binding> ao elemento <socket-binding-group>, conforme trecho de exemplo abaixo:
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="0"> <!-- ConfiguraƧƵes de socket-binding --> <socket-binding/> <!-- ConfiguraĆ§Ć£o de SMTP --> <outbound-socket-binding name="mail-smtp"> <remote-destination host="localhost" port="25"/> </outbound-socket-binding> </socket-binding-group>
Atributos:
- name - o nome atribuĆdo ao socket-binding deverĆ” ser referenciado na configuraĆ§Ć£o do subsistema mail, como pode ser observado na prĆ³xima seĆ§Ć£o abaixo. O nome "mail-smtp" Ć© apenas uma sugestĆ£o, ele pode ser personalizado;
- host - define o endereƧo (host) do SMTP a ser utilizado;
- port - define o nĆŗmero da porta do SMTP.
ConfiguraĆ§Ć£o de conta de e-mail (subsistema mail)
Para configurar uma conta de e-mail, deve-se adicionar um elemento <mail-session> (contendo o elemento <smpt-server>) ao subsistema (subsystem) mail, conforme exemplo abaixo:
<subsystem xmlns="urn:jboss:domain:mail:4.0"> <mail-session name="default" debug="false" jndi-name="java:jboss/mail/Default" from="[email protected]"> <smtp-server outbound-socket-binding-ref="mail-smtp" tls="false" username="usuario" password="senha"/> </mail-session> </subsystem>
Atributos:
- jndi-name - nome do serviƧo de e-mail configurado no WildFly. Valor padrĆ£o deve ser "java:jboss/mail/Default";
- from - endereƧo de e-mail que serƔ utilizado no envio de e-mails;
- outbound-socket-binding-ref - referencia ao socket-binding via nome (mail-smtp) configurado na seĆ§Ć£o anterior;
- tls - (true/false) - Indica se o serviƧo de SMTP utiliza ou nĆ£o o protocolo TLS;
- username e password - configuram o usuĆ”rio e senha do serviƧo SMTP, respectivamente. Caso o serviƧo SMTP esteja sem autenticaĆ§Ć£o de usuĆ”rio, os atributos username e password devem ser removidos dessa configuraƧao.
ConfiguraĆ§Ć£o de e-mail via WildFly Admin Console
As configuraƧƵes de e-mail descritas acima podem ser refetuadas via interface grƔfica no WildFly Admin Console, da seguinte forma, conforme printscreens abaixo:
1 - ConfiguraĆ§Ć£o de SMTP:
2 - ConfiguraĆ§Ć£o de conta de e-mail:
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.