VISÃO GERAL

Abordaremos as etapas necessárias para o processo de instalação do TOTVS Agro API Hub, por meio da ferramenta Instalador em modo silencioso (modo não interativo) e modo padrão.



PRÉ-REQUISITOS

1. Versão Mínima para Instalação

A versão mínima necessária do TOTVS Agro API Hub, para o processo de instalação, para utilizar o instalador é a 12.1.2512.



PACOTE DE INSTALAÇÃO

O pacote do instalador do TOTVS Agro API Hub está disponível na Central de Download da TOTVS, o modo de instalação silencioso está disponível a partir da Release 12.1.2512.



ESTRUTURA DE ARQUIVOS NO INSTALADOR

Ao baixar e descompactar o instalador do TOTVS Agro API Hub, haverá a seguinte estrutura de arquivos:

Na pasta distro:

EXECUÇÃO DO INSTALADOR EM MODO SILENCIOSO

O instalador em modo silencioso visa permitir a instalação automatizada do software sem a necessidade de interação do usuário. Isso facilita a implantação em ambientes corporativos, reduz erros humanos, agiliza o processo e garante consistência nas instalações. Além disso, o modo silencioso é ideal para integrações com scripts e ferramentas de gerenciamento de sistemas.

ARQUIVO DE CONFIGURAÇÃO DA INSTALAÇÃO (.properties)

Antes de executar o instalador em modo silencioso, é necessário que o totvs-agro-ta-api-hub-windows-oracle.properties ou totvs-agro-ta-api-hub-linux-oracle.properties, dependendo do sistema operacional utilizado, esteja corretamente preenchido. Este arquivo define os parâmetros para a instalação do TOTVS Agro API Hub.

Propriedades que requerem modificação: As propriedades representadas por ${} devem ser substituídas pelos valores específicos de cada cliente. As demais propriedades, que não seguem esse formato, não devem ser alteradas.  Abaixo listaremos as propriedades e suas respectivas funcionalidades.

Propriedades do TOTVS Agro API Hub: Descrição e Características

### Variáveis de seleção de produtos
TAG: ${INSTALL_BIOENERGIA}
Descrição: Habilita a instalação do módulo Bioenergia.
Exemplo: true

TAG: ${INSTALL_INDUSTRIA_MI}
Descrição: Habilita a instalação do módulo Indústria MI.
Exemplo: false

TAG: ${INSTALL_INDUSTRIA_PI}
Descrição: Habilita a instalação do módulo Indústria PI.
Exemplo: false
Observação: Valores aceitos: true | false.

TAG: ${CAMINHO_DA_INSTALACAO}
Descrição: Caminho de instalação do Api Hub (diretório base).
Exemplo: C:\\TOTVS-Agro
Observação: Usado para montagem de caminhos nos scripts de instalação.

### TOTVS API Hub — Rede / serviço
TAG: ${API_HUB_IP_APLICACAO}
Descrição: Endereço IP ou host onde o serviço será acessível.
Exemplo: 0.0.0.0 ou api-hub.example.local

TAG: ${API_HUB_PORT_APLICACAO}
Descrição: Porta TCP do serviço.
Exemplo: 8080

TAG: ${API_HUB_SERVICE_NAME}
Descrição: Nome do serviço (somente para windows).
Exemplo: TOTVS-Apihub

TAG: ${API_HUB_SERVICE_DESCRIPTION}
Descrição: Descrição do serviço (somente para windows).
Exemplo: Serviço TOTVS API Hub

TAG: ${API_HUB_SERVER_CONTEXT}
Descrição: Context path da aplicação (contexto do servidor).
Exemplo: /api

### TOTVS API Hub — Database (Oracle)
TAG: ${API_HUB_TIPO_CONEXAO_DATABASE}
Descrição: Tipo de conexão Oracle (por exemplo: service ou sid).
Exemplo: service
Observação: Usado para compor URL de conexão.

TAG: ${API_HUB_USER_DATABASE}
Descrição: Usuário do schema do banco do Api Hub.
Exemplo: APHUB_USER

TAG: ${API_HUB_PASSWORD_DATABASE}
Descrição: Senha do usuário do banco do Api Hub.
Exemplo: s3nh@Exemplo

TAG: ${API_HUB_IP_DATABASE}
Descrição: Host/IP do servidor Oracle do Api Hub.
Exemplo: db-oracle.example.local

TAG: ${API_HUB_PORTA_DATABASE}
Descrição: Porta do listener Oracle.
Exemplo: 1521

TAG: ${API_HUB_NAME_DATABASE}
Descrição: Service name / SID do banco Oracle.
Exemplo: ORCLPDB1

