Integração utilizando REST API e Microservices

Post on 12-Jan-2017

423 views 0 download

Transcript of Integração utilizando REST API e Microservices

NS-IntegrationIntegrações baseada em REST API e Microservices

Introdução

NSI ou Netshoes Integration é o nome do time que hoje é responsável por prover integrações sistemicas entre os diversos sistemas da Netshoes como STEP, Ábacos, BCC, ATG.

Bem-vindo!

01

Missão

A nossa missão é solucionar os problemas de comunicação entre os sistemas, como PRODUTO X LOJA ou PREÇO X LOJA, garantindo feedback rápido aos sistemas, áreas de negócio e usuários.

03

CATALOGGestão do catálogo de produtos e tudo o que o compões como Marca, Departamento, Atributos, Configurações, Classificação, Categoriazação

SERVICE ATGIntegração de produtos e preços com a loja, realizando a orquestração da composição do produtos, críticas e gestão de reenvio

PRICEIntegração de preços entre o Ábacos e a Loja, mantendo o preço atualizado online.

ProdutosHoje o NSI é composto por diversos microservices

18

SERVICE MKPIntegração com o catálogo de produtos do Marketplace, realizando o matching de produtos entre o catálogo Netshoes e Sellers.

SERVICE ÁBACOSMantem o Ábacos atualizado com o catálogo de produtos do Marketplace

CRITICIZES MANAGERGerencia as críticas das integrações

RESERVE MANAGERSistema de reserva que gerencia consumo de dados para cada sistema

TASK MANAGERGerencia tarefas agendadas para que sejam executadas garantindo um feedback da tarefa

Primeiramente, não optamos pela tradicional solução de integração onde temos um sistemão com integrações baseadas em arquiteturas monolíticas fazendo o uso de SOAP, tudo no BANCO DE DADOS e a velha troca de arquivos XML .

Solução

O que tem dado certo em arquiteturas complexas com muitos sistemas se comunicando, grande volume de dados, garantia na entrega?

REST API e Microservices

Vamos ao bom e velho trabalho de arquitetura

Empresas que precisam trocar grande volume de dados com um grande ecosistema sistemico tem mostrado que isso funciona, veja:

Quem tem usado isso?

01 Protocolo de rede muito utilizadoHTTP

03 Alta PerformanceWeb Proxy (localização geográfica)

04 Alta DisponibilidadeLoad Balancers como serviço

EscalabilidadeWeb Cache

02

05 Permite evolução sem parar o sistemaLoad Balancers

Porque REST?

19

06 Permite evolução sem quebrar os clientesJSON, XML, HTML

07 SegurançaOauth, HTTPS, TLS

Queremos integrar e manter o baixo acoplamentoMapeando recursos que possam ficar transparentes para os clientes

Porque REST?

19

uuidtype

entity

Resource

codedepartment

attrbiutes

Product

codename

Department

categorysku_codelist_pricesale_price

Price

Porque REST?

19

Definição de contratos e Representação JSON

Porque REST?

19

RESTful nível 2Utilização dos verbos e códigos de retorno do HTTP

Porque REST?

19

Porque REST?

19

REST + SWAGGER

19

REST + SWAGGER

19

REST + SWAGGER

19

Porque Microservices?

19

O Microservices é uma estratégia de arquitetura de software que vem sendo aplicada faz alguns anos com o objetivo de tornar os serviços mais escaláveis. As aplicações monolíticas estão perdendo espaço para os projetos orientados a serviço. Essa mudança deve-se a necessidade dos negócios atuais de crescerem rapidamente e de forma dinâmica. Ao projetar esse novo modelo arquitetural princípios de orientação a objetos, padrões, desacoplamento e responsabilidades se tornam fundamentais além de testes unitários integrados e suporte ao ciclo inteligente de DevOps.

• Combina com agilidade• Estabelece pequenos serviços que possam funcionar de forma independente• Garante a entrega continua e agilidade na atualização de partes do aplicação• Favorece testes automatizados para que possa provisionar ou atualizar com segurança uma nova versão

http://www.ramonduraes.net/2015/05/10/introduo-ao-conceito-de-microservices/

01 Delegar responsabilidade específicas para cada componente

02 Escala na horizontal

03 Permite manutenção continua sem afetar o ecosistema

Porque Microservices?

19

04 Foco no produto e na evolução de novas features

05 Baixo custo de infraestrutura

06 Facilita a automação e reduz o trabalho operacional/manual, permite o DevOps

Porque Microservices?

Tecnologias utilizadas

Boas Práticas

CODE COVERAGE

Boas PráticasTests

Boas PráticasSonar

Futuro do NSI

INKA Netshoes

Visão Macro de Integrações

19

Visão de Componentes de Integrações

19

Visão de Componentes de Integrações

19

Visão de Componentes de Integrações

19

Visão de Componentes de Integrações

19

Visão de Componentes de Integrações

19

Visão de Componentes de Integrações

19

Obrigado!

Denis Santosdenissys@gmail.com