SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
Explorando MuleESB SFTP Adapter
Infelizmente eu ainda correr em muitas situações em que SFTP é necessária, a fim de trocar dados entre as
organizações. Estas organizações podem ser grandes bancos, empresas de folha de pagamento e até mesmo alguns
fornecedores de SaaS bem conhecidos. Eu pensei que seria um exercício interessante para explorar o que Mule tem
para oferecer nesta área particular.
Configuração simples
O cenário é um fluxo simples que vai nos receber um arquivo, ou mensagem, de um endpoint receber e directamente
enviando-o para um ponto de extremidade de envio sem qualquer tipo de fluxo de trabalho, orquestração ou
transformação.
Arquivo
gurar o nosso ponto final SFTP e podemos fazê-lo clicando sobre ele.
Caminho, Usuário e Senha
Nota: se você sua senha contém um "caráter especial" pode ser necessário para fornecer o equivalente HTML / XML.
Inicialmente, quando eu corri minha aplicação com um carácter especial (%) em minha senha eu tenho o seguinte erro:
INFO 2013-12-25 11:06:54,128 [main]org.mule.module.launcher.application.DefaultMuleApplication: App
‘helloworld’ never started, nothing to dispose of
Exception in thread “main” org.mule.module.launcher.DeploymentInitException: IllegalArgumentException:
URLDecoder: Illegal hex characters in escape (%) pattern – For input string: “@f”
atorg.mule.module.launcher.application.DefaultMuleApplication.init(DefaultMuleApplication.java:219)
atorg.mule.module.launcher.application.ApplicationWrapper.init(ApplicationWrapper.java:64)
atorg.mule.module.launcher.DefaultMuleDeployer.deploy(DefaultMuleDeployer.java:47)
atorg.mule.tooling.server.application.ApplicationDeployer.main(ApplicationDeployer.java:127)
 A solução foi descobrir o valor codificado de '%' que passa a ser '% 25'. Depois de eu ter o valor original com
este valor codificado foi bom velejar.
 Existem algumas outras abas que estão disponíveis, que serão posteriormente discutidos neste post, mas no
contexto de obter um arquivo simples para se mover, eles não são relevantes como parte deste cenário atual.
 Você pode estar se perguntando se é isso, então como posso especificar uma máscara de arquivo? Eu tive a
mesma pergunta e depois de algumas escavações eu descobri que este tipo de informação é especificado na
guia XML de configuração subjacente para esse fluxo.



presente. O que precisamos fazer agora é adicionar a seguinte declaração que vai permitir-nos para pegar ou
arquivos TXT ou arquivos xml:
 <File: padrão de ficheiros-wildcard-filter = ". *. Txt, * xml" />

 § Com a nossa configuração SFTP completa podemos agora concentrar-se na Endpoint Arquivo. Arraste esta
forma para a nossa tela se você não tiver feito isso.

padrão de saída que vai ditar o nome do arquivo. Neste caso, queremos manter o nome do arquivo original que
foi recebido através de SFTP por isso vamos usar a seguinte expressão para activar
esta:#[header:originalFilename].
 Com a sua aplicação configurada agora podemos escolher “Run as Mule Application”.
