<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Architecture on Maarten on IT</title><link>https://maarten.mulders.it/categories/architecture/</link><description>Recent content in Architecture on Maarten on IT</description><generator>Hugo</generator><language>en-us</language><copyright>&amp;copy; 2013 - 2026 Maarten Mulders</copyright><lastBuildDate>Tue, 10 Feb 2026 08:46:38 +0100</lastBuildDate><atom:link href="https://maarten.mulders.it/categories/architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>Devnexus 2024</title><link>https://maarten.mulders.it/2024/04/devnexus-2024/</link><pubDate>Wed, 10 Apr 2024 18:50:00 -0400</pubDate><guid>https://maarten.mulders.it/2024/04/devnexus-2024/</guid><description>&lt;p&gt;This year, I again have the pleasure to join Devnexus and speak there.
In this blog, I&amp;rsquo;ll highlight some of the sessions that I&amp;rsquo;ve joined.&lt;/p&gt;</description></item><item><title>Why Write Boring Apps?</title><link>https://maarten.mulders.it/2024/03/why-write-boring-apps/</link><pubDate>Fri, 01 Mar 2024 15:00:00 +0200</pubDate><guid>https://maarten.mulders.it/2024/03/why-write-boring-apps/</guid><description>&lt;p&gt;If you&amp;rsquo;ve built any kind of web-based application in the last decade, chances are you were building a &lt;em&gt;single-page application&lt;/em&gt; (SPA).
This means you&amp;rsquo;ve been writing JavaScript or Typescript, had to work with the Node Package Manager or Yarn, needed to understand a framework like Angular, React or Vue &lt;em&gt;and&lt;/em&gt; had to learn a new testing framework (or two).
And that would have been only the basics.
You would probably use other libraries, frameworks and toolkits: for styling the user interface, for doing API calls using REST and/or GraphQL, and for writing reusable components.
But we usually take the pain, because the alternative is just&amp;hellip; &amp;ldquo;boring&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;But it is time to reflect on this approach.
It drags in a lot of complexity, but what does it give us?
More complexity!
At the end of the day, everyone will probably agree that simplicity is important.
And what we want to achieve is a simple thing: displaying some information to a user.
So why all that complexity?&lt;/p&gt;</description></item><item><title>Devnexus 2023 live blog</title><link>https://maarten.mulders.it/2023/04/devnexus-2023-live-blog/</link><pubDate>Wed, 05 Apr 2023 17:49:15 +0200</pubDate><guid>https://maarten.mulders.it/2023/04/devnexus-2023-live-blog/</guid><description>&lt;p&gt;This week, I&amp;rsquo;m attending the 19th edition of the Devnexus conference in Atlanta!
In those 19 years, Devnexus has truly grown to being one of the biggest Java and JVM-related conference in Nothern America, and it&amp;rsquo;s always been a pleasure to be there.
This year marks my fourth attendance as a speaker, and I&amp;rsquo;ll be doing two talks myself.&lt;/p&gt;
&lt;p&gt;In this post, I&amp;rsquo;ll be live blogging about some of the sessions that I&amp;rsquo;ve joined. Enjoy!&lt;/p&gt;</description></item><item><title>Notes from JavaZone</title><link>https://maarten.mulders.it/2022/09/notes-from-javazone/</link><pubDate>Mon, 12 Sep 2022 21:56:13 +0200</pubDate><guid>https://maarten.mulders.it/2022/09/notes-from-javazone/</guid><description>&lt;p&gt;Last week, I attended JavaZone, the annual conference ran by javaBin, the Norwegian Java User Group.
I have attended JavaZone in the past (2018) so I knew what to expect - and the bar was high!
Because of that, I was looking forward a lot to join JavaZone again.
Also, this would be my first conference as a Java Champion, which made it even more special.&lt;/p&gt;</description></item><item><title>The Dapr SDK for Java: Pub/Sub &amp; Distributed Tracing</title><link>https://maarten.mulders.it/2022/01/the-dapr-sdk-for-java-pubsub-distributed-tracing/</link><pubDate>Tue, 11 Jan 2022 09:36:13 +0200</pubDate><guid>https://maarten.mulders.it/2022/01/the-dapr-sdk-for-java-pubsub-distributed-tracing/</guid><description>&lt;p&gt;It&amp;rsquo;s been a while since the first two posts about Dapr!
In those first installments, we looked at the basics of Dapr, from a very conceptual point of view.
We also looked at the bare minimum HTTP API that Dapr exposes to the applications that use it.
But writing enterprise applications that way would be slow, and it would inevitably lead to mistakes.
In this article, I will introduce you to a higher abstraction level of working with Dapr.&lt;/p&gt;</description></item><item><title>Jakarta EE meets Dapr</title><link>https://maarten.mulders.it/2021/09/jakarta-ee-meets-dapr/</link><pubDate>Tue, 28 Sep 2021 09:46:13 +0200</pubDate><guid>https://maarten.mulders.it/2021/09/jakarta-ee-meets-dapr/</guid><description>&lt;p&gt;Earlier this month, I introduced you to Dapr, the Distributed Application Runtime.
That was a mostly conceptual introduction, showing you how Dapr works and what it can do for you.
But how do you integrate it into an existing application?
That&amp;rsquo;s the topic for today.&lt;/p&gt;</description></item><item><title>Getting to know Dapr</title><link>https://maarten.mulders.it/2021/09/getting-to-know-dapr/</link><pubDate>Fri, 10 Sep 2021 10:46:13 +0200</pubDate><guid>https://maarten.mulders.it/2021/09/getting-to-know-dapr/</guid><description>&lt;p&gt;Building distributed applications or microservice applications brings a whole new range of problems.
All those application components, or microservices, need to communicate with each other.
How will we do that: using messaging, or would direct HTTP calls be a better choice?
Often, we must make such decisions early in a project.
Since it&amp;rsquo;s hard to change it later, we call it an &amp;ldquo;architectural decision&amp;rdquo;.
But this is often an excuse so we can blame the architect if the choice turned out to be wrong.&lt;/p&gt;</description></item><item><title>DevNexus Day 2: Metrics, Monolith Decomposition</title><link>https://maarten.mulders.it/2020/02/devnexus-day-2-metrics-monolith-decomposition/</link><pubDate>Fri, 21 Feb 2020 21:55:00 +0200</pubDate><guid>https://maarten.mulders.it/2020/02/devnexus-day-2-metrics-monolith-decomposition/</guid><description>&lt;p&gt;Together with four &amp;ldquo;AwesomeSauce&amp;rdquo; colleagues from &lt;a href="https://www.infosupport.com/"&gt;Info Support&lt;/a&gt;, I&amp;rsquo;m attending &lt;a href="https://devnexus.com/"&gt;DevNexus&lt;/a&gt; this year.
For me, it&amp;rsquo;s the second time I&amp;rsquo;m here, as I spoke here in 2018, too.
Next to delivering my own &amp;ldquo;React in 50 minutes&amp;rdquo; session I&amp;rsquo;m attending some sessions to update with new technology advancements.
After &lt;a href="https://maarten.mulders.it/2020/02/devnexus-day-1-webassembly-productivity/"&gt;a great first day&lt;/a&gt;, let&amp;rsquo;s move on to the second (and last) day.&lt;/p&gt;</description></item><item><title>Reports from Devoxx PL</title><link>https://maarten.mulders.it/2019/06/reports-from-devoxx-pl/</link><pubDate>Tue, 25 Jun 2019 14:00:13 +0200</pubDate><guid>https://maarten.mulders.it/2019/06/reports-from-devoxx-pl/</guid><description>&lt;p&gt;From yesterday until tomorrow I&amp;rsquo;m attending &lt;a href="https://www.devoxx.pl/"&gt;Devoxx Poland&lt;/a&gt; (or Devoxx PL for short).
It&amp;rsquo;s the second largest conference in the Devoxx family with around 2700 people attending.
The conference is held in the &lt;a href="https://www.icekrakow.pl/"&gt;ICE Kraków Congress Centre&lt;/a&gt;, a large venue with an amazing primary room.&lt;/p&gt;






 
 
 
 

 
 
 &lt;div class="flex justify-center items-center"&gt;
 &lt;figure class="rounded-lg "&gt;
 
 &lt;picture class="rounded-lg "&gt;
 &lt;source srcset="https://maarten.mulders.it/2019/06/reports-from-devoxx-pl/IMG_20190624_121320_hu_db4e3c5766a00d69.webp" alt="Entrance of the ICE" type="image/webp" width="4608" height="2112" class="justify-center shadow-lg"&gt;
 &lt;img src="https://maarten.mulders.it/2019/06/reports-from-devoxx-pl/IMG_20190624_121320_hu_a410d4a39c14c204.jpg" alt="Entrance of the ICE" type="image/jpeg" width="4608" height="2112" class="justify-center shadow-lg"&gt;
 &lt;/picture&gt;
 
 &lt;figcaption class="text-center"&gt;Entrance of the ICE&lt;/figcaption&gt;
 &lt;/figure&gt;
 &lt;/div&gt;
 
 



&lt;p&gt;The main reason I&amp;rsquo;m here is to give a talk about GraalVM on Wednesday morning.
Apart from that, it&amp;rsquo;s a nice opportunity to network, meet old friends and make new ones.
And of course to attend other talks to learn something new.&lt;/p&gt;</description></item><item><title>Blah blah Microservices blah blah</title><link>https://maarten.mulders.it/2017/02/blah-blah-microservices-blah-blah/</link><pubDate>Sat, 25 Feb 2017 20:15:40 +0200</pubDate><guid>https://maarten.mulders.it/2017/02/blah-blah-microservices-blah-blah/</guid><description>&lt;p&gt;As a closing keynote on the &lt;a href="https://maarten.mulders.it/blog/2017/02/jfokus-day-2.html"&gt;second day of Jfokus&lt;/a&gt;, &lt;a href="https://twitter.com/jboner"&gt;Jonas Bonér&lt;/a&gt; took the stage under the very clarifying title &amp;ldquo;Blah blah Microservices blah blah&amp;rdquo;, which turned out to mean &amp;ldquo;From microliths to microsystems&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;As a first observation, he stated that no-one really likes microservices.
They are kind of a necessary evil - because &amp;ldquo;doing&amp;rdquo; microservices comes at a cost.
In fact, microservices are just a specialisation of an older concept called distributed systems.
But what we often build are microliths - an application that might be called a microservice except for the fact that it lives alone.
No failover, no resilience, nothing.
But just like actors, microservices should come in systems.
And just as important, microservices should come &lt;em&gt;as&lt;/em&gt; systems, designed as a distributed system, which each microservice focussing on a single responsibility.&lt;/p&gt;</description></item></channel></rss>