Nicolas Frankel

Developer Advocate with 15+ years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). Usually working on Java/Java EE and Spring technologies, but with narrower interests like Software Quality, Build Processes and Rich Internet Applications. Currently working for Exoscale. Also double as a teacher in universities and higher education schools, a trainer and triples as a book author.

From annotations to declarative, the path to more explicit Spring configuration

Day 3 - 29th Nov 09:30-10:20 Hall 7 #CM Advanced Novice

In the latest years, there has been some push-back against frameworks, and more specifically annotations: some call them magic. Obviously, they make understanding the flow of the application harder.

Spring and Spring Boot latest versions go along this trend, by offering an additional way to configure beans with explicit code instead of annotations.

It’s called functional, because it moves configuration from objects to behavior. This talk aims to demo a step-by-step process to achieve that.

In the end, the demo application will run without any annotations at all using only declarative configuration, thanks to a new initiative called Spring Fu.

Slides

Securing the JVM – Neither for fun nor for profit, but do you have a choice?

Day 2 - 28th Nov 16:20-17:10 Hall 3.2 #J2D Novice Novice

The Java API allows a lot: sending packets over the network, compiling code, etc. If you put an application in an production environment, you need to make sure it doesn’t do more than it’s supposed to do.
Consider a Java application in a private banking system.

A new network administrator is hired, and while going around, he notices that the app is making network calls to a unknown external endpoint. After some investigation, it’s found that this app has been sending for years confidential data to a competitor (or a state, or hackers, whatever). This is awkward. Especially since it could have been avoided.

Code reviews are good to improve the hardening of an application, but what if the malicious code was planted purposely? Some code buried in a commit could extract code from binary content, compile it on the fly, and then execute the code in the same JVM run…

By default, the JVM is not secured! Securing the JVM for a non-trivial application is complex and time-consuming but the risks of not securing it could be disastrous.

In this talk, I’ll show some of the things you could do in an unsecured JVM. I’ll also explain the basics of securing it, and finally demo a working process on how to do it.

Slides

Vladimir Shalamanov

Vlado is writing code for quite some time and still enjoys it a lot! He is a Senior Software engineer in REWE Digital and has 10+ years of experience in writing awesome java code and is yet curious for new learnings.

Domain-driven design, CQRS and Event sourcing

Day 2 - 28th Nov 15:20-16:10 Hall 3.1 #J2D Advanced Advanced Vladimir Shalamanov, Nikola Bogdanov

Self-organizing scrum teams are just not enough! As per the Agile Manifesto “The best architectures, requirements, and designs emerge from self-organizing teams.”, which is true. According the Conway’s law it is also true the opposite, every great team and working smooth is not possible without great architecture.

Microservices and practices like DDD, Event sourcing and CQRS are the answer of enabling the Agility. In REWE Digital we have learned a lot from these practices and we want to share the lessons learned, showing also some real examples, of course everything is Java based. The whole stack is super impressive, we use Spring boot, Apache Kafka and many more.

Slides

Rudy De Busscher

Senior Developer who loves to create (web) applications with the Java EE platform and MicroProfile.IO resources. I have spent the last 10 years implementing various projects in a team for customers, helped various Open Source projects (Apache Myfaces, PrimeFaces, DeltaSpike, MicroProfile.io, …), and already working 4 years around Web Application Security using OAuth2, OpenId Connect, and JWT

Alexey Ustenko

Alexey has more than 20 years of programming experience (mainly with Java stack). Now Alexey is an engineering manager in ATTRAQT – an international eCommerce company with offices in London, Sofia and Amsterdam. To be a manager does not mean to become less technical. It means that additional know-hows and energy are required to help teams of skilled professionals to be effective and evolving.

No wonders. Even at scale.

Day 2 - 28th Nov 13:30-14:20 Hall 3.1 #J2D Advanced Advanced Alexey Ustenko, Pavel Bushmelev

So, your system is well designed and thoroughly tested. It should run in production smoothly, shouldn’t it? If only it did! Alas, incidents happen.

Sometimes the reason is as simple (and embarrassing) as an edge case leading to a NullPointerException. But sometimes it’s really hard to understand the issue. You cannot believe it can ever happen! Yet it does. And after long hours of drilling in, you finally have an “aha! moment”:
A well known, widely used library gets stuck in…
An entire JVM crashes just because of…
It appears to be an explosive combination of your Cloud provider policies and…
A JVM setting, tweaked a few years ago…

No spoilers! Come and listen to four real stories of how “wonders” (not to say “nightmares”) which occurred in the production systems got investigated and how they have driven design or process improvements in our company.

Slides

Pavel Bushmelev

Cloud Operations Manager at ATTRAQT group

No wonders. Even at scale.

Day 2 - 28th Nov 13:30-14:20 Hall 3.1 #J2D Advanced Advanced Pavel Bushmelev, Alexey Ustenko

So, your system is well designed and thoroughly tested. It should run in production smoothly, shouldn’t it? If only it did! Alas, incidents happen.

Sometimes the reason is as simple (and embarrassing) as an edge case leading to a NullPointerException. But sometimes it’s really hard to understand the issue. You cannot believe it can ever happen! Yet it does. And after long hours of drilling in, you finally have an “aha! moment”:
A well known, widely used library gets stuck in…
An entire JVM crashes just because of…
It appears to be an explosive combination of your Cloud provider policies and…
A JVM setting, tweaked a few years ago…

No spoilers! Come and listen to four real stories of how “wonders” (not to say “nightmares”) which occurred in the production systems got investigated and how they have driven design or process improvements in our company.

Slides

Veselin Hristov

