This entry is part 1 of 3 in the series Workflow Foundation Tutorial

I’ve found that the best way to learn a technology is to just go build something with it. Over the next several posts we are going to be building a complete order processing system using Workflow Foundation and since we need a fake client to build it for we will be taking inspiration from the Star Trek universe.

Our client: Warp Core Technologies. WCT is the leading provider of warp cores and warp core parts throughout the Alpha Quadrant. While the products they sell are cutting edge, their order processing system is not. We will be building a new order processing system using Workflow Foundation and by the end you should see the value that WF provides.

  1. Order Validation
    1. The Federation Council is always signing treaties or setting up blockades. We need to verify that the order is in compliance with Federation law before we proceed.
  2. Inventory Check
    1. Trade disputes mean we may not always have the requested parts on hand or there may be a delay.
  3. Currency Conversion
    1. WCT deals in Federation Credits but we serve clients using everything from Gold Pressed Latinum to Klingon Talons. We need to convert it.
  4. Taxation
    1. We need to cut taxes for the Federation and the destination planet.
  5. Invoicing
    1. We will generate a PDF (yes, they still use PDFs in the 24th century) and an email invoice.
  6. Payment Processing
    1. We need to take payment and notify our ERP system.

In addition to the basic requirements we also have some service requirements:

  1. Guaranteed delivery
    1. We will be using MSMQ to fire and forget the order. If the order processing system is down we want to hold the message until it comes back up.
  2. Support for user modifiable workflows
    1. We will be building a WPF application utilizing the rehosted designer functionality from WF to allow workflows to be modified on the fly.
  3. Testable
    1. We will be writing unit and integration tests to ensure compliance with business rules.

By the end of this series we should have a good overview of what Workflow Foundation can provide and how it will help our business.

Series NavigationWorkflow Foundation Tutorial: Part 2 – The Basics >>
Blake Helms

Blake Helms is a .NET Software Development Manager for EBSCO Industries, a global company with businesses in a range of industries including Information Services, Publishing and Digital Media, Outdoor Products, Real Estate, Manufacturing and Distribution, and Business Services, headquartered in Birmingham, Alabama. There he is responsible for several core business applications and has been a driver for software craftsmanship and creating a culture that promotes mentorship and continuous improvement. He is also the cofounder of the Birmingham .NET Meetup with a mission to promote good development practices and .NET technologies in the Birmingham, Alabama area. Blake is incredibly passionate about technology in all areas from writing code for work, to audio/video production for his church to automating his home.