I'm currently working in an integration project at a telecom operator where we use WebMethods as the EAI framework. I don't like WebMethods very much, apart from one thing that is pretty neat and that is the Models.

For you not familiar with WebMethods Models it is a way to draw up business processes as "steps" that are interconnected by transitions. A starting step is subscribing to a certain message from a message broker and kicks off a model process when this message is received. Each step will typically perform some communication with an external system. Some of the communication can by asynchronous where it possibly can take several days before an answer is received. The process will then be put to sleep while waiting for the answer. The process can even fork and use several transitions and then join up at a later step.
All of this can be graphically monitored to see what steps have been executed, where it is waiting etc. If a step has failed the input data to that step can be modified and resubmitted to re-start the process again.

Is there anything similar out there that runs as an J2EE component? Or even better that intgrates into Spring framework?

Any pointers to products and/or technologies that would achieve this would be appriciated.