O que é uma Arquitetura de Software sem Cabeça "Headless"? | Morettic

O que é uma Arquitetura de Software sem Cabeça “Headless”?

porLuis Augusto Moretto

O que é uma Arquitetura de Software sem Cabeça “Headless”?

O Termo Arquitetura Sem Cabeça faz referência ao Conhecido MVC orientado a serviços REST e Javascript Clients.

Arquitetura de software Headless
Arquitetura sem cabeça ou HEADLESS

Introdução

Uma “Arquitetura  de software sem cabeça ou headless” é conceito emergente da comunidade de desenvolvimento de software. 

Faz referência a aplicativos da Web que dividem o código fonte de forma limpa entre o código do Servidor  e Cliente.

No lado do servidor por exemplo, serviços REST que definem a estrutura dos dados e lógica de negócio(comportamento).

No lado lado do cliente JavaScript, que invoca a lógica e processa os dados. Tipicamente como parte do padrão de projeto MVC.

Um exemplo, seria a separação da lógica comercial do lado do servidor MySQL e PHP com Slim, exposta através de serviços web personalizados. (Um App Mobile Falando com o Servidor) 

Estes dados são processados no navegador do usuário através de uma camada de apresentação orientada por JavaScript.  Por exemplo utilizando uma biblioteca javascript como o JQuery ou OnSenUI.

A seguir vamos mostrar o exemplo de algumas plataformas Headless para você não reinventar a roda!

headless cms caas
Headless Cms CaaS - Content As a Service

WordPress Headless

O JavaScript é o futuro do WordPress. No final de 2015, a empresa por trás do WordPress, reescreveu seu painel de administração em JavaScript

A divisão do frontend do backend é benéfica a todos. Tanto usuários como desenvolvedores.  Isto resulta em melhores experiências do usuário.

Permite criar Clientes de Seu Site e vários Aplicativos Conectados em uma única instância BackEnd do WordPress.

Mautic Headless

Mautic possui uma API para interagir com outros sistemas. Tem uma biblioteca PHP REST API para uma integração mais rápida com projetos PHP.

Esta API Mautic requer autenticação oAuth (1a ou 2). Caso não tenha conhecimento, estas chamadas da API REST são ótimas para a integração com o (s) seu (s) sistema (s) atual (s).

Você pode simplesmente criar um lead ou mover para uma lista inteligente quando o lead faz algo dentro do seu aplicativo. 

Mantis Headless

Para quem precisa de um Bugtracker integrado a seu sistema uma opção é o MantisBT.

O MantisBT expõe uma API SOAP e REST(experimental) que permite que os clientes remotos interajam com o MantisBT e realizem muitas das tarefas usuais.

É possível cadastrar Bugs diretamente de seu APP, Sistema ou Site! De forma 100% automatizada colocando o erro dentro de seu projeto preferido.

A API SOAP é habilitada por padrão e disponível em /api/soap/mantisconnect.php abaixo da sua raiz de instalação. A API REST (experimental) precisa ser habilitada manualmente.

Considerações

No desenvolvimento de APP e sistemas inovadores o uso da Arquitetura Headless tras vários benefícios:

  1. Reutilização de código: Projetos já estabelecidos e com uma comunidade por trás para dar suporte
  2. Qualidade: Desenvolvimento orientado as regras de negócio e não a detalhes e questões tecnológicas que nao agregam no processo;
  3. Agilidade: Desenvolva seu Frontend e programe os Resolvers para mapear as diversas Apis integradas.

Happy Coding! 😀