﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Ayende Rahien commented on Messaging Concepts - Conversation &gt; Saga &gt; Message</title><description>Udi,
  
Indeed, it is not meant to.
  
State is either in a saga (part of ongoing process) or part of the system data.
</description><link>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment7</link><guid>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment7</guid><pubDate>Thu, 06 Nov 2008 21:18:40 GMT</pubDate></item><item><title>Udi Dahan commented on Messaging Concepts - Conversation &gt; Saga &gt; Message</title><description>What you're describing is BAM in an EDA environment:
  
  
A service which subscribes to events published by other services and can show what's going on across service boundaries. 
  
  
Like you mentioned, this is useful for tracking, debugging, auditing, and reporting. But, the thing is, the "conversation" you describe cannot replace the necessary long-running state management required by each service.
</description><link>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment6</link><guid>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment6</guid><pubDate>Thu, 06 Nov 2008 21:16:46 GMT</pubDate></item><item><title>Mickael commented on Messaging Concepts - Conversation &gt; Saga &gt; Message</title><description>I agree with last comment from Arnon. Sagas is much more around flow around autonomous services, and conversation (as conversation scope) around a flow in an orchestrating service.
  
Do we need different wording to define a flow involving more than one service? The orchestration vs choregraphic aspect sounds transversal...so I would vote for 1 word-concept : conversation.
  
  
"Conversation" is naturally understood as a cooperation between actors having one aim.
</description><link>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment5</link><guid>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment5</guid><pubDate>Thu, 06 Nov 2008 09:42:46 GMT</pubDate></item><item><title>Jim Webber commented on Messaging Concepts - Conversation &gt; Saga &gt; Message</title><description>Hello Ayende,
  
  
SSDL is a metadata language that supports the kind of multiparty conversations you're describing above. Look at 
[http://ssdl.org](http://ssdl.org) and especially the SC framework therein at 
[http://ssdl.org](http://ssdl.org)/docs/v1.3/html/SC%20SSDL%20Protocol%20Framework%20v1.3.html.
  
  
Jim
</description><link>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment4</link><guid>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment4</guid><pubDate>Thu, 06 Nov 2008 09:42:07 GMT</pubDate></item><item><title>Arnon Rotem-Gal-Oz commented on Messaging Concepts - Conversation &gt; Saga &gt; Message</title><description>@henke
  
Orchestration of services is different since there you have an external party (the orchestration engine) which controls the flow, where as in sagas the services are autonomous and drive the flow individually
  
Arnon
</description><link>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment3</link><guid>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment3</guid><pubDate>Thu, 06 Nov 2008 06:02:58 GMT</pubDate></item><item><title>Arnon Rotem-Gal-Oz commented on Messaging Concepts - Conversation &gt; Saga &gt; Message</title><description>Actually the term Saga originated fro the world of databases:
  
[www.rgoarchitects.com/Files/SOAPatterns/Saga.pdf](http://www.rgoarchitects.com/Files/SOAPatterns/Saga.pdf):
  
"Hector Garcia-Molina and Kenneth Salem defined the term Saga back in 1987 as a way to solve the problem of long lived database transactions. Hector and Kenneth described a Saga as a sequence of related small transactions. In a Saga the coordinator (database in their case) makes sure that all of the involved transactions are successfully completed. Otherwise, if the transactions fails the coordinator runs compensating transactions to amend the partial execution.
  
  
I also don't think that saga is limited to the scope of a single service. It is a shared context of related messages that can invovles a lot of services that share that context.. Naturally you also have to account to that within each of the services somehow
  
  
Arnon
</description><link>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment2</link><guid>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment2</guid><pubDate>Thu, 06 Nov 2008 06:00:04 GMT</pubDate></item><item><title>henke commented on Messaging Concepts - Conversation &gt; Saga &gt; Message</title><description>aka a workflow or orchestration of services possibly?
</description><link>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment1</link><guid>http://ayende.com/3675/messaging-concepts-conversation-saga-message#comment1</guid><pubDate>Thu, 06 Nov 2008 03:43:42 GMT</pubDate></item></channel></rss>