no servidor de origem SFTP usando um FTP GUI.
Isso conclui o exemplo muito simples de como usar o SFTP Endpoint em uma capacidade receptor.
Configuração avançada
Como mencionei anteriormente no post existem algumas características adicionais que eu notei que são interessantes e
queria explorar esses recursos um pouco mais.
Se navegar para a aba "Avançado" do ponto de extremidade SFTP vamos descobrir uma configuração de par que eu
não tenha visto em outras plataformas que eu acho que seria útil.
A primeira definição é "Age Arquivo", que permite que um desenvolvedor para especificar um período de tempo que
Mule vai esperar antes de mover o arquivo. Desde S / FTP não suporta o bloqueio de arquivos, plataformas de
middleware pode ser executado em condições de corrida, onde Middleware pode recuperar um arquivo antes de todo o
conteúdo ter sido escrito para o disco no servidor S / FTP. Para arquivos menores este não é muito de uma
preocupação, mas para arquivos maiores que muito é uma preocupação. Em algumas outras plataformas pode ser
necessário escrever um script que irá acrescentar uma extensão indicando que o arquivo foi escrito completamente e
pode ser processado pelo middleware.
Se houver mais de certeza em torno do tamanho de um arquivo (que é do mesmo tamanho todos os dias) você pode
usar o "Tamanho do check Tempo de Espera". No entanto, a idéia é a mesma, durante um ciclo de polling, se o
arquivo não cumprir este requisito não será movido até que cumpre os critérios.
Mover-se para a próxima guia de interesse é a guia "Arquivo". A primeira propriedade que queremos é olhar para o
"Diretório de Arquivo".
Quando um valor é definido no "Directório de Arquivo", Mule irá depositar automaticamente uma cópia do arquivo de
origem para a pasta de destino e a pasta de arquivo, conforme ilustrado abaixo:
O último recurso que eu quero discutir é o "Diretório Temp" propriedade. Esta propriedade, quando definido, será
utilizado no servidor de SFTP. Em nosso contexto (receber um arquivo) esta pasta irá ser criada automaticamente se
ele não existir, como ilustrado na imagem a seguir.
O que vai acontecer é que o nosso arquivo será movido para essa pasta no servidor SFTP antes Mule estaremos
copiando este arquivo via Mule. Do ponto de vista Enviar esta função é sem dúvida ainda mais valioso. Ao enviar,
Mule irá mover o arquivo para a pasta temp primeiro a garantir que ele tenha sido entregue na sua totalidade. Uma vez
que tenha sido movido completamente ele será movido da pasta Temp para a pasta de destino que é uma operação
muito mais seguro. Isto também assegura que um processo demorado (tal como um ERP) não tentará processar o
ficheiro enquanto está a ser escrito.
Outra característica que podemos tirar mais proveito do que se usar diretórios temporários está definindo o "Use Temp
Arquivo Timestamp sufixo" para garantir que temos os nomes de arquivo originais enquanto os arquivos que estão em
trânsito. Isto evita colisões com arquivos que já falharam e foram posteriormente tentada novamente, mas o arquivo
original já existe na pasta Temp.
Conclusão
Tenho vindo a utilizar S / Adaptadores de FTP (conectores) para muito poucos anos agora em outras
plataformas. Estou impressionado com as características que MuleSoft tem prestado fora da caixa. É muito
evidente que eles têm realmente pensou por um monte de os desafios que são inerentes quando a interface com
os servidores S / FTP.
A única coisa que gostaria de considerar a modificação está fazendo a configuração de máscara de arquivo
mais visíveis, como o faz parecer uma definição fundamental que deve estar em uma GUI.

Mais conteúdo relacionado

Mais procurados

Como criar um http proxy dinamico com mule parte 3
Como criar um http proxy dinamico com mule   parte 3Como criar um http proxy dinamico com mule   parte 3
Como criar um http proxy dinamico com mule parte 3Jeison Barros
 
Trabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleTrabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleJeison Barros
 
Introdução ao mule esb para iniciantes
Introdução ao mule esb para iniciantesIntrodução ao mule esb para iniciantes
Introdução ao mule esb para iniciantesJeison Barros
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1Jeison Barros
 
Substituindo o request message no mule
Substituindo o request message no muleSubstituindo o request message no mule
Substituindo o request message no muleJeison Barros
 
Exemplo caso de uso(Mulesoft)
Exemplo caso de uso(Mulesoft)Exemplo caso de uso(Mulesoft)
Exemplo caso de uso(Mulesoft)Guilherme Baccas
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorIntegração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorJeison Barros
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonJeison Barros
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBelliando dias
 
Redes servidor web
Redes servidor webRedes servidor web
Redes servidor webMauro Duarte
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8maxrosan
 
Servidores Web
Servidores Web Servidores Web
Servidores Web bastosluis
 
Integrando E-mail ao IBM Connections
Integrando E-mail ao IBM ConnectionsIntegrando E-mail ao IBM Connections
Integrando E-mail ao IBM Connectionsrodrigoareis
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Arquitetura funcional em microservices, 4 anos depois
Arquitetura funcional em microservices, 4 anos depoisArquitetura funcional em microservices, 4 anos depois
Arquitetura funcional em microservices, 4 anos depoisLucas Cavalcanti dos Santos
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPEduardo Cesar
 

