In the documentation, on the "Why Orleans Streams?" page there are some really exciting and ambitious goals for Orleans Streams, but I feel like this area have been neglected recently.
I feel like this area have been neglected recently.
We've made some minor improvements, but you are right - we haven't invested significantly in streaming recently. The main reason is we've been occupied with .NET Standard compatible Orleans 2.0.0 and adding support for transactions.
We do have a desire to rethink the streaming APIs based on the experience so far, and provide a new "fa莽ade" API (likely similar the facet-based storage API we use for transactions) in parallel with the existing one, and some major infrastructure improvements. We've been referring to it as "Streaming 2.0." This is still an aspiration with no concrete work scheduled yet.
any news about the proposed "Declarative Dataflow Expressions"?
This is an idea for a higher level functionality. It's unlikely the core team will invest in it directly any time soon. But we'll happily support somebody else's effort towards that. Microsoft Research is exploring some ideas with an internal customer that might end up close enough, but it's difficult to tell at this point.
is there any collaboration between Orleans and Microsoft's internal Reactor (Cloud Scale Rx) team?
There was, about three years ago. We co-designed the streaming API aiming to be aligned with what was going to be AsyncRx. Nothing since then.
is there any plan to offer a combination of Streams and Event Sourcing to work together more seamlessly?
We are open to ideas.
is this area going to be touched when the upcoming C# 8 Async Streams feature comes out?
We haven't explored that at all. We'd appreciate suggestions and ideas.
anything else I might have missed, smaller and bigger features, plans, goals... roadmap?
I don't think you missed anything. Good questions to raise.
Most helpful comment
We've made some minor improvements, but you are right - we haven't invested significantly in streaming recently. The main reason is we've been occupied with .NET Standard compatible Orleans 2.0.0 and adding support for transactions.
We do have a desire to rethink the streaming APIs based on the experience so far, and provide a new "fa莽ade" API (likely similar the facet-based storage API we use for transactions) in parallel with the existing one, and some major infrastructure improvements. We've been referring to it as "Streaming 2.0." This is still an aspiration with no concrete work scheduled yet.
This is an idea for a higher level functionality. It's unlikely the core team will invest in it directly any time soon. But we'll happily support somebody else's effort towards that. Microsoft Research is exploring some ideas with an internal customer that might end up close enough, but it's difficult to tell at this point.
There was, about three years ago. We co-designed the streaming API aiming to be aligned with what was going to be AsyncRx. Nothing since then.
We are open to ideas.
We haven't explored that at all. We'd appreciate suggestions and ideas.
I don't think you missed anything. Good questions to raise.