Sessions
Meet the confirmed sessions
Notice:Here are some confirmed sessions. More will be posted in the near future
AI: It AI-n't What You Think!
Innovations have transformed human lives, in ways that we can't imagine how people survived before. Yet, we do not embrace innovations readily and we shouldn't in most cases. Our time in this world is juxtaposed with yet another major innovation in our field. Is AI going to take over the world, our jobs, our way of life...and more are questions that are asked frequently these days. Come to this keynote to learn how to ride the new wave instead of being swept under.
Instructor(s)
Notice:Here are some confirmed sessions. More will be posted in the near future
Optimizing LLM Responses with Retrieval-Augmented Generation (RAG) in Java
LLMs alone are not enough. Without real-time retrieval, they generate outdated or incorrect responses, either because their knowledge is limited or because they lack access to pertinent information. This could make them unreliable for business-critical applications. This workshop dives into Retrieval-Augmented Generation (RAG)—a technique that enables AI to access real-world, up-to-date information to deliver accurate, context-rich responses.
We'll guide you through building an AI chatbot from scratch using Java and SpringAI with a vector database (PGVector or Neo4j, for example) . You'll learn how to:
✔ Integrate SpringAI to build a robust chatbot
✔ Implement RAG to enhance chatbot accuracy and avoid hallucinations
✔ Store and retrieve real-time product data from a vector database
✔ Live test and compare results with vs. without RAG
This workshop is perfect for developers, and AI engineers looking to implement practical, enterprise-grade AI solutions. Don't miss this opportunity to master RAG and transform how AI-powered applications interact with data.Instructor(s)
How to use Jakarta 11 with Payara 7
Jakarta 11 is the latest version of the specification and is near to be delivered to the market, that is why we need to know which application servers on the market supported and for this workshop, I will show you how to use with Payara 7.
Topic to be covered:
1.Payara Introduction.
2.How to install and use Payara 7.
3.Create an MVC application with Payara 7.
4.Enable Jakarta Data with Payara 7.
5.Use Security with Payara 7.
6.Other important updates for Jakarta 11 available on Payara 7.Instructor(s)
Database Change Management for Java Developers
Objetivo General
Capacitar a los participantes en la gestión de cambios de bases de datos mediante herramientas modernas, automatizando despliegues y aplicando buenas prácticas de migración en entornos empresariales, incluyendo arquitecturas multitenancy.
MÓDULO 1: Fundamentos de Database Change Management
Introducción
- ¿Qué es Database Change Management (DCM)?
- Retos comunes en la gestión de cambios de bases de datos.
- ¿Por qué es clave en entornos DevOps y CI/CD?
Conceptos Clave
- State-Based vs Migration-Based Approaches.
- Versionado de esquemas y control de cambios.
- Rollbacks: ¿Cuándo y cómo aplicarlos?
- Importancia de los entornos sincronizados (Dev, QA, Prod).
Herramientas en el Ecosistema Java
- Flyway: Filosofía Convention Over Configuration.
- Liquibase: Definición declarativa de cambios.
- ¿Cuándo usar cada herramienta? Casos prácticos.
MÓDULO 2: Creación de Proyecto en Distinta Tecnología
Preparando el Entorno con Flyway
- Java
- Jakarta EE
- Quarkus
- Spring Boot
Primeras Migraciones
- Creación de la primera versión de esquema:
V1__init.sql
. - Migraciones de datos iniciales.
- Organización de archivos de migración.
MÓDULO 3: Flyway Avanzado y Rollbacks
Características Avanzadas de Flyway
- Versioned Migrations vs Repeatable Migrations.
- Control de checksums y validaciones.
Implementación de Rollbacks
- Estrategias de rollback en Flyway.
- Creación de scripts de reversión.
- Simulación de fallos y recuperación controlada.
MÓDULO 4: CI/CD Pipeline con GitHub Actions
Automatización de Migraciones
- Principios de Integración y Despliegue Continuo.
- ¿Por qué automatizar migraciones en el pipeline?
Creación del Pipeline
- Configurar GitHub Actions para ejecutar:
- Build del proyecto.
- Ejecución de migraciones con Flyway.
- Simulación de despliegue a staging.
MÓDULO 5: Migraciones en Ambientes Multitenancy y Escalabilidad con Vaadin Flow
Estrategias de Multitenancy
- Base de datos por cliente (Solo para explicar concepto).
- Esquema por cliente (Se utilizará para hacer la demo).
- Filtro por columna (Solo para explicar concepto).
Implementación en Vaadin Flow
- Cargar dinámicamente configuraciones de bases de datos.
- Crear un servicio de migración dinámico con Flyway.
Cierre y Ronda de Preguntas
Materiales Incluidos
- Repositorio de los distintos proyectos y migraciones.
- Plantilla de pipeline de GitHub Actions.
- Scripts de migración y rollback.
- Estrategia multitenancy con código de ejemplo.
- Cheatsheet de comandos Flyway y buenas prácticas.
Instructor(s)
OpenTelemetry para todos
OpenTelemetry es un proyecto de la CNCF(Cloud Native Computing Foundation), en concreto es un framework para implementar observabilidad.
El hecho de que sea: Vendor- and tool- agnostic a veces en lugar de ayudar a adoptarlo confunde y crea cierta resistencia innecesaria a su difusión.
Está formado por varios componentes, y la intención de este taller es mostrar un repaso didáctico de todos estos componentes.Temario
- Introducción.
- ¿Por qué es necesario?.
- Metricas.
- Logs.
- Traces.
- ¿MELT?
- OpenTelemetry Framework
- OTLP. OpenTelemetry Protocol.
- Signals.
- Documentación de Referencia.
- Componentes Clave.
- Referencias.
- Dónde seguir.
- Laboratorios.
- Instrumentación
- Instrumentación Automática.
- Instrumentación con librerías.
- Instrumentación Manual.
- Troubleshooting.
Instructor(s)
- Introducción.
Notice:Here are some confirmed sessions. More will be posted in the near future
- Jakarta EE Meets AI
Most of us are not writing our own Large Language Models (LLMs). We are consuming them, and integrating them into our enterprise applications. Ang guess what? Java is the perfect language for this! You don't have to learn Python or any other language for your AI integrations.
This session will explore different options there are for Java developers and how to integrate them into your enterprise Java applications. There will be live demos using libraries and tools such as LangChain4J, Spring AI, and Jakarta EE. - How and why to participate in the future of the Java Platform
Much of the success of the Java programming language can be attributed to how the language evolves and how the worldwide community of #Javadevelopers collaborates in that evolution. It is you— members of the Java community who make that possibility a reality. The Java Community Process (JCP) Program is the process by which the international Java community standardizes and ratifies the specifications for Java technologies. We are celebrating 30 years of Java in 2025! The community collaboration in the JCP program is essential to Java. Learn about how to participate in the evolution and how to grow and build the next generation of Java developers, how we are working to advance of adoption of new versions of Java in the ecosystem. Also how we are evolving Java to be the platform of choice for AI workloads, We are looking forward to future innovations and community collaboration in the years to come. Learn what’s new in the platform in Java 25 and beyond, and how to participate in the community.
- Java: This Ain't Your Parent's Java
Java was once a language that dragged along at snail's pace. Thankfully, that's no longer the case. In the recent years the pace of development has accelerated, both in language features and in the JDK improvements. Come along to dive into some of the recent changes of Java that are both fun and powerful to use, to learn how you can benefit from these, and we'll also discuss where the language is heading in the near future.
- Java y grafos. Iniciemos con Neo4j
Las bases de datos orientadas a grafos siguen avanzando de manera discreta en el día a día de las soluciones informáticas.
La intención de esta charla es:
Recordar la importancia de una bbdd orientada a grafos.
Ver algunos casos de uso.
Saber por dónde empezar usando recursos gratuitos (conoceremos un servicio gratuito de neo4j).
Como conectarnos usando java (springboot, quarkus, helidon, micronaut). - Helidon 4 en Kubernetes: Lecciones Reales, Retos y Casos de Uso en Producción
Helidon 4, basado en Eclipse MicroProfile, es una opción poderosa para micro servicios en Kubernetes. En esta charla, compartiré lecciones aprendidas, retos enfrentados y casos de uso reales en producción, desde integración con bases de datos hasta consumo de APIs externas. Una sesión práctica con insights clave para optimizar distintas cargas de trabajo.
- De las Trincheras a Producción: Dominando GraalVM con Spring Boot
Aunque GraalVM promete arranques rápidos, menor consumo de recursos y capacidades políglotas, el camino a producción no siempre es simple. En esta sesión compartiré lecciones aprendidas trabajando con clientes que usan Spring Boot y GraalVM, enfocándome en modos JIT y Nativo. Cubriremos la configuración de plugins Maven como bootRun, bootBuildImage y graalvmNative, el manejo de reflexión y proxies dinámicos, y la automatización de generación de metadatos usando el repositorio de reachability de GraalVM. Esta no es solo otra demo: es un recorrido detallado desde la perspectiva de un programador, resaltando desafíos y soluciones al llevar aplicaciones reales a producción con GraalVM. También mostraremos despliegues con GitHub Actions y ejemplos de programación políglota práctica.
- 30 years programming: Lessons learned
I want to talk about what programming was 30 years ago, and what it has become today. Look at the trendy things that have come and gone, and come back again. Not in a "get off my lawn" tone, but rather to show how this industry is not that different from others; the good, the bad, the ugly. How Open Source changed the industry, and how the industry changed Open Source. What's in store for the newer generations.
- At Long Last, Queues for Apache Kafka - Unpacking Shared Groups (KIP-932)
Apache KafkaⓇ powers 80 percent of the Fortune 500 as a highly scalable event-streaming platform. Consumer groups assign partitions to members of the group, providing a powerful combination of ordering and scalability. But how can we scale the consumers in a group beyond the number of partitions of a topic?
Enter KIP-932 - aka “Queues for Kafka” - enabling multiple consumers in the group to process from the same topic-partition. In this session we’ll explore how shared groups provide better support for transactional workloads, load balancing, and event ordering, all while leveraging Kafka’s scalability and durability features. We’ll discuss how shared groups differ from classic consumer groups and when to use them. What better way to do this than actually looking at code? Let’s do that.
Shared groups make Kafka an even stronger alternative to traditional message brokers. Kafka veterans and beginners alike will find this session of interest, prompting you to rethink event processing. - Getting Groovy: AI-Powered Spock Testing
Spock is a testing framework for Java and Groovy applications known for its expressive specification language. With a JUnit runner, it integrates seamlessly with IDEs, build tools, and CI servers. Inspired by JUnit, RSpec, Groovy, Scala, and Vulcans, Spock brings a unique and efficient approach to testing. It utilizes Groovy’s Abstract Syntax Tree (AST) to eliminate boilerplate, enabling a fluid domain-specific language for tests.
Now, imagine taking Spock to the next level with AI. By integrating AI into testing, we can enhance efficiency and intelligence.
In this talk, I’ll minimize slides and focus on live coding to demonstrate the power of Spock with AI assistance. You’ll learn how AI tools can help write robust tests and elevate your testing skills. Join me to explore Spock and discover how AI can transform your testing approach. - Agilidad para Desarrolladores: Creando Software de Calidad de Forma Continua
En el mundo del desarrollo de software, la rapidez y la calidad a menudo parecen estar en conflicto. Sin embargo, con un enfoque ágil bien aplicado, es posible entregar software de alto valor de manera continua sin sacrificar la estabilidad ni la excelencia técnica.
En esta charla, exploraremos cómo los desarrolladores pueden aprovechar la agilidad para mejorar su proceso de construcción de software. Abordaremos temas clave como:
El ciclo de vida del desarrollo ágil: Cómo gestionar desde la idea hasta la entrega de valor de manera iterativa y eficiente.
Planificación ágil: Estrategias para planificar el trabajo sin caer en la burocracia ni en la falta de previsión.
Scrum, Kanban y XP: Cómo elegir y combinar estos marcos de trabajo para optimizar el flujo de desarrollo.
Entrega continua y calidad del código: Prácticas que aseguran que el software se mantenga en producción sin interrupciones ni regresiones.
Colaboración y mejora continua: Cómo fomentar la comunicación efectiva dentro del equipo y adaptarse al cambio de manera fluida.
Si eres desarrollador y quieres construir software de calidad de forma sostenible, esta charla te dará las herramientas y enfoques necesarios para lograrlo con agilidad. - Destripando la JVM: Instrumentación y Bytecode de Java
Aunque GraalVM promete arranques rápidos, menor consumo de recursos y capacidades políglotas, el camino a producción no siempre es simple. En esta sesión compartiré lecciones aprendidas trabajando con clientes que usan Spring Boot y GraalVM, enfocándome en modos JIT y Nativo. Cubriremos la configuración de plugins Maven como bootRun, bootBuildImage y graalvmNative, el manejo de reflexión y proxies dinámicos, y la automatización de generación de metadatos usando el repositorio de reachability de GraalVM. Esta no es solo otra demo: es un recorrido detallado desde la perspectiva de un programador, resaltando desafíos y soluciones al llevar aplicaciones reales a producción con GraalVM. También mostraremos despliegues con GitHub Actions y ejemplos de programación políglota práctica.
- Trabajando de Manera Sostenible en un Mundo Acelerado
El desarrollo de software es una industria dinámica y desafiante, con ritmos acelerados, altas expectativas y entornos demandantes. Esta charla explorará estrategias para trabajar de manera sostenible sin comprometer el bienestar. Se abordarán aspectos como el trabajo remoto sostenible, la adopción de hábitos saludables, y cómo desarrollar resiliencia emocional para afrontar los retos laborales con una mentalidad equilibrada.
También se discutirán estrategias como el mindfulness para el manejo del estrés, la mentalidad de crecimiento para asumir retos de manera curiosa, y la importancia de mantenerse actualizado sin caer en el agotamiento. La charla estará respaldada por investigaciones, datos y experiencias del sector. - Kotlin Coroutines: Más Allá del async/await
Kotlin Coroutines: Más Allá del async/await.
Kotlin ha revolucionado la programación asíncrona con coroutines, pero su verdadero potencial va mucho más allá de `async/await`. En esta charla, exploraremos:
1-Ejecución en paralelo y estrategias eficientes.
2-Flows y Streams para manejar datos asíncronos.
3- Errores comunes y cómo evitarlos.
4- Patrones avanzados para maximizar rendimiento y seguridad.
Si quieres dominar la concurrencia en Kotlin y escribir código más limpio y eficiente, esta sesión es para ti.