SlideShare uma empresa Scribd logo
1 de 44
Desenvolvendo sistemas
gigantes na internet com
arquitetura baseada
em eventos
Olá!
Paula Santana
Desde 2008 em Tecnologia
Desenvolvimento Java
Arquitetura de Soluções
Praia > SP
Devs JavaGirl
Agenda
✘ Arquitetura de software
✘ Problemas que surgem
✘ Gigante X Complexo
✘ Event Driven
○ Topologias
○ Padrões
✘ Próximos passos
O que um programador faz?
Expectativa
Realidade
Solução
“Consiste na definição dos
componentes de software, suas
propriedades externas, e seus
relacionamentos com outros
softwares
Monolito
Origem: https://microservices.io/patterns/microservices.html
Microservice
Fonte: https://www.appcentrica.com/wp-content/uploads/2016/11/Microservices-Architecture-1.png
13
Resolve
Event
Driven
Problema
Fonte: https://www.goobec.com.br/blog/redes-sociais-dados-estatisticos-2018/
Sistemas Gigantes
Empresas que utilizam esta abordagem
Sistemas Gigantes Complexos
Volume de
Requisições /
Transações /
Operações
Muitas
integrações
Volumetria
de DAdos
Muitas
áreas de
Produto
Alta
disponibilidade
Legado
Microsserviços
Desenvolvedor
Outros Padrões
Eventos
Ação ou ocorrência que aconteceu
EventosProdutor Consumidor
Topologia
MediadorApache Camel, Spring Integration ou Mule ESB
Orquestração
Pagamento
Vendedor
Entrega
Pedido
Mediador
Coreografia
Pagamento
Vendedor
Entrega Pedido
Mediador
1. 2. 3. 4.
BrokerKafka, ActiveMq, RabbitMq
Padrões
Notificação de
Evento
Serviço de
Clientes
Serviço de
Preferências
Atualiza
Endereço
BD
Broker de Eventos
cliente xxxx
atualizou os dados
Serviço de
Entrega
Serviço de
ofertas
Notificação de
Evento
● Se for usado como
comando, a larga
escala pode-se perder
a visão do fluxo
● Onerando o produtor
com consultas
● Baixo nível de
acoplamento
● Produtor não precisa
saber quem são
consumidores
👍
Transferência de Estado
Transportado pelo evento
Serviço de
Clientes
Serviço de
Preferências
Atualiza
Endereço
BD
Broker de Eventos
cliente xxxx
atualizou os
dados
xxxxx
xxxxx
xxxx
Serviço de
EntregaBD BD
● Duplicação dos dados
● Dados fora do domínio
● Complexidade no
consumo de eventos
● Alta disponibilidade e
resiliência
👍
Transferência de Estado
Transportado pelo evento
Fonte de Eventos - Event Sourcing
Profile
Webapp
Crédito
Débito
Transferência
Eventos
Broker de Eventos
Dados de
Leitura
Manipulação
de Eventos
Crédito
Débito
Transferência
● Schema de Eventos
● Complexidade
● Dependência Externa
● Auditoria dos dados
● Debugging
● histórico dos eventos
● Permite retornar
estado
👍
Fonte de Eventos - Event Sourcing
Próximos Passos
Entenda as
soluções de
mercado e veja
as vantagens
de cada uma
Modelos de Entrega - Fila
Produtor
Financeiro
Financeiro
Fila
Modelos de Entrega - Tópico
Produtor
Financeiro
Entrega
Tópico
Implementação
Dica de Ouro
Benefícios
✘ Menor Acoplamento
✘ Operações Assíncronas
✘ Facilidade em Adicionar novos
consumidores
✘ Altamente escalável e distribuído
Problemas
✘ Concorrência
✘ Complexidade
✘ Garantir Entrega
✘ Governança
me solta….
...que eu vou usar isso no meu projeto.
Obrigada!
Dúvidas?
@psanrosa13
psanrosa13@gmail.com
www.linkedin.com/in/paula-macedo-santana-dev/

Mais conteúdo relacionado

Mais procurados

présentation de PFE
présentation de PFE présentation de PFE
présentation de PFE AmalSouheil1
 
Alphorm.com Formation Windev Mobile 19, Android
Alphorm.com Formation Windev Mobile 19, AndroidAlphorm.com Formation Windev Mobile 19, Android
Alphorm.com Formation Windev Mobile 19, AndroidAlphorm
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesHosni Mansour
 
E-Front : Plateforme d’enseignement à distance
E-Front : Plateforme d’enseignement à distanceE-Front : Plateforme d’enseignement à distance
E-Front : Plateforme d’enseignement à distanceKhaled Fayala
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobileNader Somrani
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
Développement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetDéveloppement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetKhadim Mbacké
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyENSET, Université Hassan II Casablanca
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileNader Somrani
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Nawres Farhat
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
Méthodologie de tests et qualité
Méthodologie de tests et qualitéMéthodologie de tests et qualité
Méthodologie de tests et qualitéSpikeeLabs
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiDonia Hammami
 

