|
I'm using JAX-WS asynchronous client callbacks.
The reference implementation of JAX-WS also supports server-side asynchronous processing using the AsyncProvider interface though it hasn't made it into the standard yet:
http://weblogs.java.net/blog/kohsuke/archive/2006/08/jaxws_ri_goes_t.html
The use of continuation passing style in JAX-WS is actually a workflow technique adapted from compilers for functional programming languages.
Apache ODE uses a variation of this technique to implement BPEL. The Dalma project at Sun used this technique to create a system that allows workflows to be programmed in Java directly.
Unfortunately, Dalma uses runtime bytecode manipulation to implement continuations instead of the lightweight technique used in JAX-WS.
Writing an entire workflow process in continuation passing style would be difficult without support from the compiler and the VM.
Microsoft is supporting this technique in C# and F#, however, and Windows Workflow Foundation uses it.
Joe
|