Desenvolvendo APIs REST com o Talend ESB

Compartilhe este post

Hoje vamos falar sobre desenvolvimento de APIs REST com o Talend ESB. Embora o conceito de APIs REST exista há mais de 20 anos e seja a base da web como conhecemos, a ascensão dos aplicativos mobile fez com que esse tema voltasse à popularidade. Além disso, o processo de Transformação Digital que vivenciamos provocou uma maior necessidade por Governança dos Dados e o desenvolvimento de serviços orientados à recursos proporciona uma melhor gestão destes ativos.

As APIs REST facilitam a implementação de um conjunto de ações para operar os ativos de dados denominado como CRUD: Create, Read, Update e Delete. Desta forma, podemos manusear as entidades de negócio como por exemplo uma entidade Cliente ou Fornecedor. Estas ações são geralmente associadas à verbos HTTP já conhecidos por qualquer navegador web: POST, GET, PUT e DELETE. Assim, baseando-se em conceitos tradicionais, a arquitetura destes serviços é simplificada e mais fácil de integrar entre quaisquer aplicações.

Neste artigo vamos demonstrar uma API que representará uma entidade Cliente com uma única operação, que irá receber um nome e produzir uma mensagem de boas vindas. Este é um exemplo básico de como um serviço poderia efetuar a inscrição de um novo usuário ou o login de um existente e, a partir dos argumentos recebidos, retornar uma mensagem para um app ou qualquer tipo de aplicação.

Mão na Massa

Vamos demonstrar como é simples implementar este tipo de APIs REST com o Talend ESB, desenvolvendo uma API simples. Tudo começa com dois componentes essenciais que você sempre irá utilizar para este tipo de desenvolvimento: tRESTRequest e tRESTResponse.

Talend ESB
tRESTRequest e tRESTResponse: guarde esses nomes.

O próximo passo é configurar no componente tRESTRequest o Endpoint que será a URL base do serviço. A partir desta URL é que as aplicações irão interagir com o serviço como se estivessem acessando uma página web, por exemplo:

http://ip_do_servidor/Cliente/

Em seguida realizamos o mapeamento de recursos disponibilizados pela API. Estes recursos são as URLs relativas do serviço e, associadas aos verbos HTTP, irão determinar as operações disponibilizadas pelo serviço. Por exemplo:

GET http://ip_do_servidor/Cliente/Anselmo
GET http://ip_do_servidor/Cliente?nome=Anselmo
POST http://ip_do_servidor/Cliente/

Neste último exemplo, tratando-se de um verbo POST, poderíamos enviar um corpo de mensagem contendo os dados de um Cliente para efetuar seu cadastro e assim escrever em um banco de dados ou na aplicação CRM.

Talend ESB
Configuração do componente tRESTRequest.

Observe que na imagem acima nós determinamos o Endpoint com a String “Cliente/” e em REST API Mapping adicionamos um mapeamento onde especificamos o campo URI Pattern com o conteúdo “{nome}”. Para cada mapeamento é preciso configurar um schema – que irá determinar os parâmetros que este recurso irá receber – e neste schema nós especificamos uma única coluna que tem o mesmo nome especificado anteriormente em URI Pattern.

Schema do mapeamento adicionado anteriormente. Observe a coluna “nome”.

Conectando Tudo

Por fim, adicionamos um componente intermediário chamado tXMLMap, que irá mapear os argumentos recebidos pelo componente tRESTRequest (neste caso a coluna “nome”) para o retorno produzido pela API. Em seguida conectamos estes três componentes:

Talend ESB
Três componentes: tudo o que você precisa para desenvolver APIs REST simples com o Talend ESB.

No tXMLMap iremos mapear o nome recebido como parâmetro no tRESTRequest e configurar uma simples mensagem de boas vindas que será enviada ao tRESTResponse. Clique duas vezes no tXMLMap para abrir o mapeamento de colunas. Em seguida, arraste a coluna “nome” do lado esquerdo para o output do lado direito; ao fazer isso o Talend irá lhe “perguntar” como este mapeamento deve ser realizado: como sub-elemento ou como atributo. Selecione a primeira opção (“Create as sub-element of target node“) e então configure a expressão que irá preencher este elemento como abaixo:

Por dentro do tXMLMap.

Conclusão e testes da API

Isso é basicamente tudo o que você precisa fazer para desenvolver uma API REST com o Talend ESB. Agora podemos executar o job pressionando F6 e ao fazer isso você irá notar que o Talend Studio irá lhe informar qual é o Endpoint do serviço:

API REST em execução. Observe o destaque em verde com o Endpoint do serviço.

Você pode testar a API com o seu navegador preferido. Para isso, utilize como URL o Endpoint informado no Studio ao executar o job e, como configuramos no componente tRESTRequest uma URI relativa denominada “{nome}”, informe também um argumento com o seu nome, por exemplo:

API REST
Testando a API com seu navegador favorito.

Por fim, isso é só o começo para começar a desenvolver integrações sob um novo paradigma. Espero que tenha lhe ajudado nesse princípio de jornada, e se você quiser saber mais, inscreva-se em nossa newsletter ou entre em contato para falarmos sobre treinamentos.

Assine nossa newsletter

Fique por dentro das novidades mais recentes sobre o Talend e aprenda com nossos experts

Leia outros posts do nosso blog

Talend

Segundo job: PostgreSQL para Planilha Excel

Neste artigo iremos demonstrar como extrair dados de um banco de dados Postgresql e salvar em uma planilha do Microsoft Excel através do Talend Open

Talend

Acessando Web Services SOAP no Talend

A utilização de Web Services é comumente usada na integração e comunicação entre sistemas. Nesse artigo começaremos com uma breve introdução sobre Web Services, o que são, seu formato padrão e como podem ser utilizados, posteriormente, iremos aprender como realizar requisições a um Web Service utilizando o Talend com um exemplo prático usando um Web Service de captura de endereço através do CEP.

Para o desenvolvimento desse artigo iremos utilizar um Web Service pertencente ao pessoal do Byjg, que é um site que possui diversos serviços para diversas situações, dentre eles está o serviço de consulta de CEP, no qual podemos passar um CEP para ter como retorno o endereço, e vice-versa.

Quer acelerar a tomada de decisão com dados de qualidade?

Fale conosco agora mesmo!

Fale com nossos experts

O café é por nossa conta!