Slide 1

Slide 1 text

cassunde.com.br Como migrar de Arquitetura

Slide 2

Slide 2 text

cassunde.com.br Migrações de Arquitetura não é para ficar "bonito", é para a empresa sobreviver

Slide 3

Slide 3 text

cassunde.com.br Agenda ● Strangler Fig ● Modularidade

Slide 4

Slide 4 text

cassunde.com.br Strangler Fig

Slide 5

Slide 5 text

cassunde.com.br Strangler Fig

Slide 6

Slide 6 text

cassunde.com.br Strangler Fig

Slide 7

Slide 7 text

cassunde.com.br Strangler Fig

Slide 8

Slide 8 text

cassunde.com.br Strangler Fig Backend DB Front

Slide 9

Slide 9 text

cassunde.com.br Strangler Fig Backend DB Proxy Front

Slide 10

Slide 10 text

cassunde.com.br Strangler Fig Backend DB Parte X Proxy Front

Slide 11

Slide 11 text

cassunde.com.br Strangler Fig Backend DB Nova Aplicação Parte X DB Proxy Front

Slide 12

Slide 12 text

cassunde.com.br Strangler Fig Backend DB Nova Aplicação DB Parte Y Proxy Front

Slide 13

Slide 13 text

cassunde.com.br Strangler Fig Backend DB Nova Aplicação DB Proxy Front

Slide 14

Slide 14 text

cassunde.com.br Strangler Fig Backend DB Nova Aplicação DB Proxy Front

Slide 15

Slide 15 text

cassunde.com.br Strangler Fig Backend DB Nova Aplicação DB Proxy Front

Slide 16

Slide 16 text

cassunde.com.br Strangler Fig Backend DB Nova Aplicação DB Proxy Front

Slide 17

Slide 17 text

cassunde.com.br Strangler Fig Nova Aplicação DB Proxy Front

Slide 18

Slide 18 text

cassunde.com.br Strangler Fig Nova Aplicação DB Front

Slide 19

Slide 19 text

cassunde.com.br Strangler Fig - Desafio Mas não é tão fácil assim!

Slide 20

Slide 20 text

cassunde.com.br Strangler Fig - Desafio Backend DB Parte X Proxy Front

Slide 21

Slide 21 text

cassunde.com.br Strangler Fig - Desafio Backend DB Parte X Identificar as Partes do Monolito Proxy Front

Slide 22

Slide 22 text

cassunde.com.br Strangler Fig - Desafio Se o sistema tiver o front e o back em um único artefato?

Slide 23

Slide 23 text

cassunde.com.br Mattheus Cassundé Formações: Graduação em Análise e Desenvolvimento de Sistemas Pós graduação em Engenharia de Software Bio: Líder técnico, Trabalhando +12anos com Java e arquitetura de software, dedico-me a desenhar e gerenciar o desenvolvimento de sistemas que não apenas funcionam, mas são robustos e escaláveis.

Slide 24

Slide 24 text

cassunde.com.br 2019 - 2022 Time de Seguros 2022 - * Financeiro Repasse dos Sellers

Slide 25

Slide 25 text

cassunde.com.br cassunde.com.br ● Mentorias ● Workshops Workshop 2026 Refatorando seu Monolito Por dentro do SpringIA

Slide 26

Slide 26 text

cassunde.com.br Strangler Fig - Desafio Se o sistema tiver o front e o back em um único artefato? Podemos seguir com Iframe dentro do Monolito : Isso é uma Estratégia de transição

Slide 27

Slide 27 text

cassunde.com.br Strangler Fig - Desafio Se o sistema tiver o front e o back em um único artefato? Podemos seguir com Iframe dentro do Monolito : Isso é uma Estratégia de transição

Slide 28

Slide 28 text

cassunde.com.br Strangler Fig Backend DB Proxy Nova Aplicação DB Parte X Usando Iframe dentro do Monolito

Slide 29

Slide 29 text

cassunde.com.br Strangler Fig Backend DB Proxy Nova Aplicação DB Parte X Usando Iframe dentro do Monolito

Slide 30

Slide 30 text

cassunde.com.br Strangler Fig Backend DB Nova Aplicação DB Usando Iframe dentro do Monolito Front

Slide 31

Slide 31 text

cassunde.com.br Strangler Fig Backend DB Front Usando Iframe dentro do Monolito Nova Aplicação DB Front

Slide 32

Slide 32 text

cassunde.com.br Strangler Fig Backend DB Front Usando Iframe dentro do Monolito Front Front Front Nova Aplicação DB Front

Slide 33

Slide 33 text

cassunde.com.br Strangler Fig Backend DB Front Usando Iframe dentro do Monolito Front Front Front Nova Aplicação DB Front

Slide 34

Slide 34 text

cassunde.com.br Strangler Fig Backend DB Front Usando Iframe dentro do Monolito Front Front Front Nova Aplicação DB Front

