Árvore de páginas

Versões comparadas

Chave

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

O que é

O componente FTP oferece funcionalidades para realizar operações de transferência de arquivos usando o protocolo FTP. Com este componente, você pode se conectar a servidores FTP para realizar operações como upload, download e listagem de arquivos.

Uso do componente

Antes de configurar o componente, é necessário cadastrar o ambiente de configuração na página de componentes do produto. Acesse o menu Ferramentas, e clique no submenu Componentes.

Image Added


Ao clicar em cadastrar configuração, será necessário adicionar o nome da configuração, o protocolo desejado (FTPS), o servidor, a porta, o usuário e a senha, respectivamente. 


Image Added


Agora, com o ambiente de configuração cadastrado, basta configurar o componente no diagrama desejado. Ao clicar em configurações do componente, será necessário inserir o Nome que deseja dar ao mesmo, selecionar o ambiente de configuração criado e selecionar o serviço desejado, podendo ser: Listar arquivos, upload de arquivos e download de arquivos.  


Image Added

As funcionalidades do componente de FTP são executadas por um microsserviço (ipass-ftp) que é chamado via API REST pela Engine.

Esse microsserviço contém contém um schema de banco de dados próprio.
Além disso ele possui 3 escopos principais:

1. Gestão do Cadastro de Configurações
Toda vez que é criada, alterada ou removida alguma configuração de componente (conta) de FTP no Core, essa atualização é repassada para o ipaas-ftp. O banco do ipaas-ftp não é um espelho fiel do Core, nele contém somente os dados necessário para efetuar a conexão com os servidores FTP, enquanto que no Core possui mais detalhes.

2. Gestão do Cache das Conexões com o servidores FTP
Por questões de performance e consumo de recursos, o ipaas-ftp possui um cache com as conexões com os servidores FTP. O cache de cada conexão possui um TTL de 24 horas, e após esse prazo ele é invalidado. A invalidação do cache ocorre também nos casos onde o cadastro da configuração usada na conexão sofre alguma alteração.

3. Execução do componente FTP
Atualmente o ipaas-ftp suporta os protocolos FTP e FTPS, mas está previsto o suporte a SFTP.
As funcionalidades disponíveis para cada protocolo são:

  • Listar arquivo de uma pasta;
  • Efetuar o download de 1 arquivo por vez, com a possibilidade de remover ele o arquivo do servidor FTP após o download ou não;
  • Efetuar o upload de 1 arquivo por vez.

Escalabilidade
O ipaas-ftp está preparado para funcionar com 1 ou mais nós simultâneamente.
Justamente por isso que é utilizado o RabbitMQ em sua arquitetura, para que todos os nós fiquem cientes de qualquer alteração que ocorra nas configurações de componente, garantindo assim uma gestão eficiente do cache de conexões.

Particularidades do FTP
Durante testes de carga notamos que os servidores de FTP não permitem que seja efetuada 2 ações com o mesmo usuário em paralelo. Por algum motivo o protocolo é single thread nesse quesito.
Para evitar problemas de concorrência nos servidores FTP dos clientes, e consequentemente erro na execução dos diagramas, foram aplicados blocos de código com synchronized e também foram implementado retry nos métodos críticos. Essa solução tem uma boa margem para melhorias, mas por enquanto é a solução viável que identificamos.

...