What are different ways to continue execution of a workflow?

Hi experts,

I need to know among the below, What are possible(or recommended) ways to continue execution of a workflow (after it has already started, but waiting at a task for some activity from an application)?

Http Invoke
FTP
Web Service (RPC, SOA, RESTful)
Java Client
JMS
SMTP

Please note that I need to make sure that execution continues in the same current process instance (ie… I dont want to tap into a workflow task and begin a new execution).

Your advice please.