A Qute Way to Visualise Data with Panache

In this blog post I’ll show you how develop a Quarkus application to easily access your relational database (using Hibernate ORM with Panache) and display its content in HTML with Qute templates. To break it into more details, in this blog post you will learn: What is Hibernate ORM with Panache? How to access a relational database with Hibernate ORM with Panache. What are Qute templates? How to display the … Continue reading A Qute Way to Visualise Data with Panache

Merry Chistmas And Happy Fallback With Microprofile

I first wrote this article for the Java Advent calendar 2020. I then copied it to my own blog. Christmas is coming! Like every year, Santa needs to schedule its presents delivery. Can you imagine? Millions of (good) children will receive a present on the night of the 24th of December. To achieve this prowess, Santa needs a bit of technical help to schedule the … Continue reading Merry Chistmas And Happy Fallback With Microprofile

Two Quarkus Books for Christmas

It’s been a while since I haven’t blogged… but that’s because I was busy writing two books on Quarkus! When Quarkus was announced in November 2018 I was very enthusiastic with what I saw. It was the beginning of Quarkus, but it was already promoting developer’s joy (hot reload, easy configuration, etc.), Cloud-Native, speed, small… but what I liked the most was the fact that … Continue reading Two Quarkus Books for Christmas

Configuring A Quarkus Application With Profiles

This blog post follows the first one I wrote about Configuring A Quarkus Application. So, if you want to know how to configure a Quarkus application using a Unified Configuration (application.properties file), Microprofile Config or system properties, please refer to this previous post. In this blog post I will show you how to use Profiles in Quarkus. Use Case I’ll use the same example as … Continue reading Configuring A Quarkus Application With Profiles

Configuring A Quarkus Application

In this blog post I’ll show you how to configure a Quarkus application using the specific application.properties file as well as the Microprofile Config API (check my other post for configuring with profiles). To break it into more details you will learn: How to configure a Quarkus application and have separate values for development and test How to use Microprofile Config to inject values How … Continue reading Configuring A Quarkus Application

JHipster, Angular, PrimeNG and AutoComplete

JHipster is a great way to bootstrap your application. Your app can be a monolith or be split into several microservices, use JWT or OAuth2, packaged with Docker, deployed on a cloud provider… JHipster is there to handle the heavy technical complexity. Great ! But… when it comes to choosing an item from a combobox, JHipster is not that great. In this post I will … Continue reading JHipster, Angular, PrimeNG and AutoComplete

Angular Libraries and Microservices

We live in a Microservices world, and this world is there to stay. Back-end developers need to dive into Domain Driven Design, write stateless, resilient, highly available services, keep data synchronized through Change Data Capture, handle network failure, deal with authentication, authorization, JWT… and expose a beautiful Hypermedia API so the front-end developers can add a great user interface to it. Good ! But what about the front-end … Continue reading Angular Libraries and Microservices

Welcome To My First Fascicle on Bean Validation

For those who follow me, you know that I wrote a few books on Java EE. For those who follow Java EE, you know that there is a version 8 out there. For those wondering when I’ll be updating my book to Java EE 8, I’ll say “I’ll never write again!”…. But never say never. I’ll never write again Involved in J2EE since 1998, I followed … Continue reading Welcome To My First Fascicle on Bean Validation

Configuring the AsciiDoctor Maven Plugin

AsciiDoc is a great way to write technical documentation. It is text based, can be committed and versionned in your VSC with your project, has a rich syntax, has a huge ecosystem, integrates with several tools (such as PlantUML that I love) and, if there is still something missing, you can use extensions or create your own. And if you use the asciidoctor-maven-plugin to automatically generate … Continue reading Configuring the AsciiDoctor Maven Plugin

Talks I Gave at Conferences and Meetups

Here is the list of talks I gave at conferences and meetups (and I try to keep this list up to date): 2018-04 – Baking A Microservice PI(e) (with Roberto Cortez) – Devoxx UK (London, UK) 2017-11 – Baking A Microservice PI(e) (with Roberto Cortez) – Devoxx (Antwerp, Belgium) 2017-05 – The PluraSight Experience (with Koffi Sessi) – Devoxx UK (London, UK) 2017-04 – Java EE, MicroServices, TypeScript and … Continue reading Talks I Gave at Conferences and Meetups

When Enterprise Java Micro Profile meets Angular

With my friend Sebastien Pertus, we decided to create a 3 hours university on “how an Angular front-end could communicate with an Enterprise Java Micro Profile back-end”. So we spent a few months organizing the slides and the code, giving the talk at several conferences and JUGs…. and here are the videos and slides finally public. In this talk, I play my role (a back-end … Continue reading When Enterprise Java Micro Profile meets Angular

Automating Administrative Tasks with iText and DocuSign

The one thing I hate the most is wasting time in administrative tasks. When you have a company, deal with customers, invoice, pay taxes, sign contracts, etc. you end up spending a lot of time doing admin instead of your real work. What do you do? Well, you don’t have the choice. At the beginning it’s so scary, that you print paper, sign it with … Continue reading Automating Administrative Tasks with iText and DocuSign

AllCraft : Ma Nouvelle Aventure

Update: après plusieurs mois de tractations, de contacts et de rencontres, nous nous rendons compte que le modèle AllCraft n’est pas encore viable. Nous mettons donc la société en pause en espérant reprendre de plus bel, lorsque le marché sera plus mature. Une fois n’est pas coutume, je blogue en français. Après avoir travaillé en SSII, travaillé pour un éditeur, pas travaillé (et oui, faut … Continue reading AllCraft : Ma Nouvelle Aventure

Securing JAX-RS Endpoints with JWT

In this blog post I’ll show you how to use the JJWT library to issue and verify JSon Web Tokens with JAX-RS endpoints. The idea is to allow an invocation when no token is needed, but also, be able to reject an invocation when a JWT token is explicitly needed. Let’s say we have a REST Endpoint with several methods: methods that can be invoked directly, and methods that … Continue reading Securing JAX-RS Endpoints with JWT

Just Enough App Server with WildFly Swarm

Application Servers have changed a lot: consuming less memory, being faster at startup time… Now it’s time to change the way we package our applications: from Ears, to Wars, and now to executable Jars. This is what I explained in this “Just Enough App Server” talk I gave at few conferences lately. So if you want to know more about Application Servers today, you can watch … Continue reading Just Enough App Server with WildFly Swarm

“Micro Profile in Enterprise Java” Announced !

The developers’ world is a mixture of evolutions and reinventing the wheel. When I was doing EJBs 1.0 back in 1998, I was doing Micro Services. But I had to wait 2014 for someone to give it a name, and 2016 to see it officially arriving in Enterprise Java. So here we are: a Micro Profile has been announced for Enterprise Java. What? A Micro Profile! For … Continue reading “Micro Profile in Enterprise Java” Announced !

O Java EE 7 Application Servers, Where Art Thou?

Updated Thanks for your comments. I’ve added Undertow to the test ( “Servlet-Only Distribution” on the WildFly download page), corrected some mistakes, but more important, I’ve changed the memory benchmark: I now take a memory usage measure at startup, I then perform GC and wait a bit for memory to stabilize. This gives a nice min and max memory usage. Damn, I’ve been waiting so long to … Continue reading O Java EE 7 Application Servers, Where Art Thou?

CDI and Forge Talks in Europe and Morocco

Are you going to JavaOne? Well I’m not! But instead I’ll be doing some talks in October and November in Europe and Morocco. Four years ago I toured central Europe giving CDI talks. Next week I’ll start another tour with CDI and Forge talks. Here is my schedule : Tuesday 20th of October – JUG Frankfurt (Map) : Talk on JBoss Forge at 6:30pm. This is mostly … Continue reading CDI and Forge Talks in Europe and Morocco

Who Cares About toString Performance?

Who cares about toString performance? Nobody! Except when you have huge amount of data being processed in a batch that does plenty of logging using toString . Then, you investigate why it’s slow, realize that the toString method is mostly implemented using introspection and can be optimized. But first, let’s have a look at the Javadoc to remember what a Object.toString should do: “returns a textually representation … Continue reading Who Cares About toString Performance?

Four CDI Articles in the Java Magazine

If you want to learn about CDI you can read the 4 articles I wrote in the Java Magazine : Part I : Using strong typing in dependency injection (May/June 2015). This article covers basic dependency injection with CDI, @Inject, Qualifiers and Alternatives. Part II : Integrating third-party frameworks (July/August 2015). Covers Producers, InjectionPoint API and Diposers Part III : Loose coupling (September/October 2015). This article covers Interceptors, … Continue reading Four CDI Articles in the Java Magazine

Buzz Word Bingo 2015

For my next talk I need a slide with dozens of technical buzzwords. Working in the IT industry, I am, and deal, with fashion victims (i.e. the best language/framework/tool/law is 6 months old). But because I couldn’t find more than 12/15 buzzwords, I’ve asked Twitter some help, and manage to reach more than 50 buzzwords. Thanks to the Tweetosphere ! Here are a few buzzwords in alphabetical … Continue reading Buzz Word Bingo 2015

A Full CDI 1.1 Course on Pluralsight

I’m happy to announce that my course on CDI 1.1 has been published on PluralSight. This 3:40 hours long course is divided in several modules : Introduction (17:48) : Why do we need dependency injection in our applications, how do we usually do it, how can CDI help us Understanding Context and Dependency Injection (20:24) : Get the basis of what CDI is, what it’s … Continue reading A Full CDI 1.1 Course on Pluralsight