Mais procurados (20)

Como criar um http proxy dinamico com mule parte 3
Como criar um http proxy dinamico com mule   parte 3Como criar um http proxy dinamico com mule   parte 3
Como criar um http proxy dinamico com mule parte 3
 
Trabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleTrabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do mule
 
Introdução ao mule esb para iniciantes
Introdução ao mule esb para iniciantesIntrodução ao mule esb para iniciantes
Introdução ao mule esb para iniciantes
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1
 
Substituindo o request message no mule
Substituindo o request message no muleSubstituindo o request message no mule
Substituindo o request message no mule
 
Exemplo caso de uso(Mulesoft)
Exemplo caso de uso(Mulesoft)Exemplo caso de uso(Mulesoft)
Exemplo caso de uso(Mulesoft)
 
Integração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conectorIntegração salesforce com mulesoft usando o salesforce conector
Integração salesforce com mulesoft usando o salesforce conector
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para json
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEB
 
Redes servidor web
Redes servidor webRedes servidor web
Redes servidor web
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
Servlet jsp tomcat 8
Servlet jsp tomcat 8Servlet jsp tomcat 8
Servlet jsp tomcat 8
 
Servidores Web
Servidores WebServidores Web
Servidores Web
 
Tutorial esb (aulas praticas)
Tutorial esb (aulas praticas)Tutorial esb (aulas praticas)
Tutorial esb (aulas praticas)
 
Servidor WEB
Servidor WEBServidor WEB
Servidor WEB
 
Servidores Web
Servidores Web Servidores Web
Servidores Web
 
Integrando E-mail ao IBM Connections
Integrando E-mail ao IBM ConnectionsIntegrando E-mail ao IBM Connections
Integrando E-mail ao IBM Connections
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Arquitetura funcional em microservices, 4 anos depois
Arquitetura funcional em microservices, 4 anos depoisArquitetura funcional em microservices, 4 anos depois
Arquitetura funcional em microservices, 4 anos depois
 
Interagindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHPInteragindo com web services RPC, SOAP e REST utilizando PHP
Interagindo com web services RPC, SOAP e REST utilizando PHP
 

Destaque

ESB TOTVS - Integração de Sistemas
ESB TOTVS - Integração de SistemasESB TOTVS - Integração de Sistemas
ESB TOTVS - Integração de SistemasBRAVA Tecnologia
 
My Brother the Devil (2012)
My Brother the Devil (2012)My Brother the Devil (2012)
My Brother the Devil (2012)harryhazell4
 
Overview of Mule Esb
Overview of Mule EsbOverview of Mule Esb
Overview of Mule Esbjaveed_mhd
 
Fish Tank Trailer Analysis
Fish Tank Trailer AnalysisFish Tank Trailer Analysis
Fish Tank Trailer AnalysisLMessider
 
Service orchestration and soa
Service orchestration and soaService orchestration and soa
Service orchestration and soaD.Rajesh Kumar
 
Mule Marketo Connector
Mule Marketo ConnectorMule Marketo Connector
Mule Marketo ConnectorAnkush Sharma
 
Геометрическое ядро C3D
Геометрическое ядро C3DГеометрическое ядро C3D
Геометрическое ядро C3DArkadiy Kamnev
 
Projectes d'Indagació i Projectes Interdisciplinaris. ABP per a la Competènci...
Projectes d'Indagació i Projectes Interdisciplinaris. ABP per a la Competènci...Projectes d'Indagació i Projectes Interdisciplinaris. ABP per a la Competènci...
Projectes d'Indagació i Projectes Interdisciplinaris. ABP per a la Competènci...jdomen44
 
Mule ESB - How to convert from Xml to Json in 5 minutes
Mule ESB - How to convert from Xml to Json in 5 minutesMule ESB - How to convert from Xml to Json in 5 minutes
Mule ESB - How to convert from Xml to Json in 5 minutesGennaro Spagnoli
 
