With respect to the proxy idea, I was thinking of something lightweight like a camel route that would alter the endpoints in the exchange if the message was addressed to an endpoint that was known to be bad. If the camel processor isn't able to determine whether the endpoint is bad then it simply forwards unaltered. If you're running ODE within ServiceMix then this is a pretty lightweight and in-process solution.

I had assumed that you were looking at modifying the invoke layer code for ODE to accomplish this endpoint manipulation but after reading your original message again I'm thinking that you're actually looking at proactively modifying the endpoints of processes based on some out of band change. I think the proxy idea is in the spirit of the former and modifying the instance management code is more in the spirit of the latter. My concern with the latter would be altering processes that were already past that invoke point. Another concern would be having to modify the processes multiple times if the endpoint keeps changing.


On Dec 15, 2009, at 3:46 PM, Song Thuy Nguyen wrote:

Setting up a proxy is seen as one of the less desireable solution, because it would create a single point of failure. Incase the proxy component fails, the whole BPEL engine will stop working. Our system (as it is designed) as mentioned uses normal BPEL files without any dynamic binding capability, so it would also work if the proces instance rebinding component (which I'm trying to implement) fails. The system then would run like a normal BPEL engine without fault compensation ability. I will look into the WS-Policy, maybe this will work for me, thank you!

If anyone has another idea, especially how to extend ODE itself like in my first post, please let me know.

Best regards,

Thuy


-----Original Message-----
From: Ford, Mark - 0661 - MITLL [mailto:[email protected]]
Sent: Tuesday, December 15, 2009 8:18 PM
To: [email protected]
Subject: Re: Changing Endpoints of a Process Instance at RUNTIME

Have you considered setting up a proxy service that would handle
retries or address rewriting? This would keep your BPEL simple since
all of the changes are external to the BPEL and in fact external to
ODE. Another option would be to modify the invoke layer for ODE to
provide this behavior keyed off of WS-Policy. For a sample
implementation of this policy, check out the docs here:
http://tinyurl.com/ya4tmsk



Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to