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.
Quarta-feira, 26 de Agosto de 2020
09h às 19h (somente ao vivo)
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 | Surviving and Thriving in the Human EconomyFabiola EyholzerWe all bring unique traits and qualities to our work. The ability to leverage these strengths will be the source for competitiveness and success going forward. However, transitioning from a Knowledge to a Human Economy has profound implications and requires an unequivocal commitment to human potential.
|
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 anosKarina Macedo VarelaSe 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 hexagonalDemis GomesNesta 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 diasRafael Pazini / Bruno LopesFalaremos 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 14:00 |
Intervalo para almoço
Intervalo para o almoço e recarregar energias. |
14:00 às 14:15 |
Abertura da trilha pela coordenação
Aqui os coordenadores se apresentam e fazem uma introdução para a trilha. |
14:15 às 14:50 |
Reactive RDBMS Access Using Reactor, RxJava, Akka Streams and R2DBCKuassi MensahRelational 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:55 às 15:30 |
Imagem nativa, AOT ou JIT: Quando e como utilizar em sua arquitetura JavaLuram ArchanjoAo 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:35 às 16:10 |
Usando gRPC em microserviços JavaOdair BorgesEm 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:15 às 17:15 |
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:25 às 18:15 |
Keynote | Building Technical Communities The Wrong WayJono BaconIn this new keynote from Jono Bacon, a leading community consultant and author, he will share a collection of anti-patterns of what not to do when building technical developer communities. From his experience working with companies including GitHub, Canonical, HackerOne, Mattermost, Digital Asset, and others, Jono will share a series of common and less common mistakes and show attendees how to invert those mistakes to build amazing technical communities. This will be an in-depth session with a lot of content.
|
18:20 às 18:40 |
Encerramento
Após a apresentação de resultados do dia, no palco da Stadium, muitos sorteios fecharão o dia. |