Full Text Search combining PostgreSQL with JPAFebruary 06, 2023

You are building an application using Spring JPA and want to implement a fast yet flexible full text search feature. Solutions like Hibernate Search might offer necessary tools at first sight, but come with limitations when you want to modify your search query with additional conditions. Check out this rather smooth alternative of combining PostgreSQL FTS with the JPA framework.

Keep Reading →

SAPUI5 Web Components in AngularJuly 19, 2022

Web components are basically custom HTML tags that are defined in JavaScript code and are reusable. They offer the great advantage that they can be used in any frontend framework or technology. Angular provides support for web components and custom elements. But sometimes we wish for deeper integration with the high-level APIs that Angular can provide us. In this post, we will show how we can use Angular Directives to extend SAPUI5 Web Components to work seamlessly with Angular Forms.

Keep Reading →

Modern Frontends - Art, Architecture and AutomationMarch 06, 2020

Frontends liegen sowohl im Fokus von Ästhetik und User Experience als auch effizienter Produktion. "Kunst oder Funktion?" fragen sich Frontendler, Backendler und Product Owner gleichermaßen. Wir gehen typischen Reibungszonen auf den Grund, zeigen, wie Frontends architektonisch organisiert werden können und zugleich gestalterische Freiheit erhalten, welche Bausteine dem Designer nützen und welche für Micro-Frontends praktisch sind, und stellen Automatisierungs-Möglichkeiten von Scaffolding über Generierung bis zum generischen Frontend vor.

Keep Reading →

Pagination and sorting for REST interface with SpringJune 19, 2017

Spring Data Rest has the ability to generate a CRUD REST layer based on Spring Data Repositories and their entities. This works quite nice and also includes an approach for pagination and sorting of the results. When the automatically created interface does not fit your needs and you are not able to configure it in the way you want it might makes sense to retain the pagination approach in manual implementation.

Keep Reading →

Micro service setup with Spring Cloud NetflixJune 17, 2017

There are many many ways how to set up a micro-service based application. The following article demonstrates how the Spring Cloud Netflix libraries can be used in order to build such an infrastructure. Besides the Spring stuff Hazelcast is taken as technology for session distribution.

Keep Reading →

Using Docker in JenkinsJanuary 19, 2017

Docker can be used nicely within your CI process in order to build and test your application in a real isolated environment. Gitlab (CI) integrated this possibility natively within the build as soon as you have configured it properly. Unfortunately, Jenkins does not offer this functionality out of the box. There are some plugins available that try to provide Docker related functionality but I was not able to set them properly and I needed an immediate solution. Hence, in the following I demonstrate how to set this up by hand.

Keep Reading →

PostgreSQL, JSON and HibernateDecember 08, 2016

NoSQL databases are hip these days. But good old relational databases can also be quite nice and even nicer databases systems like PostgreSQL have super-nice features, like JSON support, effectively allowing to store documents NoSQL-like without losing the advantages of relational databases.

Keep Reading →

Serving files with JAX-RSJuly 08, 2016

Although it is a very common requirement, serving files with Jax-RS can be challenging. Especially, if you want to provide media files like MP3s or videos and you expect e.g. chrome to be able to seek through these files, then you must support range requests. Furthermore, you want to avoid to load a whole file into the memory each this file is requested. In the following it will be described how to serve files with Jax-RS. (If you do not want to use Jax-RS there is also a widely used implementation of BalusC directly implemented in a servlet.)

Keep Reading →

Process management with dockerApril 15, 2016

Docker starts one process, only. So if you want to put an application in a docker container which requires more than one process, you need to manage the processes yourself as processes may exit or crash unexpectedly. Supervisord is a toll which will help in these events. Here's how to use it.

Keep Reading →