DevCon Live represents a powerful tool of learning sessions lead by experts for experts from the tech industry. Check the Agenda, find your perfect mix of events, and craft your own journey with the most important topics of the moment!

Intro speech

10:00 to 10:45
03 Nov 2020

Reactive Spring

Microservices and big-data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn't be such a big deal if we could add more threads cheaply, but threads are expensive on the JVM, and most other platforms. Even if threads were cheap and infinitely scalable, we'd still be confronted with the faulty nature of networks. Things break, and they often do so in subtle, but non-exceptional ways. Traditional approaches to integration bury the faulty nature of networks behind overly simplifying abstractions. We need something better. 

10:50 to 11:20
03 Nov 2020

API First vs. Code first: The 'why's and 'how's using Swagger, Spectral and openapi-generator-maven-plugin

The aim of this presentation is to make API first easier to adopt. To accomplish this, we'll compare API first to Code first, on multiple dimensions, like ease of use and impact in the project. By the end we'll have recommendations on when to use each of them. All the information will be backed by examples, and the respective code will be available on github.
11:25 to 12:05
03 Nov 2020

Java and the 40 versions

With Java 14 and 15 released recently, it is not simple to keep up with the new Java features. This talk will discuss the enhancements recently added to the Java platform, large and small. We will also touch on long-term, impactful, enhancements such as Project Loom and Project Panama.

Attend this session to understand what Java brings you in 2020.

12:10 to 12:40
03 Nov 2020

Java Spring Boot - starting point for transforming enterprise IT Digital Landscape

Since 2017 we’ve decided to use Java Spring Boot as the main framework for developing APIs in BCR. From a couple of software engineers now we are organized as Digital Labs with more than 50  developers and still growing.

We’ll discuss what technologies and tools we are using and how we are evolving and trying to stay close to the proven trends in Java, focusing on the microservices architecture for our newest platform that we are building nowadays. 

12:45 to 13:15
03 Nov 2020

Making data consistent within a distributed system

When developing new features we often trust already existing part of application and we almost always believe that our networks, hardware and databases will work as expected without issues. Each case described in this speech is production incident that lead to data loss or inconsistency - from non-transactional http calls, to Kafka message loss and XDR-related issues.
13:15 to 14:15
03 Nov 2020

Lunch Break

14:15 to 15:00
03 Nov 2020

Step by Step Modern Garbage Collection Tuning for Anyone

In the last couple of years straightforward JVM GC tuning has become possible with a simple flow that anyone can follow. For most of the last decade GC tuning was arcane and fragile, but now the options are clearer and more targeted and there is a clear step-by-step procedure you can follow, which I detail in this talk.
15:05 to 15:35
03 Nov 2020

Deep dive into Database Streaming with Java

Many times we find ourselves in the need of reacting to database changes and taking action depending on each case. While the use of triggers might be good enough initially, they tend to slow down the entire system when their number increases. But what about the binary log, a feature which sometimes people tend to leave behind?

15:40 to 16:10
03 Nov 2020

Dynamic SQL Performance

Blaming the Database / Myth vs fact / Classic ORM vs MyBatis 

16:15 to 16:55
03 Nov 2020

Coding That Sparks Joy With Quarkus

Does your heart beat faster when you’re developing your Java application? Does it spark joy when you’re coding? If not, then it’s time to leave some old ways behind.

Join us on this live coding session and get familiar with Quarkus. You’ll learn to love how your old and new favorite APIs will start in a matter of milliseconds and consume tiny amounts of memory. Hot reload capabilities for development will give you instant sparks of joy!

Intro Speech

  • George Stan Avatar George Stan Managing Partner & Trainer at AcademiaTestării
14:15 to 14:55
03 Nov 2020

Mocking your microservices with mock-server

How can I test my microservices? It's an often heard question that leads to a lot of debate. Deployment and interdependence with other services are the challenges we're facing there. So, what if we could treat our microservices tests just like our familiar unit tests? What if we could isolate the microservice and mock all its dependencies? 

15:00 to 15:40
03 Nov 2020

Shorten all URLs: Quarkus, Kotlin, Hazelcast and GraalVM in action

At a point in the past, it was forecast that Java would die, but the JVM platform would be its legacy. And in fact, for a long time, the JVM has been tremendously successful. Wikipedia itself lists a bunch of languages that run on it, some of them close to Java e.g. Kotlin, some of them very remote e.g. Clojure.

15:45 to 16:25
03 Nov 2020

Keeping Pace with what’s new in Java

Java is moving forward and faster than ever before. How do developers keep pace with what’s new in Java with its six-month release cadence?
Just knowing a feature is not sufficient. Join this live-coded session to stay ahead of the curve as Java adapts to the changing technology landscape and becomes more relevant than ever.

16:30 to 17:10
03 Nov 2020

Spring Boot Omakase: A fast-paced "chef’s choice" dive into fun & useful topics!

Spring Boot has revolutionized the Java space and continues to do so, evolving constantly to increase developers' superpowers and advance the state of production-grade software development.

10:30 to 12:00
03 Nov 2020

Maintaining distributed data consistency using Change Data Capture

One of the most common approaches when designing loosely-coupled (micro)service architectures is using a database per service. But given the fact that these services are communicating asynchronously, how can we make sure that the data remains consistent between all our systems?

Change Data Capture gives us a solution to this challenge: it allows us to react to database changes (insert/update/delete operations) of interest and propagate specific events to our event bus.

During this masterclass, we will be addressing the following topics:

     how to implement this pattern using open-source tools;

     advantages and disadvantages of such an approach;

     different ways to further improve our solution;

     other areas where CDC might prove useful.

While this session will have its examples and coding done in Java, the topics and challenges presented here are generally applicable to distributed systems regardless of the language of implementation. Minimal knowledge of microservice architectural patterns and synchronous / asynchronous communication would ensure your best experience.  

14:30 to 16:00
03 Nov 2020

MCR master class – Open Bank Development – Sample Digital Lab hands on

Open Bank Development is how we’ve named our internal community that adopts open source technology stack. Started around Java Spring Boot framework we evolved together with devops practices and frontend development. Sample Lab it’s our blueprint for applying standards and practices applied in an enterprise landscape. We invite you to deep dive in how we’ve put together all the pieces that makes life easier for a Java engineer inside a Lab at BCR.

16:00 to 17:30
03 Nov 2020

Building Reactive Application with R2DBC

Reactive programming has been rapidly gaining popularity in the industry lately. For a long time working with a database in a non-blocking, backpressure-aware manner in Java was almost impossible.

11:00 to 11:45
03 Nov 2020

Kotlin: Lessons From The Backend

Attila provides some of the lessons learned from adopting Kotlin in backend applications. This talk lays out a clear path containing the steps towards using Kotlin on your Java projects. Both tips and common hurdles when migrating towards Kotlin are addressed.

12:00 to 12:45
03 Nov 2020

Moving Java to Telco Cloud. A better CI/CT?

When many of the projects are Java, there are a few challenges to establishing a competent CI/CD workflow. From the code-coverage (both with unit-tests and functional tests) to building containers for multiple development/test/production systems, you need the correct frameworks in place. 

  • Mihai Ionita Avatar Mihai Ionita System Architect at R Systems Computaris Europe