Next in thread → Next in month →

Issue - R45 - BPEL partner link assignments (revisit issue R13)

From
Eiane Kordan
Date
2007-01-25T22:22:59+00:00
ID
Thread
Issue - R45 - BPEL partner link assignments (revisit issue R13)
The TC reviewed this public comment
at the Jan 24 meeting and decided to close the associated issue, R45, with
no change to the spec.  The email below provides further explanation
beyond the discussion that has already taken place in email associated
with issue R13.  

Regards, Diane

IBM  Emerging Internet Software Standards



(919)254-7221 or 8-444-7221, Mobile: 919-624-5123, Fax 845-491-5709

----- Forwarded by Diane
Jordan/Raleigh/IBM on 01/25/2007 05:20 PM -----

Dieter Koenig1/Germany/IBM@IBMDE

01/25/2007 08:55 AM

To

Diane Jordan/Raleigh/IBM@IBMUS

cc

Subject

Fw: [wsbpel] Issue - R45 - BPEL partner
link assignments (revisit issue R13)

Hi Diane, the primary rationale for
closing this issue is that the submitter connects two concepts that are
in fact independent:

(1) The example shows inbound message
activities (receive, similar for onMessage and onEvent), their corresponding
synchronous responses (reply), and process-internal correlations (messageExchange)
-- for such inbound request-response operations, only the *myRole* side
of a partnerLink is relevant. The WS-BPEL runtime has to take care of correlating
the response to the inbound request, and the partnerRole side of a partner
link is not involved at all. WS-BPEL makes no assumptions about protocols
and bindings. In particular, the notion of automatically assigning (e.g.
WS-Addressing wsa:replyTo) Endpoint References to partner links is out
of scope of the specification. Even if an implementation chooses to support
this behavior, it has nothing to do with delivering a response of a request-response
operation back to the caller. Having said that, the submitter's point 1.
is not an issue. 

(2) For partner link assignments, only
the *partnerRole* side of a partner link is relevant and used for outbound
calls only (invoke). The partnerRole is either (a) initialized at deployment
time, (b) set by out-of-scope means, or (c) explicitly assigned inside
the process.  The lifecycle of a partner link is the same as the lifecycle
of the scope declaring the partner link. Once assigned, the EPR value remains
unchanged until the partner link goes out of scope, unless again overridden
as described in (b) or (c) above. Again, the partnerRole, independent of
its initialization or lifetime, is never used for reply activities. 

Hope this helps!

Kind Regards

DK

Dieter
K霵ig
Mail: 
IBM
Deutschland Entwicklung GmbH

Senior Technical Staff Member
Tel (office): (+49) 7031-16-3426
Sch霵aicher
Strasse 220

Architect, Business
Process Choreographer
Fax (office): (+49) 7031-16-4890
71032
B鐽lingen

Member, Technical
Expert Council
Tel (home office): (+49)
7032-201464
Germany

----- Forwarded by Dieter
Koenig1/Germany/IBM on 25.01.2007 13:42 -----

ws-bpel issues list editor
<> 

24.01.2007 13:02

Please respond to



To



cc

Subject

[wsbpel] Issue - R45 - BPEL partner
link assignments (revisit issue R13)

This issue has been added to the wsbpel issue list with
a status of "received". The status will be changed to "open"
if a motion to open the issue is proposed and that motion is approved by
the TC. A motion could also be proposed to close it without further consideration.
Otherwise it will remain as "received". 

The issues list is posted as a Technical Committee document
to the OASIS
WSBPEL TC pages on a regular basis. The current
edition, as a TC document, is the most recent version of the document entitled
in the "Issues" folder of the WSBPEL
TC document list - the next posting as a TC
document will include this issue. The list editor's working copy, which
will normally include an issue when it is announced, is available at this
constant URL. 

Issue - R45 - BPEL partner link assignments (revisit
issue R13)

Status: received

Date added: 23 Jan 2007

Origin: Public comment Andi
Abes, 15 Jan 2007 (public comment list)

Date submitted: 15 Jan 2007

Submitter: Andi
Abes

Document: WS-BPEL 2.0 second public review text

Description: This is an attempt to crystallize the one of the many
issues raised in the first public review, originally referenced in issue
R13 : BPEL partner link assignments 

Consider the same use case as in the original email exchange:

1. Receive PartnerLinkA, Operation1, messageExchange=First

2. Receive PartnerLinkA, Operation1, messageExchange=Second

     ... some work (a) ...

3. Reply PartnerLinkA, Operation1, messageExchange=First

4. Reply PartnerLinkA, Operation1, messageExchange=Second

     ... some work (b) ...

In the original issue, there was an implied assumption
that any reference to the partner link EPR relies on some engine capability
- and mandates some transport specific behavior. 

While this is true, there should be a portable way of representing
a simple behavior such as logging the source of the request - in a generic
way (using an serf for example) - without any reliance on a particular
transport or its capability. For example, the service ref might encode
the TCP connection information (the 5 tuple) or the WSA address or any
other identity the engine supports. 

There are 2 areas not defined by the spec which would make
this use case, and other's like it, non-portable: 

1.        The
spec allows assignments from a partner link, so "some work (a)"
could be an assign from PartnerLinkA. But considering that messageExchange
First and messageExchange Second might have been invoked by different entities
(i.e. different synchronous TCP connections), the assign activity does
not provide enough information (e.g. message exchange) to allow for portable
operation. Each engine implementation is free to have its own interpretation
- or even to reject this since there's no definite way to disambiguate
the 2 originating entities. 

2.        The
spec does require the engine to keep track of each open IMA, with enough
information to deliver a reply to the appropriate request. A bpel process
can assign from an initialized partner link. Considering an assign performed
after a reply has been sent ("some work b") - is the partner
link still considered initialized? The spec does not address this issue.

The 2 points above suggest that for portability of BPEL
processes, message exchange attribute should be included on the partner
link form of Assign. The same considerations apply to Invoke activities.

Submitter's proposal: 

The requested changes are: 

Add an optional messageExchange on the Assign activity
when used with a from partner link and on invoke activities. 

Clarify the life time of an implicit assignment performed
by a receive activity to a partner link - is it for the life time of the
partner link (i.e. the scope in which it is defined), or just until the
corresponding reply activity. Note that the above
changes do not impose any new demands on an engine - they require the engine
maintain some identity for the originator of a message, but does not impose
any semantics on it. In fact, service-ref already defines a container for
such identities.

Changes: 23 Jan 2007 - new issue

To comment on this issue (including whether it should be
accepted), please follow-up to this announcement on the 
list (replying to this message should automatically send your message to
that list), or ensure the subject line as you send it starts "Issue
- R45 - [anything]" or is a reply to such a message. If you want to
formally propose a resolution to an open issue, please start the subject
line "Issue - R45 - Proposed resolution", without any Re: or
similar. 

To add a new issue, see the issues procedures document
Next in thread → Next in month →