Blog & Articles

Article

Modernisierung einer Legacy Software-Architektur

Blog Post

Type-safe SQL queries in Java and Rust

The Type-Safe Web Stack, Part 3

Article

Nicht mehr Open-Source

Was kann man tun, um sich vorab dagegen zu wappnen, plötzlich für eine wichtige Technologie einem Anbieter ausgeliefert zu sein? Kann es auch eine valide Entscheidung sein, das Risiko bewusst in Kauf zu nehmen? Und sind die Risiken, die sich bei Verwendung von Open-Source-Technologien ergeben, per se geringer als bei kommerziellen Alternativen? Wie geht man damit um, wenn eine Technologie, die man verwendet, plötzlich nicht mehr Open-Source ist? Ist es sinnvoll, zu einem Fork zu wechseln, und welche Risiken bestehen dabei?

Article

Identification of Team Boundaries

How to Identify Boundaries for Autonomous, Cross-Functional Teams

Article

Die Ökonomie von Gut & Crypto III

Soziotechnische Welten - Teil 13

Blog Post

Type-safe HTML templates in Java and Rust

The current fashion in our industry is to use static and strong typing wherever possible. How fashion-conscious is the Java community when it comes to HTML templating, though? Let’s have a look at what approaches at type-safe or build-time verified HTML templating are available in the Java ecosystem, how they compare to what’s available in Rust, and whether the benefits outweigh the costs.

Article

Die Ökonomie von Gut & Crypto II

Soziotechnische Welten - Teil 12

Blog Post

gRPC

What, Why and How

Blog Post

Type-safe HTTP routing in Java and Rust

In recent years, the trend in our pop-culture industry has been to favour static and strong typing as well as build-time checks over dynamic typing and techniques like late binding. Where possible, you are expected to use the compiler for correctness checks instead of unit tests. Even though the Java language is statically typed, its type system is often considered to be not very helpful. Web applications written in Java are traditionally bristling with weakly typed APIs, heavy use of reflection, and lots of annotations that are interpreted at runtime. Let’s see how far the trend towards build-time checks has been adopted in the Java ecosystem when it comes to writing web applications, how it compares to what’s done in the Rust community, and what benefits and weak points these techniques have.

Article

Was ist eigentlich htmx?

Das fehlende Puzzlestück von HTML?

Article

API gut, alles gut

Schnittstellen für unabhängige Systeme

Blog Post

Bestehende Rich Clients erneuern

Oft gibt es Rich-Clients die als Backoffice-Applikation wichtige Funktionen erfüllen und nun Probleme machen: egal ob es um Support für mobile Geräte oder um einfaches Arbeiten von zu Hause geht oder auch nur um das Sicherstellen der Weiterentwicklung – Rich-Clients kommen mit Ihren eigenen Problemen. Ob die richtige Antwort für die Modernisierung solcher Applikationen immer die Migration zu einer Webapplikation ist, wollen wir in diesem Artikel beleuchten.

Article

Fundamentals of software architecture: Part 5

Where does it go from here?

Article

Fundamentals of software architecture: Part 4

Who does it?

Blog Post

Communicating organizational changes with “Team Topologies”

Whenever the need arises to set up a new team, split a team into two or move responsibilities between teams it is necessary to have a good idea of where you are and where you want to be after the change. Additionally to the current and final states you will very likely have phases with intermediate states. To help everyone involved to have a shared understanding of which phases you will transition through - and when responsibilities and communication channels have to be created or changed - a visual representation of these states can be used to paint a (literal) common picture.

Article

Automating Dependency Updates with Renovate

Always stay up to date

Article

Wie gemacht für Legacy-Code

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

Compliance in hybriden Betriebsumgebungen

Eine soziotechnische Betrachtung

Article

Fundamentals of software architecture: Part 3

Tasks and activities – How is it done?

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.

Blog Post

Extending the OpenTelemetry Java Agent for Spring Auto-Instrumentation

Article

Zukünftige Features des JDK

Ein Blick in die Glaskugel

Blog Post

Entwickeln mit ChatGPT

In der Welt der Softwareentwicklung ist das Wissen darüber, wo man Informationen findet, oft wertvoller als alles auswendig zu wissen. Doch was, wenn ein Werkzeug nicht nur Informationen liefert, sondern auch lernt, Probleme zu lösen und beim Entwickeln zu assistieren? In diesem Blog Post berichte ich aus meinem Alltag als Entwicklerin und wie mich ChatGPT bei beruflichen Aufgaben unterstützt - sei es bei der Einarbeitung in neue Programmiersprachen, dem Schreiben von Skripten oder dem Umsetzen von kreativen Ideen.

Article

The Evolutionist

Software Architecture Work on Existing Systems