Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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.


Informações
iconfalse

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

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


Page Banner
imagehttps://tdn.totvs.com/download/attachments/321291331/image2020-7-24_8-48-38.png?version=1&modificationDate=1595591318497&api=v2
actionTitleAcesse aqui
actionUrlhttps://tdn.totvs.com/pages/releaseview.action?pageId=321291331
button-linkhttps://tdn.totvs.com/x/Q4QmEw
button-textAcesse a página
descriptionComo configurar os Aplicativos no EAI2
titleEAI Aplicativos


Card documentos
InformacaoSomente 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). 
TituloAcessos ao monitor

Painel
borderStyledashed

Por exemplo:

No produto Datasul é necessário criar um usuário do Tipo EAI.

OBS: Utilizar para isso, o programa Manutenção de Usuários (SEC000AA).



Card documentos
InformacaoO Monitor Unificado da Mensagem Padronizada foi construído para funcionar independente 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.
TituloTermos Comuns
 

Painel
borderStyledashed

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.


Painel
borderColororange
bgColorlightgrey
borderStyledashed

.

Vamos ao MONITOR!!!



WIZARD

Painel
borderColororange
borderStyledashed


Card documentos
InformacaoA 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.
TituloPasta com fontes do Monitor EAI


 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

Painel
borderColororange
borderStyledashed


Nesta tela deve ser informado o servidor HTTP e a porta REST do ambiente desejado (neste caso, 8080). Após preencher os dados, clique em Carregar, complete os dados relativos aos aplicativos externos, e realize o download do arquivo de configuração, conforme demonstrado a seguir:


Arquivo JSON

Painel
borderColororange
borderStyledashed


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

Painel
borderColororange
borderStyledashed


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)

Painel
borderColororange
borderStyledashed


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

Painel
borderColororange
borderStyledashed


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

Aviso
iconfalse

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:

Informações
iconfalse
EXTERNAL_APPS_URL: '/config/monitor-url-list.json',

Configuração do arquivo SERVER.XML

Painel
borderColororange
borderStyledashed


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

Bloco de código
languagexml
themeEclipse
linenumberstrue
<?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>
Aviso
titleImportante - 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.

Bloco de código
languagexml
themeEclipse
titledatasul-valve
linenumberstrue
<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" />




Product_template
DescOlá, Boas vindas!
Monitor EAI2