RayRutjes's avatar

Event Sourcing library, looking for a contributor to set up a lumen example

Hi there,

We are actually developing an eventsourcing library : https://github.com/RayRutjes/domain-foundation

We have an example of implementation here : https://github.com/RayRutjes/domain-foundation-example-silly

I would love to see a simple lumen example, if anyone masters the subject.

Some general feedback is also appreciated.

0 likes
7 replies
MarkRedeman's avatar

Could you briefly explain the differences between your package and Broadway?

I think event sourcing is an awesome technique, so I wouldn't mind making a lumen example project.

RayRutjes's avatar

I think Broadway is a great package. However we would like to take the concepts a step further.

As of today, Broadway as more to offer than our domain foundation lib.

Our goal is to build a little framework that really eases the process of setting up projects that rely on an event sourced domain layer.

We would then love to make some bridges to most used frameworks so that it plays nicely with them also.

Finally, Broadway being the only lib having some reputation when it comes to event sourcing, we think it is worth offering a different implementation, so that we can benefit from one another.

The theory behind EventSourcing is quite simple to understand, and a lot of people wrote some great posts explaining the basics of it. The problem arises when you try to actually implement it, and face all the complexities involved, when you try to respect DDD principles. We also take this library as an occasion to discuss all the tricky points.

Finally, we do count on the community to prove, that in the end, php can also support complex projects.

MarkRedeman's avatar

@RayRutjes Yeah the concept of event sourcing is incredibly simple and intuitive (in my opinion) so it would be nice to have a couple of different (and complete) implementations of the architecture needed to do event sourcing efficiently.

I will try to make some time in the coming weeks to check your framework.

Also have you seen the Governor Framework? Just wanted to drop the link in case no one's seen it before.

RayRutjes's avatar

I sure have checked out the governor framework, which claims itself as the AxonFramework portage to php.

The owner of the framework is very kind, and he has done a great job so far.

I myself have learned a lot studying the axon framework.

Axon framework being written in java, the process of porting it to php isn't simple, because a lot of complexities are introduced by the fact that java is multithreaded, and also has some nice features like nested classes (sure there is a better name for those.)

Our way of thinking is a bit different than simply trying to port the axon framework. We want to create a framework, inspired from all the other work available on the subject, and implement it step by step so we understand the real complexities behind all the concepts, and try to solve them with the tools we have in php in an elegant way.

Once again, as of today, our work has far less features to offer as broadway or governor, or axon framework and all the others others that are worth inspiring from. That said, we believe there is room for another implementation, like taylor thought there was room for laravel.

martinbean's avatar

@RayRutjes Can you explain event sourcing for those who are unfamiliar with the term? I was under the impression event sourcing was an activity undertaken to plan events an application would generate during use?

Please or to participate in this conversation.