TAG: ${API_HUB_DEFAULT_INSTANCE}
Descrição: Instância padrão usada pela aplicação.
Exemplo: 1

TAG: ${API_HUB_DEFAULT_COMPANY}
Descrição: Empresa padrão usada pela aplicação.
Exemplo: 1

### Banco de dados — Bioenergia (quando habilitado)
TAG: ${BIOENERGIA_TIPO_CONEXAO_DATABASE}
Descrição: Tipo de conexão Oracle para Bioenergia.
Exemplo: service

TAG: ${BIOENERGIA_USER_DATABASE}
Descrição: Usuário do schema Bioenergia.
Exemplo: BIO_USER

TAG: ${BIOENERGIA_PASSWORD_DATABASE}
Descrição: Senha do schema Bioenergia.
Exemplo: bioSenha123

TAG: ${BIOENERGIA_IP_DATABASE}
Descrição: Host/IP do Oracle do Bioenergia.
Exemplo: db-bio.example.local

TAG: ${BIOENERGIA_PORTA_DATABASE}
Descrição: Porta do listener Oracle para Bioenergia.
Exemplo: 1521

TAG: ${BIOENERGIA_NAME_DATABASE}
Descrição: Service name / SID do banco Bioenergia.
Exemplo: BIODB

### Banco de dados — Indústria MI (quando habilitado)
TAG: ${INDUSTRIA_MI_TIPO_CONEXAO_DATABASE}
Descrição: Tipo de conexão Oracle para Industria MI.
Exemplo: service

TAG: ${INDUSTRIA_MI_USER_DATABASE}
Descrição: Usuário do schema Industria MI.
Exemplo: MI_USER

TAG: ${INDUSTRIA_MI_PASSWORD_DATABASE}
Descrição: Senha do schema Industria MI.
Exemplo: miSenha123

TAG: ${INDUSTRIA_MI_IP_DATABASE}
Descrição: Host/IP do Oracle do Industria MI.
Exemplo: db-mi.example.local

TAG: ${INDUSTRIA_MI_PORTA_DATABASE}
Descrição: Porta do listener Oracle para Industria MI.
Exemplo: 1521

TAG: ${INDUSTRIA_MI_NAME_DATABASE}
Descrição: Service name / SID do banco Industria MI.
Exemplo: MIDB

### Banco de dados — Indústria PI (quando habilitado)
TAG: ${INDUSTRIA_PI_TIPO_CONEXAO_DATABASE}
Descrição: Tipo de conexão Oracle para Industria PI.
Exemplo: service

TAG: ${INDUSTRIA_PI_USER_DATABASE}
Descrição: Usuário do schema Industria PI.
Exemplo: PI_USER

TAG: ${INDUSTRIA_PI_PASSWORD_DATABASE}
Descrição: Senha do schema Industria PI.
Exemplo: piSenha123

TAG: ${INDUSTRIA_PI_IP_DATABASE}
Descrição: Host/IP do Oracle do Industria PI.
Exemplo: db-pi.example.local

TAG: ${INDUSTRIA_PI_PORTA_DATABASE}
Descrição: Porta do listener Oracle para Industria PI.
Exemplo: 1521

TAG: ${INDUSTRIA_PI_NAME_DATABASE}
Descrição: Service name / SID do banco Industria PI.
Exemplo: PIDB

### SSL / HTTPS
TAG: ${SSL_ENABLED}
Descrição: Habilita HTTPS/SSL.
Exemplo: true

TAG: ${SSL_KEYSTORE_PATH}
Descrição: Caminho para o keystore JKS/PKCS12 contendo o certificado do servidor.
Exemplo: C:\certs\keystore.jks

TAG: ${SSL_KEYSTORE_PASSWORD}
Descrição: Senha do keystore.
Exemplo: changeme

### JVM / memória
TAG: ${MEMORY_INITIAL}
Descrição: Valor -Xms inicial da JVM.
Exemplo: 512m

TAG: ${MEMORY_MAX}
Descrição: Valor -Xmx máximo da JVM.
Exemplo: 2048m

### Credenciais da API (OAuth / cliente)
TAG: ${CREDENTIALS_CLIENT_ID}
Descrição: Client ID usado pela aplicação para autenticação.
Exemplo: ta-api-hub-client

TAG: ${CREDENTIALS_CLIENT_SECRET}
Descrição: Client Secret associado ao Client ID.
Exemplo: s3nh@Secr3t


Exemplo de arquivo com as propriedades, utilizado no processo de instalação:

