java para líderes e gerentes - amazon s3...nov 29, 2019  · end é o conceito de separar sua...

30
Globalcode – Open4education MICRO FRONTENDS COMO MUDAMOS A FORMA DE ESCALAR TIMES NA DELL

Upload: others

Post on 06-Oct-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

MICRO FRONTENDSCOMO MUDAMOS A FORMA DE ESCALAR TIMES NA DELL

Page 2: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Agenda

Dell Transformation

Estrutura dos Times

Buscando Soluções

Micro Frontend

Soluções Consideradas

Detalhes da Implementação

Considerações Finais

Page 3: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Dell Transformation

Page 4: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Modernização da Infraestrutura

Aplicações Cloud Native

Micro Services

Pivotal Labs

Dell Transformation

Page 5: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Dell TransformationLega

cy

Page 6: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Estrutura dos Times

Micro

Service

Team B

Micro

Service

Team D…

Micro

Service

Team A

Legacy

FRONTEND TEAM

Micro

Service

Team C

Page 7: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Estrutura dos Times

Page 8: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

O tamanho ideal do Time de Desenvolvimento

é pequeno o suficiente para se manter ágil e

grande o suficiente para completar uma parcela

significativa do trabalho dentro dos limites da

Sprint.

Scrum Guide

Estrutura dos Times

Page 9: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Buscando Soluções

Page 10: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Buscando Soluções

Page 11: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Buscando Soluções

Requisitos

Rodar no IE11, Chrome, Firefox e Edge

Compatibilidade com os sistemas legados

Manter consistência entre as views

Permitir navegação entre os Micro Frontends

Manter histórico da navegação

Page 12: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Micro Frontend

Page 13: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Quando falamos de back end, falamos de micro

serviços e tudo de bom que eles nos proporciona,

então porque não trazer para o front? Isso mesmo!

Micro Front End é a palavra do momento. Micro Front

End é o conceito de separar sua aplicação de front em

várias camadas menores, cada uma sendo responsável

por um módulo específico da aplicação.

Davi de Carvalhohttps://medium.com/@dudousxd/microservi%C3%A7os-%C3%A9-coisa-do-passado-agora-a-moda-%C3%A9-micro-front-end-303ace0aa6de

Micro Frontend

Page 14: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Some of the key benefits that we've seen from micro

frontends are:

• Smaller, more cohesive and maintainable codebases

• More scalable organizations with decoupled,

autonomous team

• The ability to upgrade, update, or even rewrite parts

of the frontend in a more incremental fashion than

was previously possibleMartin Fowler

https://martinfowler.com/articles/micro-frontends.html

Micro Frontend

Page 15: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Tudo Resolvido?

… só que não!

Page 16: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Soluções Consideradas

OpenComponents (OpenTable)

Usa um registro de componentes que integra a lógica do frontend e do

backend. Suporte a Angular, ReactJS, View ...

FrintJS (Frint)

Usa uma estrutura em árvore para criação dos MF. Ferramenta CLI e Suporte

a React, Vue, and Preact.

Single-Spa (Joel Denning)

Usa WebComponents, suporte Angular, React, View ...

Iframe (HTML)

Recurso bem popular e a solução utilizada pelo Spotify.

Page 17: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

E o vencedor foi…

Page 18: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

<iframe/>

Maior reaproveitamento de código na

migração

Compatibilidade “nativa” IE11

Rodar as telas das aplicações legadas

Simplicidade

Page 19: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Detalhes da Implementação

Page 20: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Page 21: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Detalhes da Implementação

window.postMessage() Recurso do HTML5 que habilita com segurança a

comunicação cross origin entre objetos Window.

window.postMessage(message, origin)

window.addEventListener(“message”, callback)

Page 22: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Single Page Application Container

Controle de Navegação (routing)

Single Sign On

Consistência (Lib)

Notificações Assíncronas

THORGATEWAY

Page 23: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

THORGATEWAY

Lega

cy

Page 24: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Micro

ServiceMicro

Frontend

RepositoryTest

E2E

Times

Page 25: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

AEON

Page 26: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

THORGATEWAY

Micro

Frontend

AEON

Page 27: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Page 28: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Considerações Finais

Manutenabilidade

Impacto na performance

Entrega contínua

Feedback dos usuários

Page 29: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa

Globalcode – Open4education

Thank you!

/cristianodequadros /bernardoberra

Page 30: Java para Líderes e Gerentes - Amazon S3...Nov 29, 2019  · End é o conceito de separar sua aplicação de front em várias camadas menores, cada uma sendo responsável ... Usa