Service Component Architecture Assembly Model Specification Version 1.1 Assembly-33 – Long-Running Request-Response Operations
Component AComponent B WS-BPEL Process PAWS-BPEL Process PB... reply receive e.g., weeks or months (!) invoke... long-running ! Long-Running Request-Response Operations
Component A WS-BPEL Process PA Component B WS-BPEL Process PB reply receive e.g., weeks or months (!) Assertion wsam:NonAnonymousResponses invoke
WS-Addressing 1.0 n Web Services Addressing 1.0 – Metadata l The appearance of this element within the wsam:Addressing assertion indicates that the endpoint expresses requires request messages to use response endpoint EPRs that contain something other than the anonymous URI as the value of [address]. In other words, the endpoint requires the use of non-anonymous responses. This assertion is deliberately vague; its presence indicates that some non-anonymous addresses will be accepted but doesn’t constrain what such an address might look like. A receiver can still reject a request that contains an address that it doesn’t understand or that requires a binding it doesn’t support. l The None URI (" may appear as the value of [address] in place of a non-anonymous address; this value MUST be accepted. n Web Services Addressing 1.0 – SOAP Binding l When " is not specified for the response endpoint, then the message SHOULD be part of a binding that supports not returning a SOAP envelope in the HTTP response (e.g. see [SOAP 1.1 Request Optional Response HTTP Binding [p.22] ]). Any response message SHOULD be sent using a separate connection and using the address value specified by response endpoint. Note that other specifications MAY define special URIs that have other behaviors (similar to the anonymous URI).
SCA and wsam:NonAnonymousResponses n SCA binding (same or different composite) l Request n One-way operation Derived from WSDL operation – input data only n Pass callback identity and correlation data ( = stateful response endpoint EPR) l Implementation (long-running, interruptible) n Store callback n Early completion of request operation l Response n One-way callback operation Derived from WSDL operation – output or fault data only n Use callback identity
SCA Client callback SCA Implementation SCA Client and Service Implementation... void rrOperation( inputMessage i ) void rrOperationResponse( outputMessage o ) void rrOperationFault1( fault1Message f1 ) void rrOperationFault2( fault2Message f2 ) naming convention store callbac k