#TOTVS Agro Java Spring - Windows + Oracle

target.os=windows

bioenergia.selected=${INSTALL_BIOENERGIA}
industria.mi.selected=${INSTALL_INDUSTRIA_MI}
industria.pi.selected=${INSTALL_INDUSTRIA_PI}

iz.api.hub.path=${CAMINHO_DA_INSTALACAO}

## TOTVS Api Hub
# Network
api.hub.service.address=${API_HUB_IP_APLICACAO}
api.hub.service.port=${API_HUB_PORT_APLICACAO}
api.hub.service.name=${API_HUB_SERVICE_NAME}
api.hub.service.description=${API_HUB_SERVICE_DESCRIPTION}
api.hub.server.context=${API_HUB_SERVER_CONTEXT}

# Database
api.hub.database.dbms=oracle
api.hub.database.oracle.connection.type=${API_HUB_TIPO_CONEXAO_DATABASE}
api.hub.database.connection.dialect=org.hibernate.dialect.OracleDialect
api.hub.database.user=${API_HUB_USER_DATABASE}
api.hub.database.password=${API_HUB_PASSWORD_DATABASE}
api.hub.database.host=${API_HUB_IP_DATABASE}
api.hub.database.port=${API_HUB_PORTA_DATABASE}
api.hub.database.name=${API_HUB_NAME_DATABASE}
api.hub.database.url=jdbc:oracle:thin:@//${API_HUB_IP_DATABASE}:${API_HUB_PORTA_DATABASE}/${API_HUB_NAME_DATABASE}

# Additional info
api.hub.default.instance=${API_HUB_DEFAULT_INSTANCE}
api.hub.default.company=${API_HUB_DEFAULT_COMPANY}

# Database Products
## Bioenergia - Database
bioenergia.database.dbms=oracle
bioenergia.database.oracle.connection.type=${BIOENERGIA_TIPO_CONEXAO_DATABASE}
bioenergia.database.connection.dialect=org.hibernate.dialect.Oracle11cDialect
bioenergia.database.user=${BIOENERGIA_USER_DATABASE}
bioenergia.database.password=${BIOENERGIA_PASSWORD_DATABASE}
bioenergia.database.host=${BIOENERGIA_IP_DATABASE}
bioenergia.database.port=${BIOENERGIA_PORTA_DATABASE}
bioenergia.database.name=${BIOENERGIA_NAME_DATABASE}
bioenergia.database.url=jdbc:oracle:thin:@//${BIOENERGIA_IP_DATABASE}:${BIOENERGIA_PORTA_DATABASE}/${BIOENERGIA_NAME_DATABASE}

## Industria MI - Database
industria.mi.database.dbms=oracle
industria.mi.database.oracle.connection.type=${INDUSTRIA_MI_TIPO_CONEXAO_DATABASE}
industria.mi.database.connection.dialect=org.hibernate.dialect.Oracle11gDialect
industria.mi.database.user=${INDUSTRIA_MI_USER_DATABASE}
industria.mi.database.password=${INDUSTRIA_MI_PASSWORD_DATABASE}
industria.mi.database.host=${INDUSTRIA_MI_IP_DATABASE}
industria.mi.database.port=${INDUSTRIA_MI_PORTA_DATABASE}
industria.mi.database.name=${INDUSTRIA_MI_NAME_DATABASE}
industria.mi.database.url=jdbc:oracle:thin:@//${INDUSTRIA_MI_IP_DATABASE}:${INDUSTRIA_MI_PORTA_DATABASE}/${INDUSTRIA_MI_NAME_DATABASE}

## Industria PI - Database
industria.pi.database.dbms=oracle
industria.pi.database.oracle.connection.type=${INDUSTRIA_PI_TIPO_CONEXAO_DATABASE}
industria.pi.database.connection.dialect=org.hibernate.dialect.Oracle11gDialect
industria.pi.database.user=${INDUSTRIA_PI_USER_DATABASE}
industria.pi.database.password=${INDUSTRIA_PI_PASSWORD_DATABASE}
industria.pi.database.host=${INDUSTRIA_PI_IP_DATABASE}
industria.pi.database.port=${INDUSTRIA_PI_PORTA_DATABASE}
industria.pi.database.name=${INDUSTRIA_PI_NAME_DATABASE}
industria.pi.database.url=jdbc:oracle:thin:@//${INDUSTRIA_PI_IP_DATABASE}:${INDUSTRIA_PI_PORTA_DATABASE}/${INDUSTRIA_PI_NAME_DATABASE}

# Middleware
middleware.enabled=false
middleware.ip=
middleware.port=

