reMVC Storefront Part 19

time to read 1 min | 194 words

Rob Conery has another MVC Storefront post, this time focusing on using Windows Workflow.

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:

image

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:

  1. (27 Dec 2019) Writing a very fast cache service with millions of entries
  2. (26 Dec 2019) Why databases use ordered indexes but programming uses hash tables
  3. (12 Nov 2019) Document-Level Optimistic Concurrency in MongoDB
  4. (25 Oct 2019) RavenDB. Two years of pain and joy
  5. (19 Aug 2019) The Order of the JSON, AKA–irresponsible assumptions and blind spots
  6. (10 Oct 2017) Entity Framework Core performance tuning–Part III
  7. (09 Oct 2017) Different I/O Access Methods for Linux
  8. (06 Oct 2017) Entity Framework Core performance tuning–Part II
  9. (04 Oct 2017) Entity Framework Core performance tuning–part I
  10. (26 Apr 2017) Writing a Time Series Database from Scratch
  11. (28 Jul 2016) Why Uber Engineering Switched from Postgres to MySQL
  12. (15 Jun 2016) Why you can't be a good .NET developer
  13. (12 Nov 2013) Why You Should Never Use MongoDB
  14. (21 Aug 2013) How memory mapped files, filesystems and cloud storage works
  15. (15 Apr 2012) Kiip’s MongoDB’s experience
  16. (18 Oct 2010) Diverse.NET
  17. (10 Apr 2010) NoSQL, meh
  18. (30 Sep 2009) Are you smart enough to do without TDD
  19. (17 Aug 2008) MVC Storefront Part 19
  20. (24 Mar 2008) How to create fully encapsulated Domain Models
  21. (21 Feb 2008) Versioning Issues With Abstract Base Classes and Interfaces
  22. (18 Aug 2007) Saving to Blob
  23. (27 Jul 2007) SSIS - 15 Faults Rebuttal
  24. (29 May 2007) The OR/M Smackdown
  25. (06 Mar 2007) IoC and Average Programmers
  26. (19 Sep 2005) DLinq Mapping