Você já ouviu falar de BFF em computação, mas não tem ideia do que se trata? Aqui vamos mostrar como aplicar esse padrão de design a um pipeline usando a linguagem Swift, na plataforma Kitura.

Backend to Frontend

Diferente do que possa parecer, BFF não significa “melhores amigos para sempre” (best friends forever). Esse é um padrão de design criado pelo desenvolvedor Phil Calçado, que apresenta uma solução de como inserir os recursos poderosos de uma API em um ambiente não compatível (tanto tecnológica quanto estruturalmente) ou o contrário — inserir uma API antiga em um ambiente mais moderno.

A ideia é que essa estrutura de abstração, o BFF, consiga fazer o intermédio de dados trafegados entre o sistema sem que isso quebre alguma funcionalidade. Embora essa seja uma solução interessante, esse modelo torna possível o uso dentro de sistemas mais desenvolvidos, com APIs mais robustas. Como o desenvolvimento de funcionalidades para um sistema sempre é crescente, e cada vez mais essas APIs são criadas com várias interdependências de entrada/saída, podemos usar o BFF para auxiliar o tráfego de informação.

Kitura

O Kitura é um framework de desenvolvimento para Swift server-side (de maneira semelhante ao que o Node.js é para o JavaScript), que roda em Linux e MacOS. Com ele, você consegue construir com velocidade APIs usando o Swift, para que se comuniquem com os serviços de sua aplicação.

Nesse exemplo (que pode ser encontrado no website do Kitura), é mostrado como escrever o clássico “Hello World”. Vamos ao primeiro passo, usando um MacOS:

  • 1 - Baixe o aplicativo do Kitura para MacOS.
  • 2 - Uma vez que ele tenha sido baixado e instalado, execute o arquivo Starter e nomeie seu projeto usando a caixa de diálogo como desejar. Aqui, vamos usar o exemplo OiKitura.
  • 3 - Edite o arquivo Sources/Application/Application.swift e adicione o seguinte código depois da função postInit()

// Captura requisições GET

router.get("/") { req, res, next in

  res.send("Oi, Mundo!")

  next()

}

  • 4 - Edite o modo de build do Xcode para que ele selecione o OiKitura como o executável.
  • 5 - Clique em Command-R para fazer o build da sua aplicação.
  • 6 - Abra seu browser no endereço http://localhost:8080
  • 7 - Você verá a string “Oi Mundo!” na tela.

Naturalmente, essa é uma versão elementar de um código em Swift e de como o Kitura funciona. Aliando o padrão de design BFF e o Kitura, é possível fazer subir APIs de maneira fácil e rápida. O próprio site da IBM conta com vários guias de desenvolvimento que auxiliam o desenvolvedor a subir uma instância funcional.

...

Você participou da experiência IBM Profile Definer? Conte aqui para a gente o que você achou!