# SSL / HTTPS
ssl.enabled=${SSL_ENABLED}
ssl.keystore.path=${SSL_KEYSTORE_PATH}
ssl.keystore.password=${SSL_KEYSTORE_PASSWORD}

# Memory JVM
memory.initial=${MEMORY_INITIAL}
memory.max=${MEMORY_MAX}

# Credentials API
credentials.client.id=${CREDENTIALS_CLIENT_ID}
credentials.client.secret=${CREDENTIALS_CLIENT_SECRET}

##


#TOTVS Agro Java Spring - Linux + Oracle

target.os=unix
unix.distro=RedHat

bioenergia.selected=${INSTALL_BIOENERGIA}
industria.mi.selected=${INSTALL_INDUSTRIA_MI}
industria.pi.selected=${INSTALL_INDUSTRIA_PI}

iz.api.hub.path=${CAMINHO_DA_INSTALACAO}

## TOTVS Api Hub
# Network
api.hub.service.address=${API_HUB_IP_APLICACAO}
api.hub.service.port=${API_HUB_PORT_APLICACAO}
api.hub.server.context=${API_HUB_SERVER_CONTEXT}

# Database
api.hub.database.dbms=oracle
api.hub.database.oracle.connection.type=${API_HUB_TIPO_CONEXAO_DATABASE}
api.hub.database.connection.dialect=org.hibernate.dialect.OracleDialect
api.hub.database.user=${API_HUB_USER_DATABASE}
api.hub.database.password=${API_HUB_PASSWORD_DATABASE}
api.hub.database.host=${API_HUB_IP_DATABASE}
api.hub.database.port=${API_HUB_PORTA_DATABASE}
api.hub.database.name=${API_HUB_NAME_DATABASE}
api.hub.database.url=jdbc:oracle:thin:@//${API_HUB_IP_DATABASE}:${API_HUB_PORTA_DATABASE}/${API_HUB_NAME_DATABASE}

# Additional info
api.hub.default.instance=${API_HUB_DEFAULT_INSTANCE}
api.hub.default.company=${API_HUB_DEFAULT_COMPANY}

# Database Products
## Bioenergia - Database
bioenergia.database.dbms=oracle
bioenergia.database.oracle.connection.type=${BIOENERGIA_TIPO_CONEXAO_DATABASE}
bioenergia.database.connection.dialect=org.hibernate.dialect.Oracle11cDialect
bioenergia.database.user=${BIOENERGIA_USER_DATABASE}
bioenergia.database.password=${BIOENERGIA_PASSWORD_DATABASE}
bioenergia.database.host=${BIOENERGIA_IP_DATABASE}
bioenergia.database.port=${BIOENERGIA_PORTA_DATABASE}
bioenergia.database.name=${BIOENERGIA_NAME_DATABASE}
bioenergia.database.url=jdbc:oracle:thin:@//${BIOENERGIA_IP_DATABASE}:${BIOENERGIA_PORTA_DATABASE}/${BIOENERGIA_NAME_DATABASE}

## Industria MI - Database
industria.mi.database.dbms=oracle
industria.mi.database.oracle.connection.type=${INDUSTRIA_MI_TIPO_CONEXAO_DATABASE}
industria.mi.database.connection.dialect=org.hibernate.dialect.Oracle11gDialect
industria.mi.database.user=${INDUSTRIA_MI_USER_DATABASE}
industria.mi.database.password=${INDUSTRIA_MI_PASSWORD_DATABASE}
industria.mi.database.host=${INDUSTRIA_MI_IP_DATABASE}
industria.mi.database.port=${INDUSTRIA_MI_PORTA_DATABASE}
industria.mi.database.name=${INDUSTRIA_MI_NAME_DATABASE}
industria.mi.database.url=jdbc:oracle:thin:@//${INDUSTRIA_MI_IP_DATABASE}:${INDUSTRIA_MI_PORTA_DATABASE}/${INDUSTRIA_MI_NAME_DATABASE}

## Industria PI - Database
industria.pi.database.dbms=oracle
industria.pi.database.oracle.connection.type=${INDUSTRIA_PI_TIPO_CONEXAO_DATABASE}
industria.pi.database.connection.dialect=org.hibernate.dialect.Oracle11gDialect
industria.pi.database.user=${INDUSTRIA_PI_USER_DATABASE}
industria.pi.database.password=${INDUSTRIA_PI_PASSWORD_DATABASE}
industria.pi.database.host=${INDUSTRIA_PI_IP_DATABASE}
industria.pi.database.port=${INDUSTRIA_PI_PORTA_DATABASE}
industria.pi.database.name=${INDUSTRIA_PI_NAME_DATABASE}
industria.pi.database.url=jdbc:oracle:thin:@//${INDUSTRIA_PI_IP_DATABASE}:${INDUSTRIA_PI_PORTA_DATABASE}/${INDUSTRIA_PI_NAME_DATABASE}

# Middleware
middleware.enabled=false
middleware.ip=
middleware.port=

# SSL / HTTPS
ssl.enabled=${SSL_ENABLED}
ssl.keystore.path=${SSL_KEYSTORE_PATH}
ssl.keystore.password=${SSL_KEYSTORE_PASSWORD}

# Memory JVM
memory.initial=${MEMORY_INITIAL}
memory.max=${MEMORY_MAX}

# Credentials API
credentials.client.id=${CREDENTIALS_CLIENT_ID}
credentials.client.secret=${CREDENTIALS_CLIENT_SECRET}

##


EXECUTANDO A INSTALAÇÃO

Após configurado o arquivo totvs-agro-ta-api-hub-oracle.properties, para iniciar o processo de instalação em modo silencioso, basta executar o arquivo install-silent.bat em modo Administrador, e o processo irá iniciar automaticamente.


FALHA NO PROCESSO DE INSTALAÇÃO

Caso alguma informação no arquivo totvs-agro-ta-api-hub-oracle.properties esteja incorreta ou inválida, o processo de instalação, ao identificar a inconsistência, será abortado, exibindo a mensagem informativa, conforme exemplo abaixo:



EXECUÇÃO DO INSTALADOR EM MODO PADRÃO

PROCESSO DE INSTALAÇÃO PADRÃO

Após realizar o download e extrair o instalador, execute o arquivo install.bat ou install.sh com privilégios de administrador para iniciar o processo de instalação.

Ao iniciar o processo, o usuário deverá selecionar o idioma desejado para prosseguir com a instalação.

Em seguida, será exibida a tela para definição do diretório onde o programa será instalado.


Na próxima etapa, serão configurados os serviços necessários para a aplicação. Preencha os campos conforme as informações do ambiente onde o sistema será executado:

Nesta etapa, será configurada a conexão com o banco de dados do TOTVS Agro API Hub, PostgreSQL ou Oracle, necessário para o funcionamento da aplicação. Preencha os parâmetros conforme o ambiente de instalação:

Nesta etapa, é necessário informar os dados adicionais da integração para o TOTVS Agro API Hub, que serão utilizados para comunicação entre os sistemas. Preencha os campos:

Nesta etapa, é necessário selecionar os produtos para configurar a conexão para o TOTVS Agro API Hub, que serão utilizados para comunicação entre os sistemas. Produtos disponiveis a serem configurados:


Nesta etapa, será configurado a conexão dos produtos selecionados. Preencha os campos para a conexão com o banco de dados Oracle para cada produto:

Nesta etapa, é possível habilitar a configuração dos dados do Middleware, que serão utilizados para integração de dados com o TOVTVS Agro API Hub. Preencha os campos para a integração:

Nesta etapa, é possível habilitar a configuração dos dados do SSL/HTTPS, que serão utilizados para comunicação com o TOVTVS Agro API Hub. Preencha os campos para comunicação de acesso:

Nesta etapa, será configurado a quantidade de memória da JVM da aplicação:

Nesta etapa, será feita a configuração das credenciais de acesso à API, que serão utilizados para comunicação com o TOVTVS Agro API Hub. Preencha os campos de credenciais:

Nesta etapa, serão exibidos os componentes disponíveis para instalação.
Os seguintes pacotes já vêm selecionados por padrão, sendo obrigatórios para o funcionamento do sistema:

Não é possível desmarcar esses itens.

Após concluir essas etapas, basta aguardar o processo de instalação.

  1. Para verificar se a aplicação foi instalada com sucesso, acesse a URL http://SEU_IP:SUA_PORTA/api/actuator/health. Ao carregá-la, deverá exibir a mensagem {"status":"UP"} 
  2. Após a instalação concluída e o serviço em execução, para realizar um teste, basta codificar SEU_CLIENT_ID:SEU_CLIENT_SECRET (no exemplo: teste:teste:123) para Base64
  3. Agora basta chamar http://SEU_IP:SUA_PORTA/oauth2/token enviando no Headers
    1. Key: Authorization
    2. Value: Basic dGVzdGU6dGVzdGUxMjM=




SUGESTÕES DE MELHORIAS

Para sugestões de melhorias no processo de instalação, acesse a Central Colaborativa TOTVS