Welcome

Welcome to our blog about all kind of topics that are related to software development. We blog about:

SOA, BPM, EDA, ECM and all the other buzz words. Beware some post might not be so common as you think. We are not scared to go against main stream thoughts.

Technologies like java, maven, springframework, OSGi and front end technologies and frameworks like jQuery, DWR, Flex.

Finally to make this happen we need tools and of course a Mac (well some of us do). So we blog about that as well.

Technorati

Add to Technorati Favorites

Linked in

We now have a linked in group, join the group if you are a regular reader and want to see who else reads this blog.

Axon Framework 0.6 released

Today, I released version 0.6 of the Axon Framework. 0.6 has many new features and is another step towards full production readiness. There is still some work to do, but first, let’s take a look at what has changed…

Continue reading Axon Framework 0.6 released

CQRS – Designing domain events

jQuery(document).ready(function($) { window.setTimeout(‘loadFBShareMe_997()’,5000); }); function loadFBShareMe_997(){ jQuery(document).ready(function($) { $(‘.dd-fbshareme-997′).remove();$(‘.DD_FBSHAREME_AJAX_997′).attr(‘width’,’53′);$(‘.DD_FBSHAREME_AJAX_997′).attr(‘height’,’69′);$(‘.DD_FBSHAREME_AJAX_997′).attr(‘src’,'http://widgets.fbshare.me/files/fbshare.php?url=http://www.gridshore.nl/2010/01/27/cqrs-designing-domain-events/&size=large’); }); }

Command-Query Responsibility Segregation (CQRS) is slowly but steadily gaining ground as an architecture that helps developers to develop scalable, extensible and maintainable applications. Events play a major role in this architecture, and the way you design these events greatly influence the extensibility of [...]

CQRS made easy with cqrs4j

 cqrs4j_logo

Command Query Responsibility Segregation (CQRS) is an architectural style that makes a clear distinction between commands, which tell an application to do something, and queries, which are requests for information from an application. This distinction comes from the fact that the requirements (and thus also the model) for the execution and validation of commands are significantly different than those for queries. Events play an important role in the synchronization of application state resulting from executed command.

Applying a CQRS style architecture involves the development of quite a lot of “plumbing” code: event dispatching, asynchronous event processing, transactions, etc. cqrs4j, an Apache 2 licensed open source framework, takes care of all the plumbing for you. Read on to find out how…

Continue reading CQRS made easy with cqrs4j

Bring some stability to your architecture

circuitbreakerApplications have to run in high-consequence environments. They have to serve hundreds of thousands of users 24 / 7. Our clients spend millions in hard- and software and highly depend on the revenue generated by these applications. Unnecessary outage of these application is fatal.

Software Architects play an important role in setting up an architecture that can cope with these high demands. At the JAOO, Michael Nygard‘ had a talk, “Failure comes in Flavors“, that gave very good insight in the risks and opportunities of today’s application. The talk was was divided into two sessions. The first session covered the bad news: the stability threats. He discussed several situations that pose a threat to the long and happy life of an application. The second session was a happier one. It covered the patterns that should be applied to the application architecture to prevent these threats.

In this post, I will elaborate on some of the stability threats and pick one specific pattern to resolve them: the circuit breaker.

Continue reading Bring some stability to your architecture

Why are web services so different from an HTML user interface?

jQuery(document).ready(function($) { window.setTimeout(‘loadFBShareMe_50()’,5000); }); function loadFBShareMe_50(){ jQuery(document).ready(function($) { $(‘.dd-fbshareme-50′).remove();$(‘.DD_FBSHAREME_AJAX_50′).attr(‘width’,’53′);$(‘.DD_FBSHAREME_AJAX_50′).attr(‘height’,’69′);$(‘.DD_FBSHAREME_AJAX_50′).attr(‘src’,'http://widgets.fbshare.me/files/fbshare.php?url=http://www.gridshore.nl/2008/02/13/why-are-web-services-so-different-from-an-html-user-interface/&size=large’); }); }

We all know how a typical web application is usually built up. The image at the side rougly displays the different layers that are to be found in an application. Typically, the user interface layer receives HTTP requests, calls one or more methods in [...]