OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

sca-bpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: [sca-bpel] Issue 12 - Long-Running Request-Response Operations - Proposal

The SCA-BPEL TC has "delegated" Issue BPEL-12 (?
http://www.osoa.org/jira/browse/BPEL-12) to the SCA-Assembly TC, which has
resolved it as Issue Assembly-33 by introducing a new spec section 7.3
"Long-Running Request-Response Operations".

The SCA-Assembly TC has recently notified the SCA-BPEL TC about this
resolution (see
). The following proposed spec text gives a recommendation (SHOULD
statements) to the SCA-BPEL processor.

Proposal: Add a new chapter to the spec (right before chapter 4 "Using
BPEL4WS 1.1 with SCA"), with two sub-sections.

Long-Running Request-Response Operations

Operations Exposed by the BPEL Process
A BPEL process can implement a WSDL request-response operation using a BPEL
inbound message activity (IMA == receive, pick/onMessage,
eventHandlers/onEvent) and an associated reply (or fault reply) activity
that both reference the WSDL operation. If the process cannot guarantee the
delivery of the response (output or fault) within any given time period
then the operation is considered long-running. This can be caused by
executing activities on the path between the IMA and the reply that force
the process to be blocked for an indeterminate amount of time. Examples
include timer-driven processing (like wait or onAlarm) or asynchronous
interactions (like an invoke bound to an asynchronous protocol or the
peopleActivity introduced by BPEL4People [reference]).

If a BPEL process implements a long-running request-response operation then
the corresponding interface of the process (or the individual operation)
SHOULD be marked using the "asyncInvocation" policy intent. This indicates
that clients invoking the operation are strongly discouraged from making
assumptions about when the response can be expected, and use a binding (and
associated policies) that support separate handling of the request message
and the response message.

Operations Consumed by the BPEL Process
A BPEL process can consume a WSDL request-response operation using the
invoke activity that references the WSDL operation. The SCA reference
associated with the BPEL partner link referenced by the invoke activity may
be wired to a target where the interface is marked with the
"asyncInvocation" policy intent. In this case, a binding (and associated
policies) SHOULD be used that support separate handling of the request
message and the response message. Although the BPEL invoke activity is
logically blocked while the response is outstanding, the SCA-BPEL processor
SHOULD not physically block any system resources.

Kind Regards

Dieter König

Senior Technical Staff Member, WebSphere Process Server Architect
IBM Software Group, Application and Integration Middleware Software
WSS Business Process Solutions
  Phone:            +49-7031-16-3426           IBM Deutschland                      (Embedded
                                                                                  image moved
                                                                                     to file:
  E-Mail:           dieterkoenig@de.ibm.com    Schönaicher Str. 220  
                                               71032 Böblingen       
  IBM Deutschland                                                      
  Research &                                                           
  GmbH /                                                               
  Vorsitzender des                                                     
  Martin Jetter                                                        
  Erich Baier                                                          
  Sitz der                                                             
  Böblingen /                                                        
  Stuttgart, HRB                                                       


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]