You definitely need to process business processes.
Your direct requests will translate into command messages. After processing the command, you can publish messages about events that the next step in your process could receive in order to continue the process. Therefore, you do not even need to plan.
I did something like this:
e-mail → content engine → document conversion → workflow engine → indexing → workflow engine
No planning was planned. To do something, you send a command, and when the command processing completes the release and event of the endpoint, and which endpoint will be subscribed to this event, you will receive a copy and know how to proceed. I had a simple table structure tracking the data for the process along with the corresponding status.
For some parts of your system, you may need faster processing. When you come across this, you can set your endpoint service more than once and act as a priority endpoint. As an example. At our document converter endpoint, we would have to convert each email item. Since we received thousands per day, they would line up a bit. This was done in the background, not caring about when it happened. On the other hand, users of the indexing web application need to immediately convert certain documents from the website. Sending to the same endpoint of the conversion resulted in thousands of other conversion requests awaiting ad-hoc conversions. So there was no answer. The solution was to simply install another converter instance (identical binaries) and set up separate queues for the endpoint, and then transfer all the conversion request messages from the web servers to the ad-hoc endpoint. The problem is resolved :)
As a side note: even if you are going with a web service or WCF interface, it might be a good idea to place this behind the service bus endpoint, as the endpoint buys you quite a lot (snooze / poison queue / etc.)
Since you seem to be in the evaluation phase, you can take a look at my FOSS service bus: http://shuttle.codeplex.com/
This is what we used in the described system. If necessary, there is a separate component of the scheduler (although we did not use it in the project).