Desenvolvendo APIs REST com o Talend ESB

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.

2 thoughts on “Desenvolvendo APIs REST com o Talend ESB”

  1. Avatar
    MuriloCunha

    Anselmo,

    Caracas, mano!
    Voce de continuar este trabalho de ensino de Talend.
    Em dois dos seus trabalhos (video no YouTube e este artigo) nao conhecia VARIAS funcionalidades!
    Entao, continue este trabalho. Estou adorando.
    Conteudo INTERESSANTE e CLARO para aprendizagem.

    Obrigado
    MuriloCunha

  2. Pingback: Desenvolvendo APIs REST de Upload com o Talend ESB » Data Expertz

Leave a Comment

Your email address will not be published. Required fields are marked *