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

Reply via email to