Those are my random impressions:
- You probably do want to test your work flow. In the same way you want to have an integration test for the system.
- The sequence work flow seems to be a very heavy weight approach to just orchestrating actions in the application.
- I wonder what the perf implications of creating a workflow here would be. My gut feeling is that this is not good, but I don't really have data for that.
- There is probably an issue here with the WF being run in async, I am not sure where it is getting its threads, but if it is from the thread pool, then it is consuming request handling threads, which can kill a site.
As an aside, here is the checkout workflow:
And here is how I would write this:
ValidateOrder() AuthorizePayment() order.Status = OrderStatus.Verified SaveOrder()
Much easier, I think :-) And even more flexible.
More posts in "re" series:
- (28 Aug 2023) RavenDB and High Performance with Oren Eini
- (17 Feb 2023) RavenDB Usage Patterns
- (12 Dec 2022) Software architecture with Oren Eini
- (17 Nov 2022) RavenDB in a Distributed Cloud Environment
- (25 Jul 2022) Build your own database at Cloud Lunch & Learn
- (15 Jul 2022) Non relational data modeling & Database engine internals
- (11 Apr 2022) Clean Architecture with RavenDB
- (14 Mar 2022) Database Security in a Hostile World
- (02 Mar 2022) RavenDB–a really boring database