In my view, the only purpose of a process manager is business logic - reacting to and issuing events and commands based on business rules. I would word it that process managers shouldn't do any 'work'.
Its tough to say there's no business logic in a process manager but yet it knows that when an order is accepted, a, b, and c need to occur.
--
You received this message because you are subscribed to the Google Groups "DDD/CQRS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dddcqrs+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Scott, in part they could be taken as just different modules (or services), especially since the current implementation of the Payments BC is very simple as everything is mocked out. Our thinking was that this Payments BC would be owned by a different team altogether, and would not be coupled to the Orders BC with respect to data storage, nor full referential integrity and consistency between the two. So we would expect the Payments team to use their own UL if they want to. From my understanding, Evans suggests that the different teams alone is good reason to split a BC, and even more if they have their on boundaries in terms of data store they use.In fact, even in this very simple version they do not share a UL (but they are not ambiguous as you mentioned, because of the fact that they do not overlap). If you look at the events and commands in the Payments BC, there is not a single mention of this being a part of a conference management system, where as the Orders BC is an ordering system coupled to the conference domain itself. You could reuse the Payments BC in different systems (assuming it was not mocked out), but not necessarily the other BCs we have.What do you think?Julian
On Mon, Jul 8, 2013 at 5:28 AM, Greg Young <gregor...@gmail.com> wrote:
I would say yes they sound like modules or dare I say services in a soa sense
On Monday, July 8, 2013, elbandit wrote:
Hi,
I don't understand why Payments and Orders are two different bounded contexts as there seems to be no ambiguity in the UL that is used within each of them. As far as I remember a bounded contexts boundaries are based on language. Aren't Payments and Orders simply modules (I think Udi calls these Business Components) of a Sales bounded context? Which would mean that the process manager is acting within the sales bounded context and all is good with the world. Also I understand that the process manager acts as the application level so it is valid to send commands as it is the client of the domain layer.
Scott
On Wednesday, 9 January 2013 09:11:22 UTC, Werner Clausen wrote:--Hi,The CQRS Journey here: http://msdn.microsoft.com/en-us/library/jj591569, says that a Process Manager do not perform any business logic, and it should only work within a single bounded context. Yet the example on the same page shows:
Process Manager routing between Order and Payment, but that is two different contexts right? Process Manager sending an "AddToWaitList" command as a reaction to the "SeatsNotReserved" event, but that is business logic right?.And while we're at it: Is there a clear separation between a Process Manager and a Saga?--
Werner
You received this message because you are subscribed to the Google Groups "DDD/CQRS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dddcqrs+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.