Blog & Articles

Blog Post

Springboot mit Keycloak in 2024

Zur Verknüpfung einer Springboot-Anwendung mit Keycloak gibt es wahrlich genug Tutorials im Netz. Allerdings gibt es in den neuesten Versionen beider Anwendungen einige Dinge zu beachten, die sich geändert haben.

Blog Post

Ist das Spring RestTemplate wirklich Deprecated?

Ist das Spring RestTemplate wirklich veraltet? Dieser Artikel beleuchtet die verwirrende Geschichte hinter der angeblichen Deprecation, klärt auf, was wirklich Sache ist und gibt praktische Empfehlungen für Entwickler. Erfahren Sie, warum Sie vielleicht doch nicht all Ihren Code umschreiben müssen.

Article

Social Engineering ist durchgespielt

Soziotechnische Welten - Teil 14

Article

Perfect solution for legacy code

This article is about people who are passionate about improving legacy systems. They are motivated to constantly reduce technical debt to ensure that software systems remain expandable in the long term. Prejudices and stereotypes in our industry prevent us from making the best possible use of these people’s potential.

Blog Post

Boring Innovation?

Does innovation always come with the latest technology or can innovation even seem boring? A quick look at a story from my work as an IT consultant.

Article

How To Build a Data Product with Databricks

Article

Modernisierung einer Legacy Software-Architektur

Software-Systeme reifen mit der Zeit. Sie werden oft über viele Jahre und von verschiedenen Architekten und Entwicklern angepasst, um neue Anforderungen zu erfüllen. Der Alterungsprozess lässt sich trotz sorgfältiger Pflege nie ganz aufhalten und so erhält irgendwann jedes System den Stempel „legacy“. Legacy Systeme unterstützen aber weiterhin wichtige geschäftliche Tätigkeiten. Wie führt man diese Systeme also zurück in die Gegenwart und bereitet sie auf die Zukunft vor?

Blog Post

Type-safe SQL queries in Java and Rust

In recent years, our industry has been in favour of strong typing and build-time verification to make certain classes of bugs impossible. How much influence has this trend had on how we can write SQL queries in Java? Let’s look at how typesafe SQL queries can be in Java, how this compares to what you can do in Rust, and consider the benefits and drawbacks of these different approaches.

Article

Nicht mehr Open-Source

Technologieentscheidungen rational treffen

Article

Identification of Team Boundaries

In the context of numerous initiatives and ideas such as Microservices, Agile, Domain-Driven Design, or Team Topologies, the focus is on establishing autonomous, cross-functional teams that exhibit a fast workflow and can respond agilely to changes. However, the challenge lies in finding appropriate boundaries for the areas of responsibility of these teams. This is the focus of this article.

Article

Die Ökonomie von Gut & Crypto III

In den ersten beiden Teilen zur soziotechnischen Betrachtung von Crypto-Technologien ging es um Vertrauen und die Rolle von Vermittlern bei Transaktionen. Dieses Mal soll der Gegenstand der Transaktionen im Mittelpunkt stehen: Geld.

Blog Post

Type-safe HTML templates in Java and Rust

The Type-Safe Web Stack, Part 2

Article

Die Ökonomie von Gut & Crypto II

Im vorherigen Teil dieser Kolumne wurde die soziale Funktion und die Funktionsweise von Vertrauen betrachtet und die Frage gestellt, inwiefern Technologie diese Funktion unterstützen oder sogar übernehmen kann. Diesmal soll es um die Frage gehen, inwieweit Vermittler dabei eine Rolle spielen und welche Auswirkungen Technologie auf diese hat.

Blog Post

gRPC

One of the main tasks that business sets for IT as an industry is the creation of effective software, according to criteria that clearly meet the needs of this business. On the other side, one of the main prerequisites for achieving the goals that a business sets for itself is the ability to hire specialists who can create a product in the shortest possible time and/or effectively maintain it. Accordingly, to achieve this, the technology stack used, i.e. tools, must be mature enough, and widely used in the market.

Blog Post

Type-safe HTTP routing in Java and Rust

The Type-Safe Web Stack, Part 1

Article

Was ist eigentlich htmx?

Nicht nur, aber vor allem im JVM-Umfeld stößt man in letzter Zeit immer wieder auf die Bibliothek htmx. Das Versprechen von htmx ist dabei nichts Geringeres, als das fehlende Puzzlestück von HTML zu sein. Deswegen wollen wir uns hier diese Bibliothek im Detail anschauen. Schließlich sollten wir in der Lage sein zu beurteilen, ob es uns in unseren Projekten hilft oder ob wir doch nach etwas anderem suchen sollten.

Article

API gut, alles gut

Unternehmen streben häufig eine Modularisierung (wie durch Microservices) an, die Teams unabhängiger voneinander arbeiten lässt. Dabei ist aber ein reines Aufteilen der Applikation in verschiedene Module/Container/Bausteine nicht ausreichend. Die Abhängigkeit oder Unabhängigkeit entscheidet sich vielmehr mit der Gestaltung der Schnittstelle, genauer: Mit der Frage, ob die gewählte Schnittstelle fachliche Implementierungsdetails preisgibt oder diese versteckt.

Blog Post

Bestehende Rich Clients erneuern

Führen alle Wege ins Web?

Article

Where does it go from here?

In this (fifth) installment of the mini-series on software architecture, we leave behind the realm of small to medium-sized systems and take a look at large, risky, and complex projects. In other words, we examine the “scaling” of the role of software architecture.

Article

Who does it?

In this (fourth) installment of the mini-series on software architecture, we explain who might carry out the architecture tasks that were discussed in the previous articles. I also present a number of possible role definitions for software architecture along with their pros and cons.

Blog Post

Communicating organizational changes with “Team Topologies”

Article

Automating Dependency Updates with Renovate

Regardless of whether we are working on an application or a library, we always have to deal with dependencies. We are dependent on the version of our programming language, on external or internal libraries, and on tools. In addition to the actual administrative tasks, it is also necessary to update these regularly. Even beyond performing the update itself, this means we need to learn when a new version exists. That’s why this article examines a bot-based solution that can help us with this exact issue.

Article

Technologies for the Integration of Services

In the course of an internal study, we asked a number of INNOQ consultants about their experiences in current or past development projects. One interesting topic here was the integration of microservices and self-contained systems (SCS). Asynchronous communication is frequently used in distributed systems to enable better scalability, greater resilience, and looser coupling. In this article, you will read what insights we learned in our conversations.

Article

Tasks and activities – How is it done?

Fundamentals of software architecture – Part 3

Article

Combinable Elements for User Interfaces on the Web

The way we develop user interfaces on the web has changed significantly in recent years. In this column, we therefore want to examine what a modern approach looks like and which challenges this poses, especially for classic template engines from the Java world.