TDC SÃO PAULO ONLINE
O encontro de comunidades e empresas no Brasil

Trilha ARQUITETURA JAVA

Definindo uma arquitetura madura, moderno, escalável e estável para que ela dure mais que 25 anos.

Os softwares e os requisitos vem evoluindo muito rápido, e sua arquitetura deve seguir essa mesma linha. Dentro do grande número de opções temos definições como microservices, monólitos, cloud, programação reativa, etc. Dentro dessa grande saladas de frutas quais delas utilizar? Quais são as vantagens e desvantagens de cada decisão dentro do negócio?

Quantas camadas faremos mesmo? Saiba disso e um pouco mais dentro da trilha de Arquitetura Java.

Data

Quarta-feira, 26 de Agosto de 2020

09h às 19h (somente ao vivo)

Investimento

Tabela de Pacotes de Preços da Fase 1 INSCREVA-SE

Como se inscrever

Palestras

Hora Conteúdo
09:00 às 09:30 Abertura do evento e mini keynote

No palco da Stadium, todos serão orientados sobre o funcionamento do evento, destaques e outras novidades.

09:30 às 10:20 Keynote da manhã

Os keynotes serão apresentados no palco da Stadium.

10:25 às 10:40 Abertura da trilha pela coordenação

Aqui os coordenadores se apresentam e fazem uma introdução para a trilha.

10:45 às 11:20

Conceitos e práticas arquiteturais que você precisa saber hoje para sobreviver aos próximos cinco anos

Karina Macedo Varela

Se você fosse criar uma aplicação hoje, por onde você começaria? Você seguiria uma hype ou optaria pelo bom e velho framework que você já conhece a anos? Como implementaria as regras de negócio? Monolito ou Microsserviços? Usaria containers e cloud ou optaria por um deploy tradicional? E o CI/CD? Não existe resposta pronta para nenhuma destas perguntas. Para se descobrir como definir estas respostas, vamos atacar um problema de negócio e resolvê-lo com base em conceitos de DDD e Clean Architecture, e com a utilização de uma stack cloud-native moderna. Teremos um ponto de vista arquitetural e de liderança técnica, compartilhando dicas de como sair dos requisitos (papeis) para a cloud.

11:25 às 12:00

Rumo ao Hexa? Uma discussão sobre a arquitetura hexagonal

Demis Gomes

Nesta apresentação, vamos debater o uso de uma arquitetura hexagonal em um projeto Java. Tal arquitetura prega um core de aplicação rico em regras de negócio, facilmente testável e que se comunica com sistemas externos por portas de entrada e saída. Uma API REST, por exemplo, acessa o core da aplicação pela porta de entrada, enquanto que a persistência seria chamada pela aplicação por uma porta de saída. Porém, é válido o esforço de dividir tanto uma aplicação? Seria mais do mesmo? É produtivo criar mappers para cada entidade a ser persistida? E quais exemplos de aplicação seriam ideais para esta arquitetura?

12:05 às 12:25 Open Space

12:25 às 13:00

Arquitetura e Produto: Criando um supermercado em 9 dias

Rafael Pazini / Bruno Lopes

Falaremos dos desafios encontrados de lançar a experiência de Supermercado do Mercado Livre em 3 países ao mesmo tempo. Dentro disso abordaremos a arquitetura que existia desde o MVP até o produto que está rodando e que todos conseguem utilizar hoje. Nela abordaremos todo o roadmap que fizemos nas aplicações, como: * Mudança do padrão MVC para Clean arch; * Migração do build automation system de Maven para Gradle; * Troca da stack de Spark para Spring; (Dificuldades x Desafios e o Porque disso) * Orquestrando informações com Event-Driven; * Aumento de throughput triplicando o tamanho desde o MVP. E por fim mostraremos com métricas que nos guiaram em tomadas de decisões e resultados obtidos.

13:00 às 13:45 Intervalo para almoço

Intervalo para o almoço e recarregar energias.

13:45 às 14:00 Abertura da tarde e mini keynote

No palco da Stadium, todos serão orientados sobre o funcionamento do evento, destaques e outras novidades.

14:00 às 14:35

Reactive RDBMS Access Using Reactor, RxJava, Akka Streams and R2DBC

Kuassi Mensah

Relational databases are pervasive in enterprises. JDBC is a blocking API which can lead to waste of threads and latency and Java Fibers is not yet available for mainstream/production use. Reactive programming allows scalable, non-blocking database access with back-pressure support. The Java Flow API lacks an implementation and operators (e.g., map, filter, etc) that Reactive Streams libs furnish. This talk presents the integration of a Flow-based Reactive JDBC extension with Reactor, RxJava, Akka Streams and a new R2DBC driver. The session walks you through the mapping of Flow types into org.reactivestrreams types then streaming result sets into Reactive Streams and a live demo.

14:40 às 15:15

Imagem nativa, AOT ou JIT: Quando e como utilizar em sua arquitetura Java

Luram Archanjo

Ao longo dos anos a JVM foi construída para aplicações que rodam dias, meses até anos, porém com a adoção de arquiteturas distribuídas, como microservices e serverless esse requisito mudou e não precisamos mais de uma JVM para suportar aplicações de longa duração e sim de uma JVM mais eficaz no requisito recurso computacional.Visando isso, foi lançado no Java 9 o suporte a modularidade, porém temos outras frentes que estão aprimorando técnicas de compilação, como Ahead of time compilation (AOT), Just in time compilation (JIT) e Native Image (GraalVM). Portanto, irei discorrer de cada alternativa, provendo-o insumos necessários para tomadas de decisões mais assertivas em suas arquiteturas.

15:20 às 15:55

Usando gRPC em microserviços Java

Odair Borges

Em quais cenários vale a pena usar gRPC em seus microserviços Java ? Vamos falar sobre gRPC e também sobre microserviços Java, comentando sobre as vantagens e desvantagens desse protocolo.

16:00 às 17:00

Futuro das arquiteturas Microservices, Serverless, Event Driven, novo Monolítico Modular e quando voltaremos ao bom e velho CRUD num monolito!

Claudio Eduardo de Oliveira / Karina Macedo Varela / Bruno Kaufmann de Bustamante Sá
Painel Digital desta Trilha
17:10 às 18:00 Keynote da tarde

Os keynotes serão apresentados no palco da Stadium.

18:05 às 18:25 Encerramento

Após a apresentação de resultados do dia, no palco da Stadium, muitos sorteios fecharão o dia.


Grade sujeita a alterações

Coordenação da Trilha ARQUITETURA JAVA


Patrocinadores

Diamond




Apoio


Realização