Veselin Hristov is Cloud and Middleware engineer at ITGix Ltd. Has 5+ years of experience in Linux administration working by DevOps mothodology. Veselin has a Master degree in Electronics from Technical University – Sofia. He has been working with many development teams across the world to deliver a stable infrastructure environment for his client’s software services.

Zero downtime deployments with Kubernetes, Docker and Spring-boot

Day 2 - 28th Nov 11:30-12:20 Hall 7 #CM Advanced Expert Veselin Hristov, Denis Danov, Angel Gruev

While building and deploying microservices (and not only) it is important to know the underlying framework that will be their host. This presentation will be focused on Kubernetes as a container orchestration framework and will target software developers that want to understand better how it works and what features does it provide for your microservices. The main focus will be on creating and deploying a microservice on Kubernetes and then performing a zero-downtime release and rollback.

The demo microservices use JAVA + Spring boot.

The presentation will cover:

  • Different ways of using K8S (Amazon, Google, On premise)
  • Deploy a simple demo microservice build with Java and Spring boot.
  • Using K8S Config Maps for storing configuration of your microservices.
  • Achieving Zero downtime deployments with Kubernetes rolling updates feature.
  • Taking care for the High Availability of your microservices
  • Kubernetes and continuous integration

Edwin Derks

Edwin is currently employed as Software Architect at Ordina JTech in the Netherlands. He has a passion for cloud driven development and serverless architecture. His career started in 2007 as a Java developer after graduating at Fontys Hogescholen in Eindhoven, also in the Netherlands. Aside from realising projects, he is often busy sharing knowledge at schools, meetups and conferences.

Thinking twice about migrating to Serverless

Day 2 - 28th Nov 17:20-18:10 Hall 3.2 #J2D Novice Advanced

Cloud environments provide everything you need to develop a conventional application as a Service, completely obscuring the underlying infrastructure. This style of software development is called ’Serverless’ development.

This could be the holy grail that saves development teams from maintenance and platform/server dependence. Many development teams are in the process of maintaining a monolithic application and are planning to migrate this application to a Serverless solution for this particular reason. But is this a valid reason in the context of the monolith?

In this talk we will go through a brief history of how we got here, and look at the steps that need to be taken when you are considering such a migration. I will provide the insights from my own experience so far. Building a Serverless solution is completely different from conventional application development, which raises a ton of questions about whether this is a suitable replacement for the monolith. Development teams need to be aware of both the technical and cultural impact on their team and even the company itself before initiating the migration.

Slides

Denis Danov

Denis Danov is full-stack developer and dev lead at Dreamix Ltd. He has 5+ years of experience in software engineering, research and development. Denis has a Bachelor degree in Software Engineering from Sofia University and Masters degree in Embedded Systems. He has worked with many teams located all around the world to deliver successful products for international companies.

Zero downtime deployments with Kubernetes, Docker and Spring-boot

Day 2 - 28th Nov 11:30-12:20 Hall 7 #CM Advanced Expert Denis Danov, Veselin Hristov, Angel Gruev

While building and deploying microservices (and not only) it is important to know the underlying framework that will be their host. This presentation will be focused on Kubernetes as a container orchestration framework and will target software developers that want to understand better how it works and what features does it provide for your microservices. The main focus will be on creating and deploying a microservice on Kubernetes and then performing a zero-downtime release and rollback.

The demo microservices use JAVA + Spring boot.

The presentation will cover:

  • Different ways of using K8S (Amazon, Google, On premise)
  • Deploy a simple demo microservice build with Java and Spring boot.
  • Using K8S Config Maps for storing configuration of your microservices.
  • Achieving Zero downtime deployments with Kubernetes rolling updates feature.
  • Taking care for the High Availability of your microservices
  • Kubernetes and continuous integration

Nikolay Stoitsev

Nikolay Stoitsev is a software engineer at Uber where he builds scalable and fault-tolerant backend distributed systems. The projects he is working on allow 2 million people around to world to earn money on their own schedule. They serve a community spread over more than 600 cities across 77 countries.

Large scale stream processing with Apache Flink

Day 2 - 28th Nov 10:30-11:20 Hall 3.1 #J2D Advanced Advanced

In today’s world it’s no longer enough to build systems that process big volumes of information. We now need applications that can handle large continuous streams of data with very low latency so we can react to the ever-changing environment around us. To efficiently handle such problems we need to deploy a stream processing solution. During the talk we’ll explore one of the most popular frameworks for stream processing – Apache Flink. We’ll see what unique capabilities it provides and how they apply to some real world problems. And we’ll also explore how it works under the hood and how to get the scalable and fault-tolerant stream processing that Flink provides.

Slides

Stefan Georgiev

I have more than 8 years of experience in software development. I have been working as SAP ERP and CRM ABAP developer. Currently I am working at Televic Group with Java technologies as OSGi, Apache Camel, Blueprint. I have an experience in Google GTFS specification. The last project that I am working is Passenger Information system for international rail companies. My interests are in Linux, Java, IoT, DevOps, LXC/LXD, Docker, Ansible, Vagrant.

Enterprise Integration Patterns (EIP) with Apache Camel in OSGi container and Blueprint

Day 3 - 29th Nov 13:30-15:20 Hall 8 #AIST Advanced Stefan Georgiev, Lachezar Kotov
  1. Introduction of EIP, Camel, OSGi and Blueprint
  2. Installation and integration of Eclipse IDE, BND and Karaf
  3. Explanation of five of the most powerful and feature-rich EIP
  4. Working examples on:
    • Aggregator EIP
    • Splitter EIP
    • Routing Slip EIP
    • Dynamic Router EIP
    • Load Balancer EIP
1 4 5 6 7 8 16