Apache Groovy provides several ways to modify and update programs and classes by means of metaprogramming. Some of this options are available at runtime, some others at compile time, and some are even reachable to other JVM languages. These options allow library and framework authors to design better integrations, prototype new language constructs without grammar changes, deliver powerful and and gratifying DSLs, and more. Come to this talk to discover these options and learn how you can put them to work on your projects.
Heavy motivation to automate everything, even the automation itself, is the common understanding of the most DevOps teams. A strong dominance of administrators in those teams (Operations), transform ideas of increasing the development process to a personal playground. Far away from the necessities of the DEV team, which have to create a runable application.
The Java Community Process (JCP) program celebrates twenty five years of Java development in 2020. The JCP is the process by which the international Java community standardizes and ratifies the specifications for Java technologies. The JCP ensures high-quality specifications are developed using an inclusive, consensus-based approach. Read more about the JCP at https://jcp.org/en/procedures/jcp2_11.
This session will explore how Java development has been brought into the open over the past decade. Several Java developer efforts have brought open source development processes and new levels of transparency and participation into their communities.
Learn about the latest Java innovations to the Java SE Platform – Java SE 14, 15 and beyond.
Since the initiation of efforts to expand the developer participation in the Java community, Java standards development is more open that it ever has been.
Learn how to take part in the Java developer community and the upcoming changes to Java – you can participate as an individual, corporation, or nonprofit such as a Java user group (JUG).
This session answers questions about why and how to participate in the evolution of the Java platform. You will also learn about the global Adoption programs and how you can participate in contributing to the future of Java.
The Kubernetes hype train has reached full velocity and many organisations are now adopting the technology. There are a large number of available tools aimed at solving a broad set of problems but it can be daunting choosing which to invest in. This session aims to provide developers with a thorough grounding on Kubernetes concepts, suggest best practices and get hands-on with some of the essential tooling.
In this session we'll talk about building Java microservices that start in milliseconds and have a low memory footprint, which makes them perfect for cloud deployments. They can be built using GraalVM — a high-performance virtual machine, that can also compile Java applications into native executables.
You’ll learn how to get started, take a look at various frameworks that work with GraalVM native image, and learn about optimizing performance of native images.
Kotlin es un lenguaje moderno que podemos usar en la JVM. Muchos queremos escribir todo nuestro código en Kotlin, pero ¿qué pasa con las de líneas de código que ya tenemos escritas en Java? O tal vez tenemos una librería escrita en Kotlin y queremos que se pueda usar de manera fluida desde Java.
En esta charla, veremos las mejores prácticas para escribir código Kotlin y Java que funcione de manera tan fluida del otro que la única forma de saber en qué lenguaje está escrito es mirando el código fuente.
Micronaut es un framework para microservicios de la JVM que utiliza ahead-of-time (AoT) compilation en lugar de reflection. GraalVM es una nueva máquina virtual de Oracle que tiene la habilidad de compilar las aplicaciones Java a binarios nativos, haciendo que sea el compañero ideal de Micronaut. Con ambos el arranque de las aplicaciones es extremadamente rápido y el consumo de memoria muy pequeño.
En esta charla aprenderás cómo sacar provecho a GraalVM en tus aplicaciones Micronaut convirtiéndolas a aplicaciones nativas y cómo funciona la integración de ambos frameworks.
Have you always heard about refactor and it always sounded like a foreign language to you? Have you tried to change code several times but found it impossible to make such changes in several projects? Do you feel overwhelmed when working with legacy code?
Join this session to understand the benefits of refactoring your code and see some tips on how to do it safely!
We will start talking about what is legacy code, what we understand about refactoring and why it is so important nowadays, when in most cases we work with software that others have written. Later we will share when we should start thinking on refactoring code. Finally we will see in a live coding session some of the most important and useful refactoring techniques we could apply in our day-to-day job.
At the end of this session I hope you may have learn some new ideas on how to work with legacy code and how to apply certain techniques to make your day to day more enjoyable ;-)
AdoptOpenJDK is rapidly becoming a leading provider of OpenJDK™ binaries. With over 140 million downloads in the last year, it is now a serious contender for your production usage of Java™. AdoptOpenJDK provides prebuilt OpenJDK™ binaries from a fully open source set of build scripts and infrastructure. This talk will cover how we build on over 15 different platforms, execute over 87 million tests and distribute OpenJDK™ binaries to millions of users. We will also cover how AdoptOpenJDK binaries compare against the Java™ binaries that you use today. If you're curious to understand the difference between OpenJDK™, Oracle Java™, AdoptOpenJDK and all the other distributions, then this is the talk for you!
Por la mayoría de los proyectos empresariales, tests no son realmente agradables. Es aburrido, incómodo, y lleva su tiempo, de que crear tests, especialmente para aplicaciones distribuidos o cuando cambios en la funcionalidad existente fuerzan tests para adaptarse. De todos modos, tests son importantes; entonces, como podemos abordarlos esos en una manera efectiva?
Esta sesión va a mostrar como podemos probar Java microservicios de forma automatizada. Veremos cuales aproches funcionan bien, como podemos mantener un cicle de feedback rápido, cómo manejar escenarios complejos que involucran servicios múltiples, y cómo prueban nuestros contractos API. Únete a nosotros amigos para esta sesión de solo live-coding con Java, Quarkus, Docker y Kubernetes!
Adopting Continuous Integration and Continuous Delivery (CI/CD) is key for organizations hoping to take advantage of the power and flexibility cloud platforms have to offer. Tekton is a framework for building CI/CD pipelines built using the Kubernetes API.
Like with Kubernetes, there is a steep learning curve involved in learning, Tekton particularly if you primarily approach it from a developer background. In this presentation we will get an overview of Tekton, familiar with the terms and technology in Tekton, and what parts of Tekton developers should be familiar with.
The technology behind "The Best Country for observing the Northern Lights”
No matter what kind of jobs (developers, managers, CEO, etc.) we do, all of us have a hobby, sometimes even more than one and it is great! So, I’m not an exception here. I do landscape photography and I found myself in love with the Northern Lights, astrophotography and many more sub-genres. Have you seen that Green Lady dancing over the sky? Oh boy, you better do this ASAP!
A friend of mine asked me about traveling north for the purpose of hunting the Northern Lights. This type of question is very complicated to answer, there are reasons for that. How would you compare landscapes (sceneries), experiences, culture, and people of that culture? They are all unique! It was really problematic to answer such an inquiry.
Having a background in data analysis (and a bit of science), I decided to solve this problem as a software engineer - define a problem, find consumable data sources and do some code for the sake of the result!
In this talk, I’ll be covering the following parts:
- how a funny experiment turned into a case study; - how Java turned into the most powerful tool in the context of data analysis; - why Java and not Python.
The idea and the key takeaway of this talk are to showcase how your job skills and your hobby can work side-by-side to producing beautiful results and how useful Java could be for parallel data pipelines.
Starting from Java SE 9+ which was a major release for the Java programming language and the Java virtual machine. And java works fast to cope with new technology era, and we see this every 6 months, Java SE 9-15 includes many changes, the library additions and the new language features we're going to look at here are all great, and they're very useful in your day-to-day work.
So, let’s take a tour of the new features in Java SE 15, powered by code, the platform designed to support faster learning, and more productive Java development.
Desarrollar una aplicación empresarial bajo el framework Grails en su versión 4 utilizando las bondades en productividad que permite la herramienta.
With the advances in multicore hardware and virtualization technologies, and the demand for highly responsive, resilient, and elastic systems as well as increasingly sophisticated applications, an array of reactive data stream processing libraries have been born to address the needs. So what exactly is "Reactive Streams", and how can it meet our computing needs in today's demanding world?
Test-Driven Development (TDD) has been around for almost twenty years and, despite the claims of its followers, many developers aren't impressed and just don't do it. But wait, TDD is a foundational practice for agile development and things like DevOps, and succeeding with Microservices. So what's a developer to do? Come to this session. You’ll leave understanding the real problem with TDD and knowing how to succeed with it.
Having problems creating a maintainable set of integration tests for your enterprise Java application? This talk will help you understand how to use Test containers to implement easy integration tests for your next project!
Have you heard about Quarkus ? for sure you have, a new super fast, super light framework to develop cloud native and GraalVM compatible apps. But, is that easy to go the Quarkus way ? is it hard to migrate an existing Spring Boot app ? For sure in a hello world demo this will look fantastic ( they all look that way don’t they ? ) but, in a more complex app, is that nice ? is that easy ? is that fun ?
In this session I will show my experience from scratch migrating a Spring Boot app to Quarkus, using different technologies as Hibernate, Rest, Metrics …
Non-relational databases have come with the promise of assisting software in the Big Data age, handling the challenges of variety, velocity, and volume that come with it.
However, several points plague even the most experienced software architects: How do I migrate my data to NoSQL and which one? Where are the relationships? Should I use some ORM? The purpose of this talk is to answer all of these questions and provide some essential tips so that your NoSQL experience is not a disaster.
Learn how/why use spring boot and Vault together, and how could deploy easy with gitlab and DigitalOcean
Helidon es un framework para la construcción de microservicios, apoyado por Oracle.
Ademas de estar apegado a Microprofile (3.2) permite también la creación de código reactivo y es muy ligero. En esta charla repasaremos todas las bondades que ofrece para ser una opción interesante para el desarrollo de microservicios para la nube.
Java EE has been re-branded to Jakarta EE and moved to truly open source governance under the Eclipse Foundation. This session overviews what this means, offers a brief tour of the first release - Jakarta EE 8, explores current state and looks to what the future might bring including some key challenges. We will also discuss how these challenges can be overcome through active community engagement.
The technical contents of Jakarta EE 8 is mostly the same as Java EE 8 - it solidly enables HTTP/2, Server-Sent Events (SSE), JSON and aligns the platform with Java SE 8. It includes a much awaited security API overhaul as well as a slew of critical updates to APIs like JSF, JPA, JAX-RS and CDI. The true difference is how Jakarta EE is evolved in the open.
You should come to this session with your thinking caps on and your sleeves rolled up. There is much to help move forward together that really matters.
La gestión adecuada de la complejidad del desarrollo de software siempre has sido difícil. Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS) y Event Sourcing (ES) se han convertido en herramientas poderosos y útiles para el diseño y la arquitectura del software. Con estos conceptos como base, Axon ofrece una manera más fácil de usarlos en la práctica, creando microservicios o monolitos más capaces de adaptarse a los cambios que siempre vienen.
The purpose of this talk is to make programmers aware of the "happy path", how we always gravitate toward just coding it, and how we need to stay away from that way of thinking in order to make our software robust and resilient.
In an environment where software is constantly changing and new versions of a library should be distributed across thousands of projects, how can you know that your projects are using the right version of a given dependency? What if a OSS library introduces a security vulnerability and you need to make sure that no one is using it in your company? What if an internal library introduces a bad change and you need everyone to upgrade/downgrade? Automating these for hundreds or thousands of engineers is crucial.
At Netflix, engineers are not immune to the cost of dependency updates. Library owners publish new versions of their code without a comprehensive understanding of the organizational impact. Application owners ingest new library versions that can fail in obvious or subtle ways, leading to decreased confidence and slower organizational velocity. But these are problems we understand, and tooling can help.
After years of evolving our build, we've developed a few conceptual models of dependency management. Dependency management is hard, and in all cases there are compromises, and you the build owner should be conscious of which choices you're making and what else is available.
On this session, we'll introduce some tools we've developed at Netflix which attack dependency issues on a large scale to make it easier for every JVM engineer at Netflix and how we react to the scenarios mentioned above.
While most of our tooling is build around Gradle, the learnings from this talk can be applied to other build tools such as Maven.
Esta charla explicaremos los fundamentos de la Computación Cuántica, como la combinación de los principios de la Física de Partículas (física y/o mecánica cuántica) con las Ciencias de la Computación y la Teoría de la Información a dado paso a la creación de esta tecnología que revolucionará el futuro en algunas industrias. Hablaremos de algunos de los algoritmos existentes y los retos a los que nos enfrentamos para poder producir esta tecnología, y las aplicaciones o problemas específicos en los que impactará la computación cuántica.
In this talk, Sébastien is going to share the latest status of Spring team work on Spring GraalVM Native, the incubating project that allows Spring Boot applications to run as native executables using GraalVM ahead-of-time compilation.
He’ll talk about:
- The collaboration between GraalVM and Spring teams - Project Leyden - Cheaper and greener cloud hosting via reduced memory consumption and scale to 0 applications - Lightweight containers deployment - The challenge of compatibility and maintainability - Spring Boot applications without GraalVM reflection configuration via functional bean registration - Related architectural changes in Spring
He’ll finish this presentation by sharing a glimpse of the 2021 roadmap.
Demostración de como saber lo que ocurre dentro de un JVM mientras ejecuta una aplicación, así como poder conocer como se ven problemas con manejo de threads, memoria y objetos
Can I work with a portable serverless framework? Yes you can! Apache Camel K is a lightweight integration platform, born on Kubernetes, with serverless superpowers. In this session we will talk about the need to make a difference of what is function-as-a-service and what is serverless and we will cover why both playing together are great for development.
Clojure es un lenguaje de programación funcional, basado en LISP, que corre sobre la JVM y ofrece un conjunto de estructuras de datos inmutables y persistentes. Pedestal es un framework para construir servicios y aplicaciones HTTP. En esta charla aprenderemos a crear un servicio usando Pedestal: definir rutas, crear e iniciar un servidor HTTP y crear interceptores. Luego construiremos una imagen y la desplegaremos en un ambiente cloud.
DevOps is here to stay, and the terminology and concepts involved are now permeating the market. New products have been launched right and left that promise the benefits of DevOps - operational efficiency improvements and ultimately faster delivery timelines. Continuous Integration, Continuous Delivery/Deployment and Build Pipelines that accelerate every step of the Software Development Life Cycle are all advertised as idyllic solutions, but for exactly what problems?
During this session, Melissa will take a step back and answer the question that should be at the top of your mind: What is the problem we are trying to solve? She will discuss, from a developer’s perspective, the considerations you should take in order to effectively incorporate DevOps concepts into your existing environment. You will come away with a solid understanding of why these concepts are important, how to steer clear of the hype, and how to make the promised benefits of DevOps a reality for your team.
Lo que no se puede medir, no se puede mejorar.
Aprende a utilizar las API de MicroProfile para darle super poderes a tu aplicación con tolerancia a fallos y metricas en tiempo real.