Windows Workflow Foundation State Engine - general questions

N

Nathan

Okay, I've been cramming my brain the past few nights on the whole
concept of using Windows Workflow Foundation in my project. I understand
the basics of persistence, tracking, etc and how there's a WF host
running the workflows themselves. What I don't completely understand yet
is how that process can interact with external sources like another
windows or web app in particular with a state engine.

Example:
I have a situation where I have a state engine business workflow driving
process from several environments. I have a windows service and a
asp.net app populating data to a database. I have other windows services
that pick up data in a specific state and sending it out to downstream
systems. There's also a notification piece to this which I send out
emails at certain times during some of the states.

What I'm not completely grasping yet is the following:


--How do these mixed environments talk to the same workflow or are they
not supposed to?


--Should the workflow state engine run in its own process like a windows
service and listen to external events called by the other windows and
web apps?


--If so, how do I fire events in that service from the asp.net app or
the other windows services?


--How large can a state engine get? My example coming works with
thousands of products in a database. Would I design a way to "expire"
the state of the product intentionally to keep only the workflow states
necessary running or would it be okay to keep the product in state for
the lifetime of the product data? So I guess I'm asking, do I design a
state engine just for a specific business process, or do I design the
state engine around the lifetime of the data being managed?


I'll continue to read more docs, but this has been quite the challenge
to find real examples that show this kind of separation.

Links, example scenarios, descriptions, etc are welcome.

Thanks in advance!
-Nathan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top