NS-Integration Integrações baseada em 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 [email protected]