Slide 35

Slide 35 text

cassunde.com.br Strangler Fig - Desafio Nos dois caminho o desafio continua

Slide 36

Slide 36 text

cassunde.com.br Strangler Fig - Desafio Backend DB Parte X Como identificar as Partes/Módulos Proxy Front

Slide 37

Slide 37 text

cassunde.com.br Lidando com Dados

Slide 38

Slide 38 text

cassunde.com.br Lidando com dados Backend DB Front Nova Aplicação DB Front

Slide 39

Slide 39 text

cassunde.com.br Lidando com dados Backend DB Front Nova Aplicação DB Front

Slide 40

Slide 40 text

cassunde.com.br Lidando com dados Backend DB Front Nova Aplicação Front

Slide 41

Slide 41 text

cassunde.com.br Lidando com dados Backend DB Front Nova Aplicação DB Front CDC

Slide 42

Slide 42 text

cassunde.com.br Modularizando uma aplicação

Slide 43

Slide 43 text

cassunde.com.br Modularizando uma aplicação Podemos começar a mapear esses módulos de algumas formas Backend

Slide 44

Slide 44 text

cassunde.com.br Modularizando uma aplicação Podemos começar a mapear esses módulos de algumas formas: 1. Qual Funcionalidade é a mais usada ? Backend Funcio. X Funcio. y

Slide 45

Slide 45 text

cassunde.com.br Funcionalidade é tudo aquilo que o usuário pode usar, uma tela, um processamento, uma regra e etc

Slide 46

Slide 46 text

cassunde.com.br Modularizando uma aplicação Podemos começar a mapear esses módulos de algumas formas: 1. Qual Funcionalidade é a mais usada ? Backend Módulo X Módulo y

Slide 47

Slide 47 text

cassunde.com.br Modularizando uma aplicação Podemos começar a mapear esses módulos de algumas formas: 1. Qual Funcionalidade é a mais usada ? 2. Qual Funcionalidade tem mais alterações de Negócio ? Backend Módulo X Módulo y

Slide 48

Slide 48 text

cassunde.com.br Modularizando uma aplicação Outra forma de Mapear o que vamos extrair Agrupar por Sub - Domínio de Negócio

Slide 49

Slide 49 text

cassunde.com.br Modularizando uma aplicação ● Cadastro de Paciente ● Cadastro de Profissional ● Cadastro de Atendimento ● Controle de Leitos ● Faturamento ● Cadastro de medicamento ● Lançamentos de internação ● Cadastros de exames ● Controle de solicitações de exames Sistema Hospitalar Exemplo

Slide 50

Slide 50 text

cassunde.com.br Modularizando uma aplicação ● Cadastro de Paciente ● Cadastro de Profissional ● Cadastro de Atendimento ● Controle de Leitos ● Faturamento ● Cadastro de medicamento ● Lançamentos de internação ● Cadastros de exames ● Controle de solicitações de exames Sistema Hospitalar É complexo: Controlar acoplamento Manter baixo Downtime Exemplo

Slide 51

Slide 51 text

cassunde.com.br Modularizando uma aplicação Exemplo: Agrupar por Sub - Domínio de Negócio ● Cadastro de Paciente ● Cadastro de Profissional ● Cadastro de Atendimento ● Controle de Leitos ● Faturamento ● Cadastro de medicamento ● Lançamentos de internação ● Cadastros de exames ● Controle de solicitações de exames Sistema Hospitalar

Slide 52

Slide 52 text

cassunde.com.br Modularizando uma aplicação ● Cadastro de Paciente ● Cadastro de Profissional ● Cadastro de Atendimento ● Controle de Leitos ● Faturamento ● Cadastro de medicamento ● Lançamentos de internação ● Cadastros de exames ● Controle de solicitações de exames Sistema Hospitalar Exemplo: Agrupar por Sub - Domínio de Negócio Fazem sentido juntos São muito independentes de outros módulos

Slide 53

Slide 53 text

cassunde.com.br Modularizando uma aplicação ● Cadastro de Paciente ● Cadastro de Profissional ● Cadastro de Atendimento ● Controle de Leitos ● Faturamento ● Cadastro de medicamento ● Lançamentos de internação ● Cadastros de exames ● Controle de solicitações de exames Sistema Hospitalar SubDomínio Atendimento Exemplo: Agrupar por Sub - Domínio de Negócio

Slide 54

Slide 54 text

cassunde.com.br Modularizando uma aplicação ● Cadastro de Paciente ● Cadastro de Profissional ● Cadastro de Atendimento ● Controle de Leitos ● Faturamento ● Cadastro de medicamento ● Lançamentos de internação ● Cadastros de exames ● Controle de solicitações de exames Sistema Hospitalar SubDomínio Atendimento Serviço Atendimento DB Exemplo: Agrupar por Sub - Domínio de Negócio

Slide 55

