Clement Escoffier

Who am I? That’s a good question. I had several professional lives, from academic positions to management. Currently, I’m working for Red Hat as Vert.x core developer. I have been involved in projects and products touching many domains and technologies such as OSGi, mobile app development, continuous delivery, DevOps… My main point of interest? Software engineering, so processes, methods, tools that make the development of software more efficient and also more fun. I’m also an active contributor to many open source projects such as Apache Felix, iPOJO, Wisdom Framework, and obviously, Eclipse Vert.x. 

Recent Posts

Eclipse Vert.x logo

When Vert.x Meets Reactive eXtensions (Part 5 of Introduction to Vert.x)

This post is the fifth post of my Introduction to Eclipse Vert.x series. In the last post, we saw how Vert.x can interact with a database. To tame the asynchronous nature of Vert.x, we used Future objects. In this post, we are going to see another way to manage asynchronous code: reactive programming. We will see how Vert.x combined with Reactive eXtensions gives you superpowers.

Let’s start by refreshing our memory with the previous posts:

  • The first post described how to build a Vert.x application with Apache Maven and execute unit tests.
  • The second post described how this application became configurable.
  • The third post introduced vertx-web, and a collection management application was developed. This application exposes a REST API used by an HTML/JavaScript front end.
  • In the fourth post, we replaced the in-memory back end with a database and introduced Future to orchestrate our asynchronous operations.

In this post, we are not going to add a new feature. Instead, we’ll explore another programming paradigm: reactive programming.

Continue reading “When Vert.x Meets Reactive eXtensions (Part 5 of Introduction to Vert.x)”

Share
Eclipse Vert.x logo

Accessing Data – The Reactive Way

This is the fourth post of my “Introduction to Eclipse Vert.x.” series. In this article, we are going to see how we can use JDBC in an Eclipse Vert.x application using the asynchronous API provided by the vertx-jdbc-client. But before diving into JDBC and other SQL subtleties, we are going to talk about Vert.x Futures.

In “The Introduction to Vert.x” Series

Let’s start by refreshing our memory about the previous articles:

  1. The first post described how to build a vert.x application with Maven and execute unit tests.
  2. The second post reviewed how this application became configurable.
  3. The third post introduced vertx-web, and a collection management application was developed. This application exposes a REST API used by an HTML/JavaScript frontend.

Continue reading “Accessing Data – The Reactive Way”

Share
Eclipse Vert.x logo

Some REST with Vert.x (Part 3 of Introduction to Vert.x)

This post is the third in a series on the Introduction to Eclipse Vert.x. So, let’s have a quick look back at the content of the previous posts. In the first post, we developed a very simple Eclipse Vert.x application and saw how this application can be tested, packaged, and executed. In the second post, we saw how this application became configurable and how we can use a random port in a test.

Well, nothing fancy… Let’s go a bit further this time and develop a CRUD-ish / REST-ish application. So an application exposing an HTML page interacting with the backend using a REST API. The level of RESTfulness of the API is not the topic of this post; I leave it you to decide as it’s a very slippery topic.

So, in other words, we are going to see:

  • Vert.x Web – a framework to let you create web applications easily using Vert.x.
  • How to expose static resources.
  • How to develop a REST API.

Continue reading “Some REST with Vert.x (Part 3 of Introduction to Vert.x)”

Share
Eclipse Vert.x logo

Eclipse Vert.x Application Configuration (Part 2 of Introduction to Vert.x)

In my previous post, Introduction to Eclipse Vert.x, we developed a very simple Vert.x application and saw how this application can be tested, packaged, and executed. That was nice, wasn’t it? Well, that was only the beginning. In this post, we are going to enhance our application to support external configuration, and learn how to deal with different configuration sources.

Continue reading “Eclipse Vert.x Application Configuration (Part 2 of Introduction to Vert.x)”

Share
Eclipse Vert.x logo

Introduction to Eclipse Vert.x – My First Vert.x Application

Let’s say, you heard someone saying that Eclipse Vert.x is awesome. Ok great, but you may want to try it yourself. The next logical question is “where do I start?”. This article is a good starting point. It shows: how to build a very simple Vert.x application (nothing fancy), how it is tested, and how it is packaged and executed. Basically everything you need to know before building your own groundbreaking application.

The code developed in this article is available on GitHub. This is part of the “Introduction to Vert.x Series”. The code for this post is located in the https://github.com/redhat-developer/introduction-to-eclipse-vertx repository in the post-1directory.

Continue reading “Introduction to Eclipse Vert.x – My First Vert.x Application”

Share

SnowCamp 2018 Trip Report

Last week, Red Hat was present at the SnowCamp conference in Grenoble, France. The SnowCamp is a technical conference that includes a unique combination of deep dive sessions (universities), technical talks, and a final day on the ski slopes. With around 400 attendees and 70 sessions, this third edition of the SnowCamp was a great opportunity to meet the developers from the Grenoble area, in the most innovative city in the world (Source: Forbes  and Mashable). Red Hatters presented 2 universities and 7 talks covering many projects and products, such as OpenShift, Infinispan, Monitoring, and Containers.
Let’s have a look to them.

Continue reading SnowCamp 2018 Trip Report

Share

5 Things to Know About Reactive Programming

Reactive, what an overloaded word. Many things turn out to become magically Reactive these days. In this post, we are going to talk about Reactive Programming, i.e. a development model structured around asynchronous data streams.

I know you are impatient to write your first reactive application, but before doing it, there are a couple of things to know. Using reactive programming changes how you design and write your code. Before jumping on the train, it’s good to know where you are heading.

In this post, we are going to explain 5 things about reactive programming to see what it changes for you.

Continue reading “5 Things to Know About Reactive Programming”

Share

Live Coding Reactive Systems w/Eclipse Vert.x and OpenShift

Do you know the battery level in your smartphone is controlled by reactive software; which is software that reacts to a set of external events, such as requests, failures, availability of services, etc? This was what I recently addressed as a slideless session consisting of pure, live coding at the Red Hat Summit this past May.

Continue reading “Live Coding Reactive Systems w/Eclipse Vert.x and OpenShift”

Share