Mule security - ldap for spring security
Mule  security - ldap for spring securityMule  security - ldap for spring security
Mule security - ldap for spring securityD.Rajesh Kumar
 
Αυτόχθονες λαοί - Λάπωνες
Αυτόχθονες λαοί - ΛάπωνεςΑυτόχθονες λαοί - Λάπωνες
Αυτόχθονες λαοί - Λάπωνεςparkouk Koukoulis
 
Avaluació d'Habilitats Científiques. Protocol TSS.
Avaluació d'Habilitats Científiques. Protocol TSS.Avaluació d'Habilitats Científiques. Protocol TSS.
Avaluació d'Habilitats Científiques. Protocol TSS.jdomen44
 
Anypoint mq (mulesoft) introduction
Anypoint mq (mulesoft)  introductionAnypoint mq (mulesoft)  introduction
Anypoint mq (mulesoft) introductionKarthik Selvaraj
 
Mule concepts filters scopes_routers
Mule concepts filters scopes_routersMule concepts filters scopes_routers
Mule concepts filters scopes_routerskunal vishe
 
Nuevas estrategias en el tratamiento de la hipertensión arterial pulmonar. ¿T...
Nuevas estrategias en el tratamiento de la hipertensión arterial pulmonar. ¿T...Nuevas estrategias en el tratamiento de la hipertensión arterial pulmonar. ¿T...
Nuevas estrategias en el tratamiento de la hipertensión arterial pulmonar. ¿T...Sociedad Española de Cardiología
 
Penislin,sefalosporin dan antibiotik beta laktam
Penislin,sefalosporin dan antibiotik beta  laktamPenislin,sefalosporin dan antibiotik beta  laktam
Penislin,sefalosporin dan antibiotik beta laktamfikri asyura
 
Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2Srikanth N
 

Destaque (20)

ESB TOTVS - Integração de Sistemas
ESB TOTVS - Integração de SistemasESB TOTVS - Integração de Sistemas
ESB TOTVS - Integração de Sistemas
 
My Brother the Devil (2012)
My Brother the Devil (2012)My Brother the Devil (2012)
My Brother the Devil (2012)
 
Eυρωτριγυρνάμε;
 Eυρωτριγυρνάμε;  Eυρωτριγυρνάμε;
Eυρωτριγυρνάμε;
 
Overview of Mule Esb
Overview of Mule EsbOverview of Mule Esb
Overview of Mule Esb
 
Fish Tank Trailer Analysis
Fish Tank Trailer AnalysisFish Tank Trailer Analysis
Fish Tank Trailer Analysis
 
Service orchestration and soa
Service orchestration and soaService orchestration and soa
Service orchestration and soa
 
Mule Marketo Connector
Mule Marketo ConnectorMule Marketo Connector
Mule Marketo Connector
 
Геометрическое ядро C3D
Геометрическое ядро C3DГеометрическое ядро C3D
Геометрическое ядро C3D
 
Projectes d'Indagació i Projectes Interdisciplinaris. ABP per a la Competènci...
Projectes d'Indagació i Projectes Interdisciplinaris. ABP per a la Competènci...Projectes d'Indagació i Projectes Interdisciplinaris. ABP per a la Competènci...
Projectes d'Indagació i Projectes Interdisciplinaris. ABP per a la Competènci...
 
Mule ESB - How to convert from Xml to Json in 5 minutes
Mule ESB - How to convert from Xml to Json in 5 minutesMule ESB - How to convert from Xml to Json in 5 minutes
Mule ESB - How to convert from Xml to Json in 5 minutes
 
Mulesoft
MulesoftMulesoft
Mulesoft
 
Mule security - ldap for spring security
Mule  security - ldap for spring securityMule  security - ldap for spring security
Mule security - ldap for spring security
 
Αυτόχθονες λαοί - Λάπωνες
Αυτόχθονες λαοί - ΛάπωνεςΑυτόχθονες λαοί - Λάπωνες
Αυτόχθονες λαοί - Λάπωνες
 
Avaluació d'Habilitats Científiques. Protocol TSS.
Avaluació d'Habilitats Científiques. Protocol TSS.Avaluació d'Habilitats Científiques. Protocol TSS.
Avaluació d'Habilitats Científiques. Protocol TSS.
 
