On 2/28/07, Jiang Liu <[EMAIL PROTECTED]> wrote:
1), in partner link, any "myRole" is (supposed to) implemented by BPEL with BPEL service's concrete EPR, any "partnerRole" is (supposed to) implemented by external services with service's EPR, am I right?
Correct. And process endpoints (myRole) are configurable per partnerLink. 2), say in a BPEL process it makes asynchronous invocation to an external
Web service (not another BPEL service, just a simple service). BPEL applies callback role, service for call role respectively. When BPEL invokes service's call, how exactly the service can callback to BPEL? I mean since the callback is defined as "myRole" and must be implemented by BPEL, in service's skeleton, there is no logic for callback operation. When external service finish the long-term function, he will call back to BPEL immediately? or 5 mins later or blah blah? And how does service knows BPEL's EPR? This seems like it has lots of "secrets" behind. :)
Callbacks are a complex subject because 1) the WS specifications that cover them are obtuse, abstract and complex, and 2) there's no agreed-upon interoperability spec to help. For the time being, Ode implements its own stateful exchange protocol which was the simplest things that could possibly work without breaking specs and the WS model. http://incubator.apache.org/ode/stateful-exchange-protocol.html I know call/callback is "packed" from partner links's perspective, also in
Ode it requires concrete bindings in configuration file, but for external service's perspective, how actually it works?
I'm not sure I understand you correctly. Nevertheless, all endpoints must be bound in Ode's deployment descriptor (deploy.xml) and each endpoint references a WSDL service + port. Does that help? cheers, alex
