--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/a8b24578-646a-4cf8-83f2-3a7d0292c300%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/88348da3-96f2-4a77-8b9f-5c618f8ba197%40googlegroups.com.
On Jun 26, 2019, at 3:11 AM, Gordon Hutchison <gordon.h...@gmail.com> wrote:
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/fd3c9d6d-9011-4c2e-8584-81d31d71c977%40googlegroups.com.
Hi guys,I've been following the direction of the event & messaging & streaming in EE. I have skimmed the proposal in Github[1], It seems that Event Sourcing original intention is similar to my founded another project OpenMessaging Connector[2].So, I take the liberty of asking, where shall we discuss the Event Sourcing, I would like to get involved in and figure out could we work together in this direction :-)Best Regards,Von Gosling
On Jun 26, 2019, at 3:11 AM, Gordon Hutchison <gordon....@gmail.com> wrote:
--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microp...@googlegroups.com.
Hi Von Gosling,Great to see your interest in the Event Sourcing projectand apologies for not replying sooner - I am on jury duty atthe moment so internet access is a bit lumpy.I will study your Open Messaging project :-)We don't currently have a verbal discussion on the event sourcing project.Communication is currently via issues (feel free to create or comment!) or on https://gitter.im/smallrye-io/event-sourcing.With reference to microprofile reactive messaging, I can't better the answer from John Clingan here:Another possibility is putting something on the MicroProfile community hangout adgenda -if you want to advocate verbally for open messaging slotting into MicroProfile.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/29c94bb5-6396-40cb-a8d6-8e2600d26049%40googlegroups.com.
Hi Reza and Allard,
Interesting to read your responses
Allard, if your main concern is the use of the term 'Event Sourcing'
– then I actually read that as a very positive sign. :-)
Naming is hard and the area of event/message approaches
is very cluttered with existing terminology.
'Event sourcing', though not ideal as a name, seems to work well as a ‘flag’ at the moment to anchor the area of interest –
even if domain experts can correctly point out the rattle in the fit with previous uses of the term.
We don’t currently know exactly where the smallrye os project will go and if it turns out that there is
a better name for what it ends up being then there is a good checkpoint to a the better name when/if
we actually write a proposal for MicroProfile (if we ever do).
The categorisation of approaches that you refer to from Martin Fowler is all about
styles of application design. We are not really in the business of application design
or even frameworks that constrain or guide users’ application design approach.
As I see it, we are in plumbing supply business.
If, as you say, one is to define Event Sourcing as having even the event creators relying on events
to drive 100% of their state changes – as far as I know, none of the intent of anything in the SmallRye event soucing
project so far speaks against that. User’s may be aware of Greg Young’s advice to ‘don’t put business
logic between an event and the storing of that event’. That is application design advice and if in following it,
“the publisher of events uses those events for its own state“, one might arrive at an event sourcing style by your definition.
So does this design approach really lead us ‘away’ from using reactive streams or messages/events for the underlying plumbing
as we propose?
I would argue no. If we wanted to split off bit of application function, that was event driven,
to store the application state (change) - reactive streams provides an excellent abstraction for doing this
(argument here: https://groups.google.com/d/msg/microprofile/18SNnnWe4pQ/6KeoL7nIGgAJ )
Microprofile reactive messaging ‘channels’ also benefit from local/remote transparency –
so splitting a service so that all ‘state’ is handled downstream of an event
(the event could be persisted by a processor/operator very cleanly) can be done either all inside one service/JVM process or
switched to be across a Kafka queue dependant on channel config.
I would be very interested if there was an even better set of ‘plumbing’ suitable for
supporting an Event Sourcing (as traditionally defined) style?
In terms of ‘not starting from scratch’ – that is certainly good advice no one would argue with.
We get a huge amount of benefit starting from where we are – MicroProfile Reactive Messaging
which in turn exploits Reactive Streams Operators and its reactive programming stack.
As well as a lot of the wisdom and material from yourselves, Greg Young, Chris Richardson,
Marin Fowler etc. We were very lucky to benefit from this thread last year:
https://groups.google.com/d/msg/microprofile/FdF-W8zEW34/VZtOGHfHAgAJ
and these talks on Axon from Reza https://www.youtube.com/channel/UCf-SCs0ylgqVIWfNElPEZhw .
We also discussed if MicroProfile could support a
CQRS framework in the thread around https://groups.google.com/d/msg/microprofile/pbYf_7sVKKA/EkAPU7RdCgAJ
(interesting to review James’ ‘basic building blocks’ there).
Forgive my blunt and grossly inaccurate language in this:….have we already been around
the loop of something like Axon becoming a template for a MicroProfile CQRS/ES/Saga approach?
I can remember spending quite a number of hours on calls discussing this (links above).
What has or would change to make it likely that we would have a different result if we ran that again?
Also – what would the value add to Axon be in the MicroProfile standardisation of bits of it –
it is not like we would have multiple implementations from different vendors?
Do you really want an IBM or Redhat Axon Framework?
Personally, I am not yet convinced that the MicroProfile community is ready
to support standards work for something that high up the stack – a
n app framework narrows the applicability to microservices that ‘fit’ the framework’s prescription.
Others may have a different take of course.
I would seek to find the right balance between
1 – continuing to make the MicroProfile reactive assets/vision more valuable
2 – benefitting from ‘other’ technology/wisdom (Axon, Eventuate, Debezium etc.)
3 – not becoming over opinionated about application design
If you have a positive, literal, suggestion for a better name for the https://github.com/smallrye/smallrye-event-sourcing project (or anything else)
please raise an issue at https://github.com/smallrye/smallrye-event-sourcing/issues and we can process it.
In terms of naming we had thought of ‘Change Events’ based on CDC - but want to the project to really not be all CDC based.
Also ‘Change Events’ tends to lose some of the intention and context inherent in many microservice events.
‘Event Driven’ – well we are not app code. Event Driving – well it also is about handling etc etc.
Naming is hard.
It would be great to benefit from your experience in an ongoing way – so please (anyone) what do you think about
the above?
Gordon.