API mashup in a colaborative logistics platform

Resumo

Vivemos num mundo cada vez mais consumista que tende a efetuar progressivamente mais compras online. Deste modo, o mundo do ecommerce possui uma estrutura própria com muitos intervenientes e consequentemente processos logísticos complexos. Sendo a Huub uma empresa tecnológica de logística que atua no setor da moda, o ecommerce é uma área importante para o seu negócio que tem como finalidade encurtar a distância entre as marcas e os seus clientes sendo o centro de um ecossistema que conecta toda uma cadeia de abastecimento.
Desta forma, tinha-se como objetivo desenvolver uma mashup de third party APIs que automatizem e melhorem alguns processos internos da empresa como o processo de shipping e a sincronização das principais plataformas de \textit{ecommerce} com o ERP da empresa.
O desenvolvimento foi partido em três partes: automatização de todo o processo de shipping, que envolve recolher rates de transporte dos diferentes carriers, comprar e produzir a label de transporte e fazer tracking da encomenda; integração das principais plataformas de ecommerce, como o Woocommerce e o Shopify com o ERP da empresa de modo a que seja possível existir uma sincronização bidirecional da informação; e um sistema para notificação de alertas.
Esta dissertação marca o início da mudança do paradigma de desenvolvimento da Huub, partindo do atual sistema monolítico para uma arquitetura baseada em micro serviços, tendo sempre em mente boas práticas de desenho e desenvolvimento de software orientado por objetos.

Dissertação

Planeamento

  • PDI Outubro 2016 - Novembro 2016
    Primeiro contacto com a Huub e orientadores e análise das tecnologias.
  • PDI Novembro 2016 - Janeiro 2017
    Escrita do Estado da Arte
  • DISS Fevereiro 2017
    Desenvolvimento de um Painel Administrativo e estudo do Easypost
  • DISS Março 2017
    Implementação da API para integração com as transportadoras - Easypost
  • DISS Abril, Maio 2017
    Implementação da API para integração com as lojas de ecommerce - Shopify e Woocommerce
  • DISS Maio 2017
    Implementação da API para alertas - Mailgun
  • DISS Junho 2017
    Escrita da dissertação

Objetivos

  • Desenvolver uma Representational State Transfer (REST) API que interage com o ERP da Huub servindo de camada de abstração para integrar com diversas API de terceiros;
  • Integrar com as principais plataformas de transporte servindo-se da API dos mesmos. Aqui estão incluídas transportadoras como a UPS e a TNT ou até mesmo um serviço já existente de integração como o Shiphawk e o EasyPost;
  • Integrar com as principais plataformas de ecommerce usadas pelos clientes como Woocommerce, Shopify, entre outras;
  • Desenvolver um sistema de notificação email e/ou sms automático consoante certas mudan- ças na base de dados como encomendas expedidas ou stock insuficiente.

Recursos e Tecnologias

Para que os objetivos sejam alcançados, serão várias as tecnologias que terão de ser usadas, bem como os conhecimentos que advém desse uso. Algumas dessas tecnologias foram impostas pela Huub para que a aplicação a desenvolver facilmente se integre com o Spoke.
Dito isto, será usado PHP em conjunto com Laravel, linguagem de programação e framework, respetivamente. Para gerir os pacotes e dependências será usado o Composer. No servidor encontra-se já uma base de dados construída em PostgreSQL e, para aceder de modo gráfico, será usado o PgAdmin.
Para simplificar todo o processo de integração destas tecnologias, decidiu-se usar Vagrant [26] com a box oficial do Laravel, Homestead.
O Vagrant é um software open source que, em conjunto com a VirtualBox, fornece as fer- ramentas necessárias para ter um ambiente de desenvolvimento dedicado e de fácil uso. Montando o Homestead, consegue-se uma imagem de uma máquina com as características pretendidas pela Huub e que estão acima descritas previamente instaladas. A grande vantagem de usar o Vagrant prende-se com a abstração existente, bastando um comando para ligar a máquina e em caso de problemas, um comando só é também suficiente para destruir a máquina.

Resultados e Conclusões

Em Desenvolvimento...

Documentos

Documentação

© Luís Melo, MIEEC, 2017