Software Craft

Microservice Communication Patterns

A microservice architecture is all about communication. How should services communicate in any given business scenario? Should they call each other synchronously?

Read more

Publishing Open Source Releases to JCenter and Maven Central

In previous articles, I discussed how to publish snapshots to oss.jfrog.org and how to publish releases to Bintray using Gradle as a build tool.

Read more

7 Reasons to Choose Consumer-Driven Contract Tests Over End-to-End Tests

In a distributed system, testing the successful integration between distributed services is essential for ensuring that the services won’t fail in production just because they’re not speaking the same language.

Read more

A Checklist for setting up a Java-based Software Architecture

I recently had the opportunity to propose the architecture for a new large-scale software project. While it’s fun being paid for finding the technologies that best fit to the customer’s requirements (of which only a fraction is available at the time, of course), it may also be daunting having to come up with a solution that is future-proof and scales with expectations.

Read more

OpenID Connect

You may have already heard about OpenID Connect as the new standard for single sign-on and identity provision on the internet.

Read more

Tool-based Database Refactoring

The term “refactoring” is well defined in software development. It is usually used to describe a restructuring of source code ranging from simply renaming a variable to completely re-thinking whole components or applications.

Read more