Anypoint mq (mulesoft) introduction
Anypoint mq (mulesoft)  introductionAnypoint mq (mulesoft)  introduction
Anypoint mq (mulesoft) introduction
 
Mule concepts filters scopes_routers
Mule concepts filters scopes_routersMule concepts filters scopes_routers
Mule concepts filters scopes_routers
 
Nuevas estrategias en el tratamiento de la hipertensión arterial pulmonar. ¿T...
Nuevas estrategias en el tratamiento de la hipertensión arterial pulmonar. ¿T...Nuevas estrategias en el tratamiento de la hipertensión arterial pulmonar. ¿T...
Nuevas estrategias en el tratamiento de la hipertensión arterial pulmonar. ¿T...
 
Penislin,sefalosporin dan antibiotik beta laktam
Penislin,sefalosporin dan antibiotik beta  laktamPenislin,sefalosporin dan antibiotik beta  laktam
Penislin,sefalosporin dan antibiotik beta laktam
 
Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2Mule ESB Tutorial Part 2
Mule ESB Tutorial Part 2
 
Preguntes que fan pensar
Preguntes que fan pensar Preguntes que fan pensar
Preguntes que fan pensar
 

Semelhante a Explorando mule esb sftp adapter

40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetosFrancisco Santos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetosFer Nando
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetosFabiano Rodrigues
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Jeison Barros
 
Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1Jeison Barros
 
Seguranca informacao 1
Seguranca informacao 1Seguranca informacao 1
Seguranca informacao 1Nauber Gois
 
Integrando big data ao oltp com polybase
Integrando big data ao oltp com polybaseIntegrando big data ao oltp com polybase
Integrando big data ao oltp com polybaseDennes Torres
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopAlexei Znamensky
 
ConheçA O Apache 2.0 Parte 2
ConheçA O Apache 2.0   Parte 2ConheçA O Apache 2.0   Parte 2
ConheçA O Apache 2.0 Parte 2Felipe Santos
 
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOSPERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOSVanessa Finoto
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveiselliando dias
 

Semelhante a Explorando mule esb sftp adapter (20)

Cakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudouCakephp 2.0 - O que mudou
Cakephp 2.0 - O que mudou
 
Funções do
Funções doFunções do
Funções do
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetos
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetos
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1
 
Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1Usando seu codigo java no mule part 1
Usando seu codigo java no mule part 1
 
Seguranca informacao 1
Seguranca informacao 1Seguranca informacao 1
Seguranca informacao 1
 
Html
HtmlHtml
Html
 
Node JS - Parte 2
Node JS - Parte 2Node JS - Parte 2
Node JS - Parte 2
 
Portfolio de serviços
Portfolio de serviçosPortfolio de serviços
Portfolio de serviços
 
Integrando big data ao oltp com polybase
Integrando big data ao oltp com polybaseIntegrando big data ao oltp com polybase
Integrando big data ao oltp com polybase
 
Apresentando o HTML
Apresentando o HTMLApresentando o HTML
Apresentando o HTML
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl Workshop
 
Dawi o protocolo-http
Dawi o protocolo-httpDawi o protocolo-http
Dawi o protocolo-http
 
Procergs php-seguro
Procergs php-seguroProcergs php-seguro
Procergs php-seguro
 
ConheçA O Apache 2.0 Parte 2
ConheçA O Apache 2.0   Parte 2ConheçA O Apache 2.0   Parte 2
ConheçA O Apache 2.0 Parte 2
 
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOSPERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
PERSISTÊNCIA DAS INFORMAÇÕES DE ARQUIVOS EXCLUÍDOS
 
Desenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveisDesenvolvendo aplicações Web escaláveis
Desenvolvendo aplicações Web escaláveis
 

Mais de Jeison Barros

Introdução a RAML - parte 1
Introdução a RAML -  parte 1Introdução a RAML -  parte 1
Introdução a RAML - parte 1Jeison Barros
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soapJeison Barros
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial -  parte 1Restful considerada prejudicial -  parte 1
Restful considerada prejudicial - parte 1Jeison Barros
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial   parte 2Restful considerada prejudicial   parte 2
Restful considerada prejudicial parte 2Jeison Barros
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e designJeison Barros
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcJeison Barros
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosJeison Barros
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Jeison Barros
 
