Wrox Programmer Forums

Need to download code?

View our list of code downloads.

Go Back   Wrox Programmer Forums > C# and C > C# 2012/5.0 > BOOK: Patterns, Principles and Practices of Domain-Driven Design
Password Reminder
Register
Register | FAQ | Members List | Calendar | 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 tens of thousands of software programmers and website developers including Wrox book authors and readers. As a guest, you can read any forum posting. By joining today you can post your own programming questions, respond to other developersí questions, and eliminate the ads that are displayed to guests. Registration is fast, simple and absolutely free .
DRM-free e-books 300x50
Reply
 
Thread Tools Display Modes
  #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.
Reply With Quote
  #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
Reply With Quote
  #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.
Reply With Quote
  #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
Reply With Quote
  #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,
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off

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 10:16 AM



All times are GMT -4. The time now is 11:31 AM.


Powered by vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.