NS-Integration
Integrações baseada em RESTAPI 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!
0
1
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.
0
3
CATALOG
Gestão do catálogo de
produtos e tudo o que o
compões como Marca,
Departamento, Atributos,
Configurações, Classificação,
Categoriazação
SERVICE ATG
Integraçã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
PRICE
Integração de preços entre o
Ábacos e a Loja, mantendo o
preço atualizado online.
Produtos
Hoje o NSI é composto por diversos microservices
1
8
SERVICE MKP
Integração com o catálogo de
produtos do Marketplace,
realizando o matching de
produtos entre o catálogo
Netshoes e Sellers.
SERVICE ÁBACOS
Mantem o Ábacos atualizado
com o catálogo de produtos
do Marketplace
CRITICIZES MANAGER
Gerencia as críticas das
integrações
RESERVE MANAGER
Sistema de reserva que gerencia
consumo de dados para cada
sistema
TASK MANAGER
Gerencia 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 utilizado
HTTP
03 Alta Performance
Web Proxy (localização geográfica)
04 Alta Disponibilidade
Load Balancers como serviço
Escalabilidade
Web Cache
02
05 Permite evolução sem parar o sistema
Load Balancers
Porque REST?
1
9
06 Permite evolução sem quebrar os clientes
JSON, XML, HTML
07 Segurança
Oauth, HTTPS, TLS
Queremos integrar e manter o baixo acoplamento
Mapeando recursos que possam ficar transparentes para os clientes
Porque REST?
1
9
uuid
type
entity
Resource
code
department
attrbiutes
Product
code
name
Department
category
sku_code
list_price
sale_price
Price
Porque REST?
1
9
Definição de contratos e Representação JSON
Porque REST?
1
9
RESTful nível 2
Utilização dos verbos e códigos de retorno do HTTP
Porque REST?
1
9
Porque REST?
1
9
REST + SWAGGER
1
9
REST + SWAGGER
1
9
REST + SWAGGER
1
9
Porque Microservices?
1
9
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?
1
9
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áticas
Tests
Boas Práticas
Sonar
Futuro do NSI
INKA Netshoes
Visão Macro de Integrações
1
9
Visão de Componentes de Integrações
1
9
Visão de Componentes de Integrações
1
9
Visão de Componentes de Integrações
1
9
Visão de Componentes de Integrações
1
9
Visão de Componentes de Integrações
1
9
Visão de Componentes de Integrações
1
9
Obrigado!
Denis Santos
denissys@gmail.com

Integração utilizando REST API e Microservices

  • 1.
  • 2.
    Introdução NSI ou NetshoesIntegration é 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! 0 1
  • 3.
    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. 0 3
  • 4.
    CATALOG Gestão do catálogode produtos e tudo o que o compões como Marca, Departamento, Atributos, Configurações, Classificação, Categoriazação SERVICE ATG Integraçã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 PRICE Integração de preços entre o Ábacos e a Loja, mantendo o preço atualizado online. Produtos Hoje o NSI é composto por diversos microservices 1 8 SERVICE MKP Integração com o catálogo de produtos do Marketplace, realizando o matching de produtos entre o catálogo Netshoes e Sellers. SERVICE ÁBACOS Mantem o Ábacos atualizado com o catálogo de produtos do Marketplace CRITICIZES MANAGER Gerencia as críticas das integrações RESERVE MANAGER Sistema de reserva que gerencia consumo de dados para cada sistema TASK MANAGER Gerencia tarefas agendadas para que sejam executadas garantindo um feedback da tarefa
  • 5.
    Primeiramente, não optamospela 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
  • 6.
    O que temdado 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
  • 7.
    Empresas que precisamtrocar grande volume de dados com um grande ecosistema sistemico tem mostrado que isso funciona, veja: Quem tem usado isso?
  • 8.
    01 Protocolo derede muito utilizado HTTP 03 Alta Performance Web Proxy (localização geográfica) 04 Alta Disponibilidade Load Balancers como serviço Escalabilidade Web Cache 02 05 Permite evolução sem parar o sistema Load Balancers Porque REST? 1 9 06 Permite evolução sem quebrar os clientes JSON, XML, HTML 07 Segurança Oauth, HTTPS, TLS
  • 9.
    Queremos integrar emanter o baixo acoplamento Mapeando recursos que possam ficar transparentes para os clientes Porque REST? 1 9 uuid type entity Resource code department attrbiutes Product code name Department category sku_code list_price sale_price Price
  • 10.
    Porque REST? 1 9 Definição decontratos e Representação JSON
  • 11.
    Porque REST? 1 9 RESTful nível2 Utilização dos verbos e códigos de retorno do HTTP
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
    Porque Microservices? 1 9 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/
  • 18.
    01 Delegar responsabilidadeespecíficas para cada componente 02 Escala na horizontal 03 Permite manutenção continua sem afetar o ecosistema Porque Microservices? 1 9 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
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
    Visão Macro deIntegrações 1 9
  • 26.
    Visão de Componentesde Integrações 1 9
  • 27.
    Visão de Componentesde Integrações 1 9
  • 28.
    Visão de Componentesde Integrações 1 9
  • 29.
    Visão de Componentesde Integrações 1 9
  • 30.
    Visão de Componentesde Integrações 1 9
  • 31.
    Visão de Componentesde Integrações 1 9
  • 32.