Slide 55 text

cassunde.com.br Backend DB SD - Atendimento Modularizando uma aplicação Exemplo: Agrupar por Sub - Domínio de Negócio

Slide 56

Slide 56 text

cassunde.com.br Backend DB SD - Atendimento Backend DB Front Modularizando uma aplicação Exemplo: Agrupar por Sub - Domínio de Negócio SD - Atendimento v2 Arquitetura nova

Slide 57

Slide 57 text

cassunde.com.br Backend DB SD - Atendimento v2 Backend DB Front Modularizando uma aplicação Exemplo: Agrupar por Sub - Domínio de Negócio SD - Atendimento v2 Arquitetura nova

Slide 58

Slide 58 text

cassunde.com.br Modularizando uma aplicação ● Cadastro de Paciente ● Cadastro de Profissional ● Cadastro de Atendimento ● Controle de Leitos ● Faturamento ● Cadastro de medicamento ● Lançamentos de internação ● Cadastros de exames ● Controle de solicitações de exames Sistema Hospitalar Exemplo: Agrupar por Sub - Domínio de Negócio

Slide 59

Slide 59 text

cassunde.com.br Modularizando uma aplicação ● Cadastro de Paciente ● Cadastro de Profissional ● Cadastro de Atendimento ● Controle de Leitos ● Faturamento ● Cadastro de medicamento ● Lançamentos de internação ● Castros de exames ● Controle de solicitações de exames SubDomínio: Laboratório Sistema Hospitalar Exemplo: Agrupar por Sub - Domínio de Negócio

Slide 60

Slide 60 text

cassunde.com.br Backend DB SD - Atendimento v2 Backend DB Front Modularizando uma aplicação Exemplo: Agrupar por Sub - Domínio de Negócio SD - Atendimento v2 Arquitetura nova SD- Lab

Slide 61

Slide 61 text

cassunde.com.br Backend DB SD - Atendimento v2 Backend DB Front Modularizando uma aplicação Exemplo: Agrupar por Sub - Domínio de Negócio SD - Atendimento v2 Arquitetura nova SD- Lab SD - Lab v2

Slide 62

Slide 62 text

cassunde.com.br Backend DB SD - Atendimento v2 Backend DB Front Modularizando uma aplicação Exemplo: Agrupar por Sub - Domínio de Negócio SD - Atendimento v2 Arquitetura nova SD- Lab SD - Lab v2

Slide 63

Slide 63 text

cassunde.com.br Modularizando uma aplicação ● As Funcionalidade mais usadas ● As Funcionalidade que mais tem alterações de Negócio ● Os SubDomínios (Core)

Slide 64

Slide 64 text

cassunde.com.br Modularizando uma aplicação São as que mais precisam de agilidade de adaptação, lidam com "time-to-market" ● As Funcionalidade mais usadas ● As Funcionalidade que mais tem alterações de Negócio ● Os SubDomínios (Core)

Slide 65

Slide 65 text

cassunde.com.br Modularizando uma aplicação O que uma empresa precisa para seguir Competitiva ?

Slide 66

Slide 66 text

cassunde.com.br Modularizando uma aplicação O que uma empresa precisa para seguir Competitiva ? Agilidade na Adaptação

Slide 67

Slide 67 text

cassunde.com.br Modularizando uma aplicação O que uma empresa precisa para seguir Competitiva ? Agilidade na Adaptação ● Manutenabilidade ● Testabilidade ● Implementabilidade

Slide 68

Slide 68 text

cassunde.com.br Modularizando uma aplicação O que uma empresa precisa para seguir Competitiva ? Agilidade na Adaptação Velocidade ● Manutenabilidade ● Testabilidade ● Implementabilidade

Slide 69

Slide 69 text

cassunde.com.br Modularizando uma aplicação O que uma empresa precisa para seguir Competitiva ? Agilidade na Adaptação Velocidade ● Manutenabilidade ● Testabilidade ● Implementabilidade ● Escalabilidade ● Disponibilidade ● Tolerância a Falhas

Slide 70

Slide 70 text

cassunde.com.br Modularizando uma aplicação O que uma empresa precisa para seguir Competitiva ? Agilidade na Adaptação Velocidade ● Manutenabilidade ● Testabilidade ● Implementabilidade ● Escalabilidade ● Disponibilidade ● Tolerância a Falhas Competitividade

Slide 71

Slide 71 text

cassunde.com.br Modularizando uma aplicação Uma empresa precisa ser Competitiva, e para isso precisa de agilidade de adaptação

Slide 72

Slide 72 text

cassunde.com.br Modularizando uma aplicação Uma empresa precisa ser Competitiva, e para isso precisa de agilidade de adaptação

Slide 73

Slide 73 text

cassunde.com.br Modularizando uma aplicação E a Tecnologia não pode ser um problema para a adaptação

Slide 74

Slide 74 text

cassunde.com.br Fim