[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsbpel] Re: Issue 34 - Proposal for vote
Ron, I was pointing out that things seem to be moving, after the recent w3c submission. Waiting for standards is clearly not a requirements, as our position wrt WSDL 2.0 shows. on the other hand, if a submitted document were to become the seed of a working group we would have a clear reference point to build upon. Since a delay of this decision comes at essentially no price, it seems unnecessary to rush to close it. Paco Ron Ten-Hove <Ronald.Ten-Hove@ To: Francisco Curbera/Watson/IBM@IBMUS Sun.COM> cc: wsbpel@lists.oasis-open.org, ygoland@bea.com Subject: Re: [wsbpel] Re: Issue 34 - Proposal for vote 05/19/2004 03:23 PM Paco, I do not understand what delaying a couple of months will accomplish. Supposing that in the next couple of months WS-Addressing is submitted to a standards-setting organisation, it will still take many months before it emerges as a standard [1]. It will be of no use to this TC, which cannot take dependencies on works-in-progress, unless we are willing to delay our work accordingly. As you point out, flexibility and compatibility are important. The current direct incorporation of WSA for endpoint references certainly restricts flexibility, and provides only compatibility with a proprietary, closed, non-standard specification. It certainly cannot accomodate anything like WS-MD. Yaron's URI proposal minimizes the coupling between the endpoint reference type employed by the binding and the BPE language. Design-wise, this is a Good Thing. It also addresses a very common use case, where endpoint references are embedded in messages. To promote flexibility and compatibility, implementations should be free to support various endpoint reference types. At least four different endpoint references types are on the table: WS-Addressing WS-Message Delivery Binding protocol-supplied endpoint reference info Message-supplied URI How should we support these? And how does delaying two months change these requirements? I sincerely doubt there will be an "industry convergence" in the that period. Best regards, -Ron [1] This will likely take years, unless WS-A is decoupled from WS-Policy and all the other specifications involved, many of which are non-standard. Francisco Curbera wrote: My vote is with Dieter's position, which he stated t the last call: there is no compelling reason that I can think of to close issue 34 now as opposed to, say, a couple months from now; but if we rush this issue now we are potentially (likely) creating a new conflict between BPEL and whatever referencing mechanism that eventually emerges as the industry consensus. Recent submissions to W3C have made many of us hopeful that some clarification of this space may be on the horizon. Regarding the proposal below: we need to insist on flexibility and compatibility with established service referencing mechanisms used by the industry. This TC seems to have come to the realization that, lacking an industry-wide consensus, real implementations may have to address service/process instances in different ways (of which URI hackery is one possibility); this means that defining a reference to be a URI is not good enough. Flexibility, extensibility and openness are critical requirements missing from the URI-only proposal. Of course, we will not need to define any ad-hoc BPEL solution if we give the industry a chance to converge on an interoperable mechanism. Since we have time to revisit this issue later, this seems to me the wisest thing to do by far. Paco Ron Ten-Hove <Ronald.Ten-Hove@ To: ygoland@bea.com Sun.COM> cc: wsbpel@lists.oasis-open.org Subject: [wsbpel] Re: Issue 34 - Proposal for vote 05/18/2004 04:33 PM Yaron, A +1 from me, and my thanks. To be clear: these are separate issues, but the solutions could overlap in that they both depend on the type used to represent endpoint references: 34: Change endpoint references to be type xsd:uri. 124: Remove <assign>ment of endpoint references to/from partner links. Add functions to accomplish the same in a direct fashion. As you say, overloading <assign> to manipulate the partner links is poor design. It is confusing, quirky, and inconsistent with the other uses of <assign>. Activities like <setPartnerEndpoint> and <getPartnerEndpoint> are much clearer. -Ron Yaron Y. Goland wrote: Ron has asked me to open a new issue on the URI function and I have done so. But this still leaves open his proposal. My official counter proposal to Ron's proposal is that we remove the ability to use assign with partnerLinks. As previously described it is bad design to rely on side effects. As such I believe it to be bad design to rely on a side effective of assign as a way of changing partnerLinks bindings. Regardless of how the endpoint reference debate turns out we shouldn't be using side effects to manipulate endpoint references. Yaron Yaron Goland wrote: I think that depending on side effects usually causes more trouble than its worth. If we define the syntax for a partnerLink document and then as a consequence of changing that document we change the behavior of the partnerLink we will be relying on very messy side effects. We will be conflating two different actions - editing a XML document and changing partnerLink behavior. I would propose that instead we introduce two dedicated functions, one to set the URI and one to retrieve the URI for a partnerRole on a partnerLink. That way we aren't rely on side effects. Yaron Ron Ten-Hove wrote: > Yaron, > > You bring up an excellent point. The ability to copy a URI from a > variable into a partner link is important. It is certainly the most > direct, easily understood and portable form of endpoint reference available. > > It should be possible to assign variables of type xsd:uri to partner > links (and /vice versa/), and require that the implementation resolve > the URI correctly (or complain the prescribed manner). I regard this as > an enhancement (and a valuable one) to BPEL, not necessarily an > alternative solution to issue 34. > > However, the idea of combining the two ideas has merit. Rather than > using xsd:any for the endpoint reference type, xsd:uri could serve. We > could make sure that <assign> explicitly allows assignment of xsd:uri > variables to/from partner links. Implementations must be able to resolve > the URIs involved to binding-specific endpoint references, as needed by > the binding. > > This would have the added benefit of restoring static type checking > to partner link <assign>ments, which is otherwise lost if xsd:any is used. > > What does the rest of the TC think? > > Best regards, > -Ron > > Yaron Y. Goland wrote: > >> One of the more common activities, I suspect, in BPEL processes will >> be receiving the URI of a service in a message and then sending a >> message to that service. If such a basic example cannot be supported >> by BPEL in an interoperable way then BPEL is broken. >> >> In order to support this example there needs to be a way to set the >> URI of a partnerRole. The original specification envisioned that a >> role would be described as an endpoint reference using the definition >> in WSA and then one could manipulate that endpoint reference by >> changing information such as the URI. >> >> I understand the group's desire to stay away from the WSA arena but I >> don't think gives us permission to ignore this critical use case. >> >> However, I think it's worth taking a second to look at endpoint >> references. They contain five types of data - address, reference >> properties, portType, service-port and policy. >> >> Reference properties can be implemented today using a WSDL message >> part and correlation sets. So you can get there from here. >> >> portType is already defined by the partnerLink the role belongs to. >> >> service-port is about dynamic discovery of the kind of information >> that had to already be defined by the partnerLink. In a sense the >> functionality represented by service-port is an improvement on what is >> possibly today but I think BPEL only needs to equal, not necessarily >> exceed, what can be done over the wire in Web Services today. >> >> policy - If service-port represents the technology of tomorrow then >> policy represents the technology of Buck Rodgers. It's going to take a >> while before this one gets fully baked and we shouldn't let ourselves >> get held up in the meantime. I think we can ignore this one for the >> same reasons as service-port. >> >> So near as I can tell the only thing in endpoint references that we >> really need is the address, e.g. the URI, e.g. the thing you need for >> the example I gave above. >> >> So why don't we come up with some command that lets a BPEL program set >> the URI on a partnerRole and call it a day? When setting the URI >> either the deployment system (e.g. the thing that is out of scope) >> will have a configuration that will work with the URI or it will >> reject it. In other words the BPEL process says "I want to talk to >> 'ftp://foo.com/bar'" and either the system through some undefined >> means has a configuration it likes for ftp://foo.com/bar including >> bindings, policies, etc. and so says 'sure, no problem' or it doesn't >> in which case a fault is thrown. >> >> Yaron >> >> Ron Ten-Hove wrote: >> >>> [resend; the proposal is unchanged . This is just to move the >>> issue state forward according to protocol] >>> >>> *Summary* >>> >>> WS-BPEL Issue 34 concerns the inappropriate dependency of the WS-BPEL >>> specification on a proprietary specification, namely WS-Addressing >>> (henceforth WSA). WS-BPEL uses WSA to provide a vocabulary for >>> describing endpoint references. >>> >>> It is proposed that the use of WSA-defined variables be replaced with >>> opaque variables. Variables of this opaque type will provide >>> specified data to provide endpoint reference information, but the >>> specifics are left to implementations. >>> >>> *Problem* >>> >>> The use of WSA is inappropriate; it is a proprietary specification, >>> closed (therefore unstable), difficult if not impossible to license >>> (given its dependencies on other proprietary specifications). WSA is >>> also only defined for SOAP, making it binding specific, which is >>> inappropriate given that the TC has consistently avoided including >>> binding-specific requirements (e.g., the decision to not incorporate >>> WS-I Basic Profile 1.0). >>> >>> WSA is used within WS-BPEL to provide an XML vocabulary for providing >>> endpoint references. This is required mainly to provide a mechanism >>> for dynamic partner link resolution. There are no open standards >>> available that provide such a vocabulary (although the W3C has >>> published the WS-Message Delivery specification as a submitted note.) >>> >>> *Proposal* >>> >>> The incorporation of WSA by WS-BPEL should be eliminated. Endpoint >>> references should be made opaque (i.e., anyType from XML Schema 1.0): >>> the XML type of abstract message parts that provide endpoint should >>> be opaque to WS-BPEL, and undefined by WS-BPEL other than some >>> general requirements (listed below). >>> >>> Implementations of WS-BPEL will need to provide support for one (or >>> more) endpoint description vocabularies. Provision for >>> interoperability of separate implementations is important, but is >>> outside the scope of the WS-BPEL TC in this issue. >>> >>> It is anticipated that standards setting organizations will >>> eventually provide standard endpoint description vocabularies, and >>> that future versions of WS-BPEL will incorporate them while >>> preserving backwards compatibility with this initial version of the >>> WS-BPEL. >>> >>> *Endpoint Reference Requirements* >>> >>> The opaque endpoint reference type MUST provide the following: >>> >>> * >>> >>> A representation of addressing information needed by transport >>> protocols that can be used by implementation-specific bindings to >>> resolve to a communications endpoint. >>> >>> * >>> >>> Support for two distinct address types, mappable to the “myRole” >>> and “partnerRole” values of the partnerLink attribute of the >>> <assign> <to> element. >>> > To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]