Wrox Programmer Forums
| Search | Today's Posts | Mark Forums Read
BOOK: Patterns, Principles and Practices of Domain-Driven Design
This is the forum to discuss the Wrox book Patterns, Principles and Practices of Domain-Driven Design by Scott Millett; ISBN: 978-1-118-71470-6
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Patterns, Principles and Practices of Domain-Driven Design section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
  #1 (permalink)  
Old April 10th, 2016, 07:01 AM
Registered User
Points: 12, Level: 1
Points: 12, Level: 1 Points: 12, Level: 1 Points: 12, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Apr 2016
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default Process manager implementation using GetEventStore

good day ! We are in the throes of a project that unfortunately is more R&D than implementation. I have a concept of a process manager service that has its own event stream and communicates with the services it manages by events appended to their own event streams.

below is what I posted to the DDD/CQRS google group: no discussion yet.


I have a process manager that "wakes up" at a certain time and polls a feed (more confusion on that later). NOW it has something to do with some stuff ....

Should this process manager service append a "Command Given (aka Request)" to a "downstream called service"s input stream OR should the "called service" subscribe to the event the process manager documents for itself OR to some sort of projection OR do I have my terminology all screwed up (likely).

NOTE: I expect that the "called service" would append a "Result Returned (aka Response)" to the upstream process manager service input stream OR the upstream process manager service would subscribe to the event the "called service" documents for itself OR do I have my terminology all screwed up (again most likely).

Help - I'm a domain expert stuck in a communication do loop with developers.
  #2 (permalink)  
Old May 28th, 2016, 11:12 AM
Wrox Author
Points: 237, Level: 4
Points: 237, Level: 4 Points: 237, Level: 4 Points: 237, Level: 4
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: May 2015
Posts: 59
Thanks: 1
Thanked 5 Times in 5 Posts
Default

Quote:
Originally Posted by DomainExpertDoug View Post
good day ! We are in the throes of a project that unfortunately is more R&D than implementation. I have a concept of a process manager service that has its own event stream and communicates with the services it manages by events appended to their own event streams.

below is what I posted to the DDD/CQRS google group: no discussion yet.


I have a process manager that "wakes up" at a certain time and polls a feed (more confusion on that later). NOW it has something to do with some stuff ....

Should this process manager service append a "Command Given (aka Request)" to a "downstream called service"s input stream OR should the "called service" subscribe to the event the process manager documents for itself OR to some sort of projection OR do I have my terminology all screwed up (likely).

NOTE: I expect that the "called service" would append a "Result Returned (aka Response)" to the upstream process manager service input stream OR the upstream process manager service would subscribe to the event the "called service" documents for itself OR do I have my terminology all screwed up (again most likely).

Help - I'm a domain expert stuck in a communication do loop with developers.
Hi,

Interesting scenario. From what I can tell I would probably have the downstream service poll the upstream service like we did in the REST example. I think there are few reasons why my initial reaction is to go this way:

1. the downstream service may want to do some processing of before events are added to its stream.

2. in future there may be other subscribers of the data. Having to update a service each time a new subscriber is added may cross team boundaries.

Does that sound reasonable? If you want to share more details I'd be happy to have another take.

Cheers
  #3 (permalink)  
Old May 30th, 2016, 07:08 AM
Registered User
Points: 12, Level: 1
Points: 12, Level: 1 Points: 12, Level: 1 Points: 12, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Apr 2016
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default process manager as a pattern ...

thanks for the reply. My view is that I'm describing a pattern, not any one process. I believe that the downstream is 'called' because the process manager needs its processing ..... ? Not sure why that would make one think differently about the pattern ... ? btw nick ... great book; like Eric's, the philosphical parts read well.
  #4 (permalink)  
Old May 30th, 2016, 08:34 AM
Wrox Author
Points: 237, Level: 4
Points: 237, Level: 4 Points: 237, Level: 4 Points: 237, Level: 4
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: May 2015
Posts: 59
Thanks: 1
Thanked 5 Times in 5 Posts
Default

Hi,

Apologies if I was unclear. I was trying to suggest that the pattern and the implementation can be different. For example, in the REST examples, it's the publish-subscribe pattern. However, with the implementation, the subscriber actually polls for the events, whereas in other implementations the sender actually pushes the message onto all subscribers.

I wondered if the same might apply here but I was really just speculating without knowing the full details. I think either approach could work.

Cheers
  #5 (permalink)  
Old May 30th, 2016, 08:54 AM
Registered User
Points: 12, Level: 1
Points: 12, Level: 1 Points: 12, Level: 1 Points: 12, Level: 1
Activity: 0%
Activity: 0% Activity: 0% Activity: 0%
 
Join Date: Apr 2016
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default closer to the metal ...

I liked that comment in the book. And that is why I like the 'skeleton' of geteventstore, realizing it is not the only way; but can be used in different ways.

Can you comment on the following ?

Ways to conceptualize a geteventstore stream ..

data streams - are appended to and polled from
log streams - are projected from to support read models
service streams allow aggregates/process manager state to be event-sourced
also the mechanics of ges is message transport between services.

it is in the last one that my original question is about ...

regards,


Similar Threads
Thread Thread Starter Forum Replies Last Post
Example ImageTriggers - Implementation in XAML vs. Implementation in C# Skyshaper BOOK: WPF Programmer's Reference: Windows Presentation Foundation with C# 2010 and .NET 4 2 September 6th, 2010 04:09 AM
how to hide a process in task manager ri_shu C++ Programming 3 October 25th, 2007 10:22 PM
how to hide a process in task manager ri_shu Visual C++ 0 April 5th, 2006 07:33 AM
how to hide the process from the task-manager ri_shu VB How-To 0 April 5th, 2006 07:28 AM
PHP IMAP implementation to process attachments azimu Pro PHP 17 December 7th, 2004 11:16 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.