Consumindo soap wsdl
Consumindo soap wsdlConsumindo soap wsdl
Consumindo soap wsdlJeison Barros
 
Começando com mulesoft e maven
Começando com mulesoft e mavenComeçando com mulesoft e maven
Começando com mulesoft e mavenJeison Barros
 
Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Jeison Barros
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationFluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationJeison Barros
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Jeison Barros
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkJeison Barros
 
Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2Jeison Barros
 

Mais de Jeison Barros (17)

Pdfteste
PdftestePdfteste
Pdfteste
 
Introdução a RAML - parte 1
Introdução a RAML -  parte 1Introdução a RAML -  parte 1
Introdução a RAML - parte 1
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soap
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial -  parte 1Restful considerada prejudicial -  parte 1
Restful considerada prejudicial - parte 1
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial   parte 2Restful considerada prejudicial   parte 2
Restful considerada prejudicial parte 2
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e design
 
Rest api vs SOAP
Rest api vs SOAPRest api vs SOAP
Rest api vs SOAP
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2
 
Consumindo soap wsdl
Consumindo soap wsdlConsumindo soap wsdl
Consumindo soap wsdl
 
Começando com mulesoft e maven
Começando com mulesoft e mavenComeçando com mulesoft e maven
Começando com mulesoft e maven
 
Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationFluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplication
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunk
 
Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2Usando seu codigo java no mule part 2
Usando seu codigo java no mule part 2
 

