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

Talend Studio: Usando variáveis de contexto

Olá, neste job mostraremos como definir variáveis de contexto no Talend Studio. Variáveis de contexto podem armazenar diretórios, configuração de banco de dados, enfim tipos

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

Fale conosco agora mesmo!

Fale com nossos experts

O café é por nossa conta!