Árvore de páginas


Instruções para realizar a configuração do Monitor EAI2 na arquitetura do Datasul


Objetivo


Esta documentação tem a finalidade de servir como uma guia no momento da configuração do Monitor EAI2 na arquitetura TOMCAT.

Para tanto, abaixo segue as instruções para que o novo monitor seja executado corretamente.





Antes de configurar o Monitor do EAI2, dê uma olhadinha em como criar os Aplicativos Internos e Externos dentro do produto Datasul.

No quadro a seguir você pode acessar a documentação que auxilia na criação de Aplicativos externos bem como a edição do Aplicativo interno.



EAI Aplicativos

Como configurar os Aplicativos no EAI2

Acesse aqui




Acessos ao monitor

Somente determinados usuários possuem acesso ao monitor unificado do EAI.

Para acessar o monitor é necessário um usuário previamente existente no aplicativo interno (ERP). 

Para isso:

  • No produto Datasul é necessário criar um usuário do Tipo EAI;
  • Abra o programa Manutenção de Usuários (SEC000AA);
  • No momento de criação do usuário, selecione a opção EAI.

Termos Comuns

O Monitor EAI foi construído para funcionar independentemente da tecnologia adotada em cada produto TOTVS.

Construído e pensado para a Web, ele apenas precisa de um servidor HTTP para sua instalação.

A partir deste ponto, os seguintes termos serão usados:

  • Aplicativo - Produto integrado;
  • JSON - Java Script Object Notation - o formato de objetos de Javascript (mas não utilizada somente por ele);
  • Aplicativo Interno - Produto no qual o Monitor Unificado está ligado;
  • Aplicativo externo - Produto ao qual o aplicativo interno se integra.


.

VAMOS AO MONITOR!!!



Antes de tudo!



A primeira tarefa a se fazer antes de começar a configurar o monitor, é realizar a conferência das informações dentro do produto DATASUL.

  • Para isso é preciso acessar o programa html.aplicativos-eai e conferir o NOME do Aplicativo interno cadastrado.

Segue exemplo:

  • Na sequência realizar a conferência das propriedades do EAI2 no produto, ou até mesmo a criação dessas propriedades.

Segue exemplo:

IMPORTANTE!

A informação mais importante nesta etapa é conferir o nome do Aplicativo Interno, tanto no programa de cadastro do aplicativo como nas propriedades.

ESSES NOMES DEVEM SER O MESMO


  • Caso esses nomes não sejam os mesmos, quando o monitor for configurado, essas informações irão confundir a configuração e os dados apresentados serão inconsistentes.



WIZARD




Pasta com fontes do Monitor EAI

A partir da versão 12.1.18 do Datasul, os fontes do Monitor EAI são expedidos junto com o produto e podem ser encontrados em: Framework Tomcat: <Pasta_Datasul>/<Pasta_Tomcat>/webapps/totvseai-monitor.

Podem ser encontrados na pasta do Tomcat: <Pasta_Datasul>/<Pasta_Tomcat>/webapps/totvseai-monitor.




  •  Acesse o endereço http://<servidor>:<porta>/totvseai-monitor/index.html, onde <servidor> é endereço da máquina onde o Datasul está instalado e <porta> é a porta de instalação do produto (por exemplo: 8080).

A tela do wizard abaixo será apresentada para a configuração do arquivo monitor-url-list.json.

lembrando que este arquivo deve ser copiado para a pasta config situada dentro da pasta relativa ao monitor, conforme indicado no quadro acima



Preenchimento dos dados



Nesta tela deve ser informado o servidor HTTP e a porta REST do ambiente desejado (neste caso, 8080).

  • É preciso informar usuário e senha para conectar na URL, e clicar no botão Carregar.


  • Quando o monitor é acionado em um ambiente limpo, os dados iniciais do configurador serão obtidos a partir URL informada no campo URL Serviço Monitor. 

Caso precise refazer o arquivo monitor-url-list.json, basta retirá-lo/apagá-lo da pasta config e assim o wizard será apresentado novamente.


  • A partir daí, a tela de configuração é preenchida com as informações faltantes, como a lista dos aplicativos externos. Depois disso, é possível ajustar as informações sugeridas como, por exemplo, as URLs de serviços do monitor dos aplicativos externos listados.

Dependendo do aplicativo externo, é preciso informar o usuário e senha, assim como é feito no momento de cadastrar um App Externo no produto Datatsul.

  • Realize o download do arquivo de configuração, conforme indicado na barra inferior do wizard.
  • Quando o monitor já está configurado, o wizard mostra os dados constantes no arquivo monitor-url-list.json. É possível alterar informações como usuário e senha, bem como os dados de conexão com os aplicativos externos (URL, usuário e senha).


Arquivo JSON



O arquivo baixado deve ser copiado para o diretório \totvseai-monitor\config no servidor Datasul, mantendo, impreterivelmente, o nome de monitor-url-list.json

Caso seja necessário colocar o arquivo de configuração em outra pasta, consulte a seção, Alteração do local do Arquivo ao final deste documento.


Acesso ao Monitor



Depois de executar todos os procedimentos, basta realizar o acesso a página principal do Monitor EAI e o mesmo estará pronto para utilização. Observação: O login deve ser realizado de acordo com o conteúdo informado nos campos Usuário e Senha da tela do Wizard.




Sobre o arquivo de configuração (monitor-url-list.json)



O arquivo monitor-url-list.json, situado na pasta config, é fundamental para o correto funcionamento do monitor. Nele estarão contidos todos os aplicativos referenciados numa integração, sejam internos ou externos. Um aplicativo é descrito através de um JSON contendo os seguintes atributos:

Nome do Aplicativo: Este nome, no Datasul, é composto pelo nome do environment utilizado (em upper case), seguido de @ e DATASUL. Para os demais produtos, usar, depois do @ PROTHEUS, LOGIX ou RM, conforme aplicação.
O nome será um atributo do tipo Objeto JSON, que por sua vez, conterá os seguintes atributos:

  1. monitorURL: Deve seguir o mesmo endereço HTTP utilizado no produto
  2. isActive: Deve existir e ter valor igual a true somente para o aplicativo interno onde o monitor estiver embarcado.

  3. userCode: Usuário necessário para acessar os serviços de monitoramento do aplicativo interno (deve estar em base64).

  4. password: Senha necessária para acessar os serviços de monitoramento do aplicativo interno (deve estar em base64).

  5. externalApps: Atributo do tipo array de caracteres, contendo o identificador do aplicativo. Por exemplo: APP_LOGIX@LOGIX.

Os demais aplicativos devem ser referenciados usando as orientações acima. Abaixo, um exemplo de configuração do arquivo, onde um DATASUL com um environment de nome APP_INTERNO, no grupo de , comunica-se com um LOGIX com environment de nome APP_EXTERNO_1:

Exemplo de configuração do arquivo monitor-url-list.json

{
    "APP_INTERNO@DATASUL" : {

                 "monitorURL": "http://localhost:8080",
        "isActive" : "true",
        "userCode" : "j50dkke3=",
        "password" : "j068k2jo="
        "externalApps" : ["APP_EXTERNO_1@LOGIX"]
    },
    "APP_EXTERNO_1@LOGIX" : {
        "userCode" : "Uj3O9=",
        "password" : "THi3L3=",
        "externalApps" : ["APP_EXTERNO@DATASUL"]
    }
}



Alteração do local do arquivo



Há situações onde o local padrão do arquivo monitor-url-list.json (/totvseai-monitor/config) não é a mais conveniente. Alguns exemplos são:

  • Ambientes de teste do monitor, onde a atualização do pacote é frequente.

  • Necessidade de compartilhar o arquivo sem ter que expor toda a pasta de fontes do monitor.

Por conta disso, é possível alterar o local padrão realizando ajuste do arquivo totvs-app.constant.js, situado na pasta totvseai-monitor/js. Neste arquivo, deve-se ajustar o valor da propriedade (ou variável) EXTERNAL_APPS_URL para apontar para um novo local, o qual deve estar visível como um endereço WEB.

Por exemplo: supondo que o monitor esteja hospedado no servidor http://localhost:8080, e que a nova localização do arquivo seja uma pasta chamada ...\<diretório_tomcat>\config, o arquivo de configuração deve estar acessível pelo navegador de internet usando o endereço http://localhost:8080/config/monitor-url-list.json

A nova pasta precisa estar na estrutura do TOMCAT para ser visível com um endereço web pelo servidor. Além disso, precisa ser referenciado no arquivo server.xml, conforme o passo 7, a seguir 

Logo, a variável deve ser alterada para:

EXTERNAL_APPS_URL: '/config/monitor-url-list.json',



Configuração do arquivo SERVER.XML



Dependendo do servidor WEB que hospeda o monitor de EAI, será necessário ajustar algumas configurações para criação da pasta externa ao pacote padrão do aplicativo. Para saber como proceder este ajuste em servidores de aplicação TOTVS, verifique abaixo:


Procedimentos necessários no servidor de aplicação Tomcat para disponibilizar conteúdo estático (HTML, imagens, etc.) que não esteja necessariamente vinculado em uma aplicação Web Java (.war).

Procedimentos

  1. Se julgar necessário, crie um diretório na máquina que hospeda o servidor Tomcat.
  2. Edite o arquivo server.xml, geralmente situado em <dir_instalação_tomcat>/conf.
  3. Localize a tag <Host> e dentro dela inclua a tag <Context> seguindo o template abaixo:
    <Context path="<caminho usado na URL para a pasta>" docBase="<pasta no servidor>"></Context>
    Em <caminho usado na URL para a pasta>, informe um valor qualquer, por exemplo, "config".
    Em <pasta no servidor>, informe o caminho completo da pasta criada no item 1. Pode-se informar um caminho relativo a pasta bin, por exemplo, "../config", que seria o mesmo que "<dir_instalacao_tomcat>/config".
  4. Salve o arquivo e reinicie o Tomcat.
  5. Coloque o conteúdo que desejar na pasta criada no item 1.

Exemplos

Server.xml após ajuste

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener"/>
  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"/>
  <GlobalNamingResources>
    <Resource auth="Container" 
              description="User database that can be updated and saved" 
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory" 
              name="UserDatabase" 
              pathname="conf/tomcat-users.xml" 
              type="org.apache.catalina.UserDatabase"/>
  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>

    <Engine defaultHost="localhost" name="Catalina">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
      </Realm>

      <Host appBase="webapps" autoDeploy="true" name="localhost" startStopThreads="3" unpackWARs="true">
		
		<!--  CONFIGURACAO DO EAI  -->
		<Context docBase="../config_files" path="/config" />

		<!--  CONFIGURACAO DO VALVE -->
        <Valve className="com.totvs.valve.TotvsCorsValve"
            allowHeaders="Content-Type,Accept,Accept-Language,Content-Language,Authorization,tenantId,userId,companyId,authorization,returnformatversion"
            contextsToValidate="/totvs-login,/totvs-rest,/dts,/api,/webexecbo,/totvseai-monitor"
            allowOrigin="http://localhost:8100"
            allowMethods="GET, POST, DELETE, PUT, PATCH, HEAD, OPTIONS"
            allowCredential="true" />
		
	  </Host>
    </Engine>
  </Service>
</Server>

Importante - VALVE

O produto DATASUL não permite requisições para servidores diferentes, para que não ocorram bloqueios das requisições pelo CORS é preciso configurar o Datasul-Valve, também no arquivo server.xml


A tag "Valve" deve estar configurada como o último elemento da tag "Host". Caso exista algum "Header" da request diferente dos informados anteriormente (allowHeaders), estes devem ser incluídos nessa tag.

datasul-valve
<Valve className="com.totvs.valve.TotvsCorsValve"
allowHeaders="Content-Type,Accept,Accept-Language,Content-Language,Authorization,tenantId,userId,companyId,authorization,returnformatversion"
contextsToValidate="/totvs-login,/totvs-rest,/dts,/api,/webexecbo,/totvseai-monitor"
allowOrigin="http://localhost:8100"
allowMethods="GET, POST, DELETE, PUT, PATCH, HEAD, OPTIONS"
allowCredential="true" />






Olá, Boas vindas!

 Numbers Vetores por Vecteezy - Acesse