Explorando mule esb sftp adapter

  • 1. Explorando MuleESB SFTP Adapter Infelizmente eu ainda correr em muitas situações em que SFTP é necessária, a fim de trocar dados entre as organizações. Estas organizações podem ser grandes bancos, empresas de folha de pagamento e até mesmo alguns fornecedores de SaaS bem conhecidos. Eu pensei que seria um exercício interessante para explorar o que Mule tem para oferecer nesta área particular. Configuração simples O cenário é um fluxo simples que vai nos receber um arquivo, ou mensagem, de um endpoint receber e directamente enviando-o para um ponto de extremidade de envio sem qualquer tipo de fluxo de trabalho, orquestração ou transformação. Arquivo gurar o nosso ponto final SFTP e podemos fazê-lo clicando sobre ele. Caminho, Usuário e Senha Nota: se você sua senha contém um "caráter especial" pode ser necessário para fornecer o equivalente HTML / XML. Inicialmente, quando eu corri minha aplicação com um carácter especial (%) em minha senha eu tenho o seguinte erro: INFO 2013-12-25 11:06:54,128 [main]org.mule.module.launcher.application.DefaultMuleApplication: App ‘helloworld’ never started, nothing to dispose of Exception in thread “main” org.mule.module.launcher.DeploymentInitException: IllegalArgumentException: URLDecoder: Illegal hex characters in escape (%) pattern – For input string: “@f” atorg.mule.module.launcher.application.DefaultMuleApplication.init(DefaultMuleApplication.java:219) atorg.mule.module.launcher.application.ApplicationWrapper.init(ApplicationWrapper.java:64) atorg.mule.module.launcher.DefaultMuleDeployer.deploy(DefaultMuleDeployer.java:47) atorg.mule.tooling.server.application.ApplicationDeployer.main(ApplicationDeployer.java:127)  A solução foi descobrir o valor codificado de '%' que passa a ser '% 25'. Depois de eu ter o valor original com este valor codificado foi bom velejar.
  • 2.  Existem algumas outras abas que estão disponíveis, que serão posteriormente discutidos neste post, mas no contexto de obter um arquivo simples para se mover, eles não são relevantes como parte deste cenário atual.  Você pode estar se perguntando se é isso, então como posso especificar uma máscara de arquivo? Eu tive a mesma pergunta e depois de algumas escavações eu descobri que este tipo de informação é especificado na guia XML de configuração subjacente para esse fluxo.    presente. O que precisamos fazer agora é adicionar a seguinte declaração que vai permitir-nos para pegar ou arquivos TXT ou arquivos xml:  <File: padrão de ficheiros-wildcard-filter = ". *. Txt, * xml" />   § Com a nossa configuração SFTP completa podemos agora concentrar-se na Endpoint Arquivo. Arraste esta forma para a nossa tela se você não tiver feito isso.  padrão de saída que vai ditar o nome do arquivo. Neste caso, queremos manter o nome do arquivo original que foi recebido através de SFTP por isso vamos usar a seguinte expressão para activar esta:#[header:originalFilename].  Com a sua aplicação configurada agora podemos escolher “Run as Mule Application”.
  • 3. no servidor de origem SFTP usando um FTP GUI. Isso conclui o exemplo muito simples de como usar o SFTP Endpoint em uma capacidade receptor. Configuração avançada Como mencionei anteriormente no post existem algumas características adicionais que eu notei que são interessantes e queria explorar esses recursos um pouco mais. Se navegar para a aba "Avançado" do ponto de extremidade SFTP vamos descobrir uma configuração de par que eu não tenha visto em outras plataformas que eu acho que seria útil. A primeira definição é "Age Arquivo", que permite que um desenvolvedor para especificar um período de tempo que Mule vai esperar antes de mover o arquivo. Desde S / FTP não suporta o bloqueio de arquivos, plataformas de middleware pode ser executado em condições de corrida, onde Middleware pode recuperar um arquivo antes de todo o conteúdo ter sido escrito para o disco no servidor S / FTP. Para arquivos menores este não é muito de uma preocupação, mas para arquivos maiores que muito é uma preocupação. Em algumas outras plataformas pode ser necessário escrever um script que irá acrescentar uma extensão indicando que o arquivo foi escrito completamente e pode ser processado pelo middleware. Se houver mais de certeza em torno do tamanho de um arquivo (que é do mesmo tamanho todos os dias) você pode usar o "Tamanho do check Tempo de Espera". No entanto, a idéia é a mesma, durante um ciclo de polling, se o arquivo não cumprir este requisito não será movido até que cumpre os critérios.
  • 4. Mover-se para a próxima guia de interesse é a guia "Arquivo". A primeira propriedade que queremos é olhar para o "Diretório de Arquivo". Quando um valor é definido no "Directório de Arquivo", Mule irá depositar automaticamente uma cópia do arquivo de origem para a pasta de destino e a pasta de arquivo, conforme ilustrado abaixo:
  • 5. O último recurso que eu quero discutir é o "Diretório Temp" propriedade. Esta propriedade, quando definido, será utilizado no servidor de SFTP. Em nosso contexto (receber um arquivo) esta pasta irá ser criada automaticamente se ele não existir, como ilustrado na imagem a seguir. O que vai acontecer é que o nosso arquivo será movido para essa pasta no servidor SFTP antes Mule estaremos copiando este arquivo via Mule. Do ponto de vista Enviar esta função é sem dúvida ainda mais valioso. Ao enviar, Mule irá mover o arquivo para a pasta temp primeiro a garantir que ele tenha sido entregue na sua totalidade. Uma vez que tenha sido movido completamente ele será movido da pasta Temp para a pasta de destino que é uma operação muito mais seguro. Isto também assegura que um processo demorado (tal como um ERP) não tentará processar o ficheiro enquanto está a ser escrito. Outra característica que podemos tirar mais proveito do que se usar diretórios temporários está definindo o "Use Temp Arquivo Timestamp sufixo" para garantir que temos os nomes de arquivo originais enquanto os arquivos que estão em trânsito. Isto evita colisões com arquivos que já falharam e foram posteriormente tentada novamente, mas o arquivo original já existe na pasta Temp. Conclusão Tenho vindo a utilizar S / Adaptadores de FTP (conectores) para muito poucos anos agora em outras plataformas. Estou impressionado com as características que MuleSoft tem prestado fora da caixa. É muito evidente que eles têm realmente pensou por um monte de os desafios que são inerentes quando a interface com os servidores S / FTP. A única coisa que gostaria de considerar a modificação está fazendo a configuração de máscara de arquivo mais visíveis, como o faz parecer uma definição fundamental que deve estar em uma GUI.