Instalação do Engine

O Engine pode operar de duas formas: servidor de aplicação, onde o Engine se conecta ao SGBD da base, e servidor de borda, onde o Engine se conecta a outro Engine servidor de aplicação.

Instalando o Engine Servidor de Aplicação

Para conectar o Engine ao SGBD, é necessário instalar a biblioteca client de conexão com o banco, fornecida pelo fabricante do banco, exceto para o PostgreSQL, onde a biblioteca já está incluída na instalação do Engine. O procedimento é simples:

  • Faça o download do pacote de instalação e o descompacte numa pasta vazia, por exemplo, C:\Engine. A versão do Engine a ser usada dependerá da versão do sistema presente na base de dados.
  • Crie um atalho para o executável. Nas propriedades do atalho acrescente o parâmetro -s no campo Destino, por exemplo, C:\Engine\engine64.exe -s.
  • Execute o Engine através do novo atalho. Na sua primeira execução, uma série de arquivos novos serão criados, necessários para sua operação.
  • Na barra de tarefas do Windows, na área de notificações, será exibido um pequeno ícone do Engine. Clique no ícone com o botão direito do mouse, e selecione no menu suspenso a opção /Manage. O navegador padrão irá abrir a tela de configuração do Engine. Informe todos os parâmetros de configuração do Engine.

É recomendado que os Engines usados como servidor de aplicação sejam instalados como um serviço do Windows. Após o procedimento de instalação descrito acima, abra o Prompt de Comando do Windows com permissões de administrador e entre na pasta onde o Engine foi instalado. Exemplificando, para configurar o Engine com o serviço de nome SISTEMA_ACME, execute o Engine no Prompt de Comando com os seguintes parâmetros: engine64.exe /install -s -svc SISTEMA_ACME

É possível configurar o Engine para que utilize outras pastas diferentes da pasta de instalação para o armazenamento de dados permanentes, temporários e logs. Essa configuração pode ser feito por comando de linha, através das propriedades --appdatadir, --apptempdir e --applogdir respectivamente, ou através das variáveis de ambiente NGIN_APP_DATA_DIR, NGIN_APP_TEMP_DIR e NGIN_APP_LOG_DIR.

Instalando o Engine Servidor de Borda

O procedimento de instalação do Engine para operação como servidor de borda é feito acessando o Engine servidor de aplicação. Exemplificando, suponha que a URL do Engine servidor de aplicação seja http://10.0.0.10:8080. Acesse a página de download do Engine em http://10.0.0.10:8080/install e faça o download do executável adequado para o seu sistema operacional e o execute. A janela de instalação do Engine será exibida, sendo necessário informar os parâmetros de instalação:

  • Diretório de destino, onde será instalado o Engine, por exemplo, C:\Engine.
  • Servidor, onde deve ser informado o endereço do Engine servidor de aplicação, por exemplo, http://10.0.0.10:8080
  • Base de dados, onde deve ser informado o nome da base de dados configurada no servidor de aplicação.

Após a instalação, será criado um atalho no menu Iniciar do Windows. Clique neste atalho e aguarde a montagem do cache local. A primeira execução poderá demorar vários minutos, pois neste momento o Engine irá montar o cache de dados. Após o download completo de todos os dados do cache, a instalação será finalizada e a aplicação estará em execução.

Parâmetros de comando de linha

O Engine suporta diversos parâmetros de configuração. Algumas configurações podem ser feitas tanto por parâmetros de comando de linha como através do Manage.

Quando o Engine é executado em modo cliente, deve ser informado o endereço e o nome da base do Engine servidor da base, por exemplo, Engine.exe http://192.168.0.101 MEU_SISTEMA.

Caso o Engine seja executado como servidor da base, as configurações do banco de dados necessariamente devem ser feitas no Manage, e o Engine é executado somente com o parâmetro -s.

Alguns parâmetros de configuração possuem uma forma curta, prefixado com um hífen, e uma forma longa, prefixado por dois hifens. Os demais parâmetros possuem apenas a forma longa.

Listagem de referência

  • -nu, --DisableAutomaticUpgrade: desabilita a atualização automática de versão do executável.
  • -s, --Server: O Engine será executado em modo servidor. O acesso a IDE não é disponibilizado, e o navegador não é aberto automaticamente.
  • -lavfsc, --LoadiVfsLobTable: a Tabela iVfsLob é descarregada para o Cache Local. Por padrão os registros da tabela iVfsLob são carregados sob demanda. Quando está opção está ativa, o Engine passa a carregar integralmente essa tabela na inicialização do cache local e desativa o modo de leitura sob demanda. Ativar essa opção pode penalizar significativamente a inicialização do Engine, devendo ser usada em casos onde é necessário ter acesso a todos os arquivos da VFS, como as imagens de produtos, mesmo que o Engine esteja off-line.
  • -aac, --AllowAnonymousConnections: o Engine permitirá conexões remotas sem autenticação.
  • -safemode, --SafeMode: o Engine carregará apenas algumas tabelas essenciais,
    possibilitando ao administrador do sistema reparar erros de configuração que impeçam a inicialização do sistema.
  • -kiosk, --KioskMode: o navegador é aberto em modo kiosk.
  • -ncc, --NoCheckCertificate: não serão validados os certificados SSL dos servidores. É recomendado o seu uso apenas em ambiente de desenvolvimento.
  • -dar, --DisableAutoRestart: o processo do Engine não poderá ser reiniciado automaticamente. Essa opção é útil no cenário onde o Engine está sendo executado e controlado a partir de um outro processo. Caso o Engine seja iniciado com essa opção e ele detecte que há uma nova versão no servidor, ele finalizará o processo com o código de erro 4, cabendo ao processo controlador invocar novamente o Engine para que ele possa concluir a atualização. Chamadas a API server.restart() não reiniciarão o Engine.
  • --DisableGui: desabilita a interface gráfica do Engine, inibindo a exibição da tela de progresso da inicialização do cache local, o ícone da área de notificações e a abertura do navegador web. Essa opção é útil em cenários onde outros processos controlam a inicialização e finalização do Engine.
  • --DisableIdoSyncToDisk: desativa a operação de flush dos buffers de escrita dos arquivos dos bancos de dados locais do Engine a cada transação, tornando as operações em disco mais rápidas em detrimento de um maior risco de perda de dados nos desligamentos forçados do Engine. Ela também pode ser desativada informando a variável de ambiente NGIN_SYNC_TO_DISK com os valores 0 ou OFF, ou por meio da configuração SyncToDisk na página “Configuration > Others” do Manage.
  • --CloseAfterDBCacheSync: após a sincronização inicial do Cache Local, o processo do Engine é automaticamente encerrado. Caso falhe a sincronização, o processo retornará o código de erro 6 ou 7.
  • --HttpPort=<port>: configura a porta HTTP que deve ser aberta pelo Engine. Caso não seja possível abrir a porta indicada, o Engine será encerrado com o código de erro 5.
  • --jazArchive=<path>: configura o caminho de um arquivo JAZ no sistema de arquivos da máquina que deve ser carregado na UFS. Essa opção somente será considerada se a base de dados permitir configurações externas da UFS. Esse parâmetro pode ser usado repetidas vezes ao se configurar múltiplos arquivos.
  • --ufsDirectory=<path>: configura o caminho de um diretório do sistema de arquivos da máquina que deve ser montado na UFS. Essa opção somente será considerada se a base de dados permitir configurações externas da UFS. Esse parâmetro pode ser usado repetidas vezes ao se configurar múltiplas pastas.
  • --JavaHome=<path>: configura o caminho da instalação do Java. É obrigatório o seu uso, caso seja usado o OpenJDK.
  • --v8-flags="<args>": informa flags avançadas de configuração do runtime JavaScript v8. A relação de todas as flags pode ser obtida em flag-definitions.h ou pelo comando node --v8-options em um node que utilize um versão do v8 equivalente a da utilizada pelo Engine.
  • --AdditionalLoggerConfig=<path>: informa um arquivo com configurações complementares para o gerador de logs do Engine.
  • --EnableStandardManageAuthentication: ativa o suporte aos esquemas de autenticação Basic e Digest no login do Manage.
  • --EnableHttpServerTLSV11: ativa o protocolo TLS 1.1 no servidor HTTP.
  • --NoProxy: desativa o uso da configuração de proxy do sistema operacional. Essa mesma configuração pode ser alternativamente realizada através da variável de ambiente ENGINE_PROXY definida com o valor NONE.
  • --EnableProfiler: ativa a coleta de estatísticas de desempenho das operações instrumentadas por meio da API Profiler. Essa opção também pode ser ativada informando a variável de ambiente NGIN_PROFILER com o valor DEFAULT ou 1.
  • --EnableAutoProfiler: ativa a coleta de estatísticas de desempenho com a instrumentação automática de todos os métodos JavaScript, além das operações instrumentadas manualmente por meio da API Profiler. Essa opção também pode ser ativada informando a variável de ambiente NGIN_PROFILER com o valor AUTO. Importante: o profiler automático registra a execução de todas as funções JavaScript, requerendo uma quantidade significativa de memória para controlar esses registros. Essa configuração não deve estar ativa em servidores de produção ou em servidores de testes que possuem uma quantidade de usuários simultâneos expressiva.
  • --EnableCertbot: ativa a integração do Engine com o Certbot. Essa opção também pode ser ativada informando a variável de ambiente NGIN_CERTBOT_ENABLED com o valor 1. Mais detalhes da integração no manual Configuração do HTTPS no Engine.

Modificação de bibliotecas Open Source

O Engine utiliza a versão LGPL do Framework Qt, sendo assim permitido aos seus usuários o acesso ao seu código fonte, assim como a possibilidade de o modificar, se assim desejarem, e usar a versão alterada no Engine desde que sua Application Binary Interface não tenha sido alterada. Para que o Engine não substitua a versão modificada das bibliotecas pela versão distribuída na instalação, é necessário acrescentar nos parâmetros do seu atalho o argumento -nu. É importante ressaltar que o suporte padrão não dá cobertura para o uso do Engine com versões não homologadas de suas bibliotecas.