Binnenkort treedt de AVG (GDPR) in werking!

Vanaf 25 mei 2018 is de Europese privacyverordening Algemene Verordening Gegevensbescherming (AVG, ook bekend als General Data Protection Regulation of GDPR) van toepassing. Deze verordening gaat over de ‘bescherming van natuurlijke personen in verband met de verwerking van persoonsgegevens en betreffende het vrije verkeer van die gegevens’.

Belangrijke onderdelen van de verordening zijn het recht op inzage en correctie van persoonlijke gegevens die door bedrijven worden bijgehouden. Maar het meest fundamentele recht is waarschijnlijk het recht op verwijdering – onder voorwaarden – van persoonlijke gegevens (“Right to Erasure”, artikel 17 van de verordening).

Bedrijven die zich niet aan de AVG houden riskeren een stevige boete: maximaal 20 miljoen euro of 4% van de jaarlijkse omzet. Echter, volgens EY heeft 27% van de Nederlandse organisaties nog geen plan om AVG-compliance te realiseren. Tijd om in actie te komen, er resteren nog slechts een kleine drie maanden!

Organisaties die hun IT-ondersteuning of -pakketten extern sourcen zullen moeten verifiëren dat hun leveranciers zorgdragen voor naleving van de AVG. Ook voor bedrijven die hun IT-ontwikkeling intern hebben belegd zijn er meer dan voldoende uitdagingen om tot naleving van de verordening te komen. In twee eerdere (Engelstalige) blog posts onderzocht ik mogelijke oplossingen voor software-toepassingen die gebruik maken van Event Sourcing: hier en hier.

Uit onderzoek blijkt dat de meerderheid van de Nederlanders nog niet (volledig) op de hoogte is van de regels en mogelijkheden die de AVG biedt. Geconfronteerd met deze rechten zegt 50% ervan gebruik te willen maken; dit kan bedrijven flink op kosten gaan jagen!

Bent u klaar voor de GDPR? Ik help u graag om de juiste stappen te zetten. Ik ben geen juridisch expert, maar kan wel adviseren op het gebied van implementatie of technologiekeuze!

A typical CI/CD pipeline explained

Recently, I was asked on Twitter if I could give some pointers for reading material on (production) CI/CD pipelines – what they look like, and how they work. I decided to shed some light on this by describing a typical CI/CD pipeline (from my perspective), in a series of tweets. This article is an expansion of that thread.

Read more

Rebuilding projections in Axon Framework 3

CQRS (Command Query Responsibility Segregation) allows you to have separate models for reading and writing. Combining that pattern with Event Sourcing leads to a powerful capability: updating query (read) models, based on events. In real-time or rebuilding them from an existing collection of events. This post focuses on such projections, in applications that are built on Axon Framework.

Read more

Upcasters or a versioned event store: pros and cons

In a previous article, I wrote a few things about upcasters. One of the significant downsides when implementing an upcaster is that it adds to our application’s technical debt. An alternative technique is the versioned event store (or versioned event stream), where the existing event store is copied and modified. In this post I’ll discuss the pros and cons of both approaches.

Read more

Forget me please? Event sourcing and the GDPR

In May 2018, a new piece of EU legislation called the General Data Protection Regulation (GDPR) will come into effect. The GDPR attempts to regulate data protection for individuals within the EU and has very interesting and specific implications for applications that use event sourcing. In this article, I’ll discuss my thoughts on this subject and a few pointers for those implications.

Read more

Using Tracking processors to replay events in Axon Framework 3

Replaying events is a crucial part in any event sourcing / cqrs application, to rebuild projections, generate new ones or seed external systems with data.

I’m a big fan of the Axon Framework. Even with its quirks and occasional (strange) bugs, it’s my go-to toolbox for my event sourcing & cqrs consulting and development work.

With the recent 3.0 release, Axon changed the way events can be replayed by introducing the Subscribing and Tracking event processors. The Subscribing processor follows the event stream in real-time, whereas the Tracking processor keeps track of events it has processed (using a token). This means that the Tracking processor can be stopped and resumed, and it will pick up processing where it left off.

Read more