Mais procurados (20)

présentation de PFE
présentation de PFE présentation de PFE
présentation de PFE
 
Docker
DockerDocker
Docker
 
Alphorm.com Formation Windev Mobile 19, Android
Alphorm.com Formation Windev Mobile 19, AndroidAlphorm.com Formation Windev Mobile 19, Android
Alphorm.com Formation Windev Mobile 19, Android
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et Administration
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
E-Front : Plateforme d’enseignement à distance
E-Front : Plateforme d’enseignement à distanceE-Front : Plateforme d’enseignement à distance
E-Front : Plateforme d’enseignement à distance
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobile
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Cv tayachi nadhir f
Cv tayachi nadhir fCv tayachi nadhir f
Cv tayachi nadhir f
 
Présentation Docker
Présentation DockerPrésentation Docker
Présentation Docker
 
Développement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetDéveloppement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internet
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Rapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobileRapport PFE Développent d'une application bancaire mobile
Rapport PFE Développent d'une application bancaire mobile
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
Méthodologie de tests et qualité
Méthodologie de tests et qualitéMéthodologie de tests et qualité
Méthodologie de tests et qualité
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 

Semelhante a Desenvolvendo sistemas gigantes na internet com arquitetura baseada

Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)Paula Santana
 
Desenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaDesenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaPaula Santana
 
O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?paxtecnologia
 
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Gustavo Malheiros
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareFábio Nogueira de Lucena
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsAdriano Bertucci
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidMessias Batista
 
Apresentação do V Workshop Demoiselle
Apresentação do V Workshop DemoiselleApresentação do V Workshop Demoiselle
Apresentação do V Workshop DemoiselleEmerson Saito
 
Application Insights
Application InsightsApplication Insights
Application InsightsMarcus Garcia
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
WSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaMessias Batista
 
Desenvolvimento em Comunidade
Desenvolvimento em ComunidadeDesenvolvimento em Comunidade
Desenvolvimento em ComunidadePedro Dias
 
Dalton Sergio Leonardo Pt Currículo 20160803
Dalton Sergio Leonardo Pt  Currículo 20160803Dalton Sergio Leonardo Pt  Currículo 20160803
Dalton Sergio Leonardo Pt Currículo 20160803Dalton Sergio Leonardo
 
Evolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações WebEvolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações WebBreno Vitorino
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Igor Abade
 
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021Renato Groffe
 

Semelhante a Desenvolvendo sistemas gigantes na internet com arquitetura baseada (20)

Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
Desenvolvendosistemasgigantesnainternetcomarquiteturabaseada 190213231932 (1)
 
Desenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageriaDesenvolvimento de sistemas com mensageria
Desenvolvimento de sistemas com mensageria
 
O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?O que é Middleware? E o que isso tem a ver com SOA?
O que é Middleware? E o que isso tem a ver com SOA?
 
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
 
Relatorio de analise mural tic
Relatorio de analise mural ticRelatorio de analise mural tic
Relatorio de analise mural tic
 
DevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App InsightsDevOps... O caminho! - Monitoramento de aplicações com App Insights
DevOps... O caminho! - Monitoramento de aplicações com App Insights
 
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do AndroidPalestra Iniciando o desenvolvimento de aplicativos com o Club do Android
Palestra Iniciando o desenvolvimento de aplicativos com o Club do Android
 
DevOps e App Insights
DevOps e App InsightsDevOps e App Insights
DevOps e App Insights
 
Apresentação do V Workshop Demoiselle
Apresentação do V Workshop DemoiselleApresentação do V Workshop Demoiselle
Apresentação do V Workshop Demoiselle
 
Application Insights
Application InsightsApplication Insights
Application Insights
 
DevOps
DevOpsDevOps
DevOps
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
WSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoasWSO2 Platform: Conectando Empresas, negócios e pessoas
WSO2 Platform: Conectando Empresas, negócios e pessoas
 
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoaO novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
O novo desenvolvedor android conceitos básicos e a comunidade em joão pessoa
 
Desenvolvimento em Comunidade
Desenvolvimento em ComunidadeDesenvolvimento em Comunidade
Desenvolvimento em Comunidade
 
Dalton Sergio Leonardo Pt Currículo 20160803
Dalton Sergio Leonardo Pt  Currículo 20160803Dalton Sergio Leonardo Pt  Currículo 20160803
Dalton Sergio Leonardo Pt Currículo 20160803
 
Evolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações WebEvolução das arquiteturas para aplicações Web
Evolução das arquiteturas para aplicações Web
 
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
Keynote - Trilha Negócios (DevOps Summit Brasil 2016)
 
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
 

Mais de Paula Santana

Boas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de modaBoas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de modaPaula Santana
 
Como começar quando se esta começando?
Como começar quando se esta começando?Como começar quando se esta começando?
Como começar quando se esta começando?Paula Santana
 
Desvendando a arquitetura orientada a eventos
Desvendando a arquitetura orientada a eventosDesvendando a arquitetura orientada a eventos
Desvendando a arquitetura orientada a eventosPaula Santana
 
Clean code com features do java 8 a java 14
Clean code com features do java 8 a java 14Clean code com features do java 8 a java 14
Clean code com features do java 8 a java 14Paula Santana
 
Como começas quando se está começando
Como começas quando se está começandoComo começas quando se está começando
Como começas quando se está começandoPaula Santana
 
Refatoracao de codigo
Refatoracao de codigoRefatoracao de codigo
Refatoracao de codigoPaula Santana
 
Desenvolvimento com arquitetura baseada em eventos
Desenvolvimento com arquitetura baseada em eventosDesenvolvimento com arquitetura baseada em eventos
Desenvolvimento com arquitetura baseada em eventosPaula Santana
 
Como fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em javaComo fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em javaPaula Santana
 
Workshop git para iniciantes
Workshop git para iniciantesWorkshop git para iniciantes
Workshop git para iniciantesPaula Santana
 
Facilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações JavaFacilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações JavaPaula Santana
 
Como uma linguagem de programação pode empoderar uma mulher
Como uma linguagem de programação pode empoderar uma mulherComo uma linguagem de programação pode empoderar uma mulher
Como uma linguagem de programação pode empoderar uma mulherPaula Santana
 
Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?Paula Santana
 
4 revolucao industrial
4 revolucao industrial4 revolucao industrial
4 revolucao industrialPaula Santana
 
Arquitetura orientada a eventos em ambientes complexos tdc
Arquitetura orientada a eventos em ambientes complexos tdcArquitetura orientada a eventos em ambientes complexos tdc
Arquitetura orientada a eventos em ambientes complexos tdcPaula Santana
 
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...Paula Santana
 
Microsserviços, moda ou necessidade?
Microsserviços, moda ou necessidade?Microsserviços, moda ou necessidade?
Microsserviços, moda ou necessidade?Paula Santana
 

Mais de Paula Santana (19)

Boas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de modaBoas Práticas para desenvolvimento java que nunca saíram de moda
Boas Práticas para desenvolvimento java que nunca saíram de moda
 
Como começar quando se esta começando?
Como começar quando se esta começando?Como começar quando se esta começando?
Como começar quando se esta começando?
 
Desvendando a arquitetura orientada a eventos
Desvendando a arquitetura orientada a eventosDesvendando a arquitetura orientada a eventos
Desvendando a arquitetura orientada a eventos
 
Clean code com features do java 8 a java 14
Clean code com features do java 8 a java 14Clean code com features do java 8 a java 14
Clean code com features do java 8 a java 14
 
Como começas quando se está começando
Como começas quando se está começandoComo começas quando se está começando
Como começas quando se está começando
 
Refatoracao de codigo
Refatoracao de codigoRefatoracao de codigo
Refatoracao de codigo
 
Desenvolvimento com arquitetura baseada em eventos
Desenvolvimento com arquitetura baseada em eventosDesenvolvimento com arquitetura baseada em eventos
Desenvolvimento com arquitetura baseada em eventos
 
Como fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em javaComo fazer um bom desgn de c[odigo em java
Como fazer um bom desgn de c[odigo em java
 
Workshop git para iniciantes
Workshop git para iniciantesWorkshop git para iniciantes
Workshop git para iniciantes
 
Facilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações JavaFacilitando a implementação de mensageria em aplicações Java
Facilitando a implementação de mensageria em aplicações Java
 
Como uma linguagem de programação pode empoderar uma mulher
Como uma linguagem de programação pode empoderar uma mulherComo uma linguagem de programação pode empoderar uma mulher
Como uma linguagem de programação pode empoderar uma mulher
 
Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?Graphql - o que é, onde e porque usar?
Graphql - o que é, onde e porque usar?
 
4 revolucao industrial
4 revolucao industrial4 revolucao industrial
4 revolucao industrial
 
Conhecendo o Jnosql
Conhecendo o JnosqlConhecendo o Jnosql
Conhecendo o Jnosql
 
Arquitetura orientada a eventos em ambientes complexos tdc
Arquitetura orientada a eventos em ambientes complexos tdcArquitetura orientada a eventos em ambientes complexos tdc
Arquitetura orientada a eventos em ambientes complexos tdc
 
Testes de contrato
Testes de contratoTestes de contrato
Testes de contrato
 
Spring Rest
Spring RestSpring Rest
Spring Rest
 
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
Experiências de quem utiliza a Stack da Netflix e Spring boot em serviços de ...
 
Microsserviços, moda ou necessidade?
Microsserviços, moda ou necessidade?Microsserviços, moda ou necessidade?
Microsserviços, moda ou necessidade?
 

Desenvolvendo sistemas gigantes na internet com arquitetura baseada