Don't depend on details - an example

I recently read Clean Architecture by Robert C. Martin. The book gives a simple advice: don’t depend on details! For Uncle Bob details are things like the database or message broker. Your architecture shouldn’t depend on the actual implementation of those details. Whether you are using Oracle, MySQL or DynamoDB, whether it’s ActiveMQ, Kinesis or an in-memory Guava event bus - your architecture shouldn’t be affected.

Read More

find vs. get

Three years ago I wrote a blog post with the title Don’t use Optionals for data repositories. The post received a couple of critical comments and I had the feeling that I didn’t make my point clear.

Read More

Self-made event dispatcher

In my current project, we are using an event-based architecture in order to communicate between services. The events are implemented as JMS messages, which we send over ActiveMQ. Each system sends and listens to multiple events. While sending events is pretty easy, on the listener side we quickly ended up with a class explosion:

Read More

Simple permission handling in AngularJS

Despite a simple authentication, a lot of applications have a concept of authorisation. A user is not only logged-in, but has a set of roles which allow him to perform certain actions or see certain views. For example a user with the role ADMIN will probably be able to do more things as a user with the role CUSTOMER.

Read More