integração utilizando rest api e microservices

32
NS-Integration Integrações baseada em REST API e Microservices

Upload: denis-santos

Post on 12-Jan-2017

421 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Integração utilizando REST API e Microservices

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

Page 2: Integração utilizando 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

Page 3: Integração utilizando REST API e Microservices

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

Page 4: Integração utilizando REST API e Microservices

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

Page 5: Integração utilizando REST API e Microservices

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

Page 6: Integração utilizando REST API e Microservices

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

Page 7: Integração utilizando REST API e Microservices

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

Quem tem usado isso?

Page 8: Integração utilizando REST API e Microservices

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

Page 9: Integração utilizando REST API e Microservices

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

Page 10: Integração utilizando REST API e Microservices

Porque REST?

19

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

Page 11: Integração utilizando REST API e Microservices

Porque REST?

19

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

Page 12: Integração utilizando REST API e Microservices

Porque REST?

19

Page 13: Integração utilizando REST API e Microservices

Porque REST?

19

Page 14: Integração utilizando REST API e Microservices

REST + SWAGGER

19

Page 15: Integração utilizando REST API e Microservices

REST + SWAGGER

19

Page 16: Integração utilizando REST API e Microservices

REST + SWAGGER

19

Page 17: Integração utilizando REST API e Microservices

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/

Page 18: Integração utilizando REST API e 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

Page 19: Integração utilizando REST API e Microservices

Porque Microservices?

Page 20: Integração utilizando REST API e Microservices

Tecnologias utilizadas

Page 21: Integração utilizando REST API e Microservices

Boas Práticas

CODE COVERAGE

Page 22: Integração utilizando REST API e Microservices

Boas PráticasTests

Page 23: Integração utilizando REST API e Microservices

Boas PráticasSonar

Page 24: Integração utilizando REST API e Microservices

Futuro do NSI

INKA Netshoes

Page 25: Integração utilizando REST API e Microservices

Visão Macro de Integrações

19

Page 26: Integração utilizando REST API e Microservices

Visão de Componentes de Integrações

19

Page 27: Integração utilizando REST API e Microservices

Visão de Componentes de Integrações

19

Page 28: Integração utilizando REST API e Microservices

Visão de Componentes de Integrações

19

Page 29: Integração utilizando REST API e Microservices

Visão de Componentes de Integrações

19

Page 30: Integração utilizando REST API e Microservices

Visão de Componentes de Integrações

19

Page 31: Integração utilizando REST API e Microservices

Visão de Componentes de Integrações

19

Page 32: Integração utilizando REST API e Microservices

Obrigado!

Denis [email protected]