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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-cppa message

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


Subject: [Fwd: [ebxml-bp] [ebBP] 11/11/2004: Alignment with CPPA and ebBP]


See per discussion today.

Monica J. Martin wrote:

> In our Friday, 12 November discussion, our goal will be to start to 
> address some of the alignment issues between CPPA and ebBP (and 
> hopefully help with coordination with ebMS) [1].   We wish to discuss 
> and verify association of the business level description of process 
> and relate it to the technical messaging protocol and security details 
> that are needed for full configuration of the interfaces of the 
> business participants.
>
> Here is a starting list with some details (sorry I didn't save the 
> email references but can resurrect them if need be). Thanks.
>
> 1. Roles
> a. ebMS required Service and Action and BPSS has Role. ebMS added Role 
> values to its header, and CPPA had to struggle to say how values from 
> BPSS mapped into ebMS values. See also Service. In ebMS v2.0, it 
> states, "In the context of an ebXML business process model, an action 
> equates to the lowest possible role based activity in the Business 
> Process [ebBPSS] (requesting or responding role) and a service is a 
> set of related actions for an authorized role within a party."
> b. How do we handle more than one CollaborationRole in the CPA? In an 
> ebXML message, there are the CPA ID, conversation ID, Service name and 
> the Action name. How do you assign an incoming ebXML message to the 
> correct business process (CollaborationRole) within the CPA? 
> [Schlegel]  If the CPA is based on the ebBP, it must have the 
> ActionContext element. Should a CPA be rejected which has non unique 
> (non unique per CPA) Service elements in it? [see also 'Action and 
> action context']
> 2. Action and action context
> a. ebXML Action is similar ot WSDL operation concept. An exception is 
> that a WSDL operation with a 'request-response' MEP (WSDL v1.1) has 
> only one name. [A function would have one name embracing both its 
> input parameters as well as its return values.] For ebXML, two Action 
> values are associated with that WSDL v1.1 'request-response' MEP. If 
> this is allowed, it could make the monitoring mapping from ebMS back 
> to BPSS more dependent on using information about the document exchanged.
> If a BPSS is used in conjunction with a CPP, the BusinessDocument 
> element can provide additional information about what documents are 
> exchanged in the BusinessTransactionActivity. There is still some 
> question about whether mentioning syntactical details about a document 
> in BPSS impedes reusability by violating its abstraction level. (This 
> may have been addressed by using our variable construct). If so, 
> probably CPP and CPA should have better provisions for documenting 
> (under SimplePackage or elsewhere) information needed in a 
> collaboration agreement. For example, information about context has 
> been suggested as something we should make room for or, more grandly, 
> a whole recipe for constructing the document/businesspayload from bits 
> and pieces of schema. [Moberg]
>
> 3. Service
> a. CPPA can map to several Services. Therefore, can a single BPSS 
> instance contain several Services (in the context of what ebMS 
> understands Service)? [3] Currently, CPPA maps a Service to 
> ProcessSpecification/@uuid (restricted to one service). 
> OperationMapping should change this between CPPA and ebBP.  An ebMS 
> Service/Action defines the specific Service. [4] Need to explore 
> design patterns for distributed processes to clarify. We need to 
> handle multi-party BPSS instances that have multiple services. This 
> could affect any resolution on Schema #7 for ProcessSpecification and 
> ProcessSpecificationType. b. What information items contain Service 
> values in a BPSS instance (OperationMapping is an example). Dale 
> provided a detailed account for operations and their relationship with 
> CPPA (see [5]).
> c. Payload services: ebMS v3.0 is targeting payload services. How does 
> this affect any validation parameters in ebBP and/or CPPA? The 
> extensibility of these services poses a problem of how to document 
> these extensions for use with CPPA [Moberg].
> 4. Other
> a. HasLegalIntent attribute: In later versions, we may wish to discuss 
> making whether HasLegalIntent attribute and other BT characteristics 
> are negotiable (This has been currently slated for post-v1.0 CPPA 
> negotiation specification work). However, this attribute specifically 
> has not been discussed in that work).
> b. MSI-BSI Questions: Need to compile first. We could start with Sacha 
> Schlegel's question on Business Service Interface or Handler last week 
> to ebBP team (See: 
> http://www.oasis-open.org/archives/ebxml-bp/200411/msg00030.html). 
> Requires ebMS collaboration as well. [1]
> c. Clearer definition of differences of message vs. business 
> acknowledgements (affects ebMS, CPPA and ebBP).
>
>
> [1] I've been in contact with Ian Jones to accomplish this for eMS as 
> well.
> [2] Mapping has been questioned between action and action context in 
> the <ThisPartyActionBinding> (Note, some v2.1 CPPA changes are under 
> consideration). Why does this not map to an identifier rather than a 
> name (for reference purposes). Steve Capell suggested CPPA have a 
> namespace declaration that defines the namespace of the BPSS instance. 
> He also recommended a QName although this does not find favor in W3C 
> (and Dale also questioned the use of qname).
> [3] Does ebMS wish to update its concept of "Service" to align better 
> with WSDL or retain a  generalized "Service" concept with WSDL as just 
> one specialization? [4] An ebMS Service/Action is generally viewed as 
> a package or class and action as a function or method. So the 
> combination labels a specific source/sink of a data stream in a way.  
> The sender pushing a stream towards some data sink on the receiver 
> side - the action is semantically more on the side of the sender than 
> a label for the process. Service actually could map to portType while 
> action maps to operation (somewhat). [Moberg]
>
> [5] From Dale Moberg, 24 September 2004 (see: 
> http://www.oasis-open.org/archives/ebxml-bp/200409/msg00090.html)
> ==============
> The server receiver only needs to indicate the “interface” aspects of 
> WSDL. These aspects are found within the wsdl:portType (v1.1) (or 
> wsdl:Interface v2.0), its included wsdl:operations and referenced 
> wsdl:message, wsdl:type, or wsdl:part elements (the precise elements 
> needed differ in WSDL versions). For each /ActionBinding/, the 
> interface’s operation needs to be identified. The 
> */WSDLOperation/@operationRef /*uses a URI-Reference to identify the 
> operation. This reference is constructed by appending a fragment 
> identifier to the targetNamespace URI. The fragment is constructed 
> using a syntax similar to that of XPointer that is documented in 
> [AppendixC WSDL 2.0 Core].
>
> For example, if the */WSDLOperation /*contains
> <tp:DocExchange docExchangeId="docExchangeA1">
> <tp:WSReceiverBinding version="2.1">
> <tp:WSDLOperation version="1.1" 
> operationRef="http://hello.org/hello1#operation(Hello/sayHello)" >
> <wsdl:definitions xmlns:tns="http://hello.org/hello1"; 
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> targetNamespace="http://hello.org/hello1"; name="HelloWorld">
> <types/>
> <message name="Hello">
> <part name="String_1" type="xsd:string"/>
> </message>
> <wsdl:portType name="Hello">
> <operation name="sayHello" parameterOrder="String_1">
> <input message="tns:Hello"/>
> </operation>
> </wsdl:portType>
> </wsdl:definitions>
> </tp:WSDLOperation>
> </tp:WSReceiverBinding>
> </tp:DocExchange>
>
> then the URI-Reference
> http://hello.org/hello1#operation(Hello/sayHello 
> <http://hello.org/hello1#operation%28Hello/sayHello>)
> would select the wsdl:operation that has been previously referred to 
> in a */ServiceBinding /*
> *//*
>
> One problem has been that picking out what is relevant in the 
> operation varies depending on whether the DocExchange aspect of the 
> DeliveryChannel is in a CanSend, a CanReceive, or a nested 
> CanReceive/CanSend context. ebXML has chosen to have a separate 
> configuration for each message sent and received. That is, there are 
> separably configurable "sides" for each message sent. Each sent 
> message is considered an Action. For WS, an operation can span several 
> ebXML actions. In addition, fault messages are defined that can be 
> sent instead of a message or in reaction to a message. That means that 
> for WS MEPs beyond the In-Only and Out-Only, there really needs to be 
> something that points to the "part" of the operation that is being 
> configured. To do this, additional URI-References are required that 
> point to the input, output or fault messages that make up the ebXML 
> Action.
>
> <tp:ServiceBinding>
> <tp:Service>urn:w3c:wsd:hello</tp:Service>
> <tp:CanReceive>
> <tp:ThisPartyActionBinding id="companyA_TPAB2" action="OneWay" 
> packageId="PlainSOAP">
> <tp:BusinessTransactionCharacteristics 
> isNonRepudiationRequired="false" 
> isNonRepudiationReceiptRequired="false" isConfidential="none" 
> isAuthenticated="none"
> isTamperProof="none" isAuthorizationRequired="false"/>
> <tp:ChannelId>ChannelA1</tp:ChannelId>
> </tp:ThisPartyActionBinding>
> </tp:CanReceive>
> </tp:ServiceBinding>
>
> Unfortunately, inputs and outputs don't have names in WSDL so the 
> previous way of referring does not work. In WSDL 1.1, the input and 
> output references a message, so message references works for this 
> version. For WSDL 2.0, however, the message construct is removed, and 
> the corresponding link to the type is made using the value of an 
> attribute named "element"-- the value is the qname of the globally 
> declared element.
>
> Since CPPA and BPSS have the same granularity of its basic Actions, 
> (the parts of the BT) something like the above apparatus will be 
> needed in our BPSS 2.0 OperationMapping construct....In generating a 
> CPP when given a BPSS instance that contains OperationMapping 
> elements, the CPP can derive from the BPSS instance the precise 
> details needed in the WSDLOperation section of its configuration for a 
> Delivery Channel.
>
> ==================================================================================================== 
>
>
> CPPA to ebBP mapping provided by Dale Moberg, 11 August 2004 
> (http://www.oasis-open.org/archives/ebxml-bp/200408/msg00016.html)
>
> CPPA BPSS
> ======= =====
>
> * /CPP/CollaborationRole/ProcessSpecification/@name 
> /ProcessSpecification/@name
>
> [Discussion:
> Nagahashi: I believe this name attribute is of different nature than 
> other name/nameID attributes. ProcessSpecification is the root element 
> of BPSS and it doesn't have nameID attribute. This name attribute is 
> not used for reference purposes. We won't make it optional. It would 
> be safe to drop this from the list.
>
> Moberg: This name attribute is not used for reference purposes either 
> within BPSS or within CPPA. But for some reason, it is "imported" by 
> CPPA when BPSS is used. This may be an option to mapping to Service.
> /CPP/CollaborationRole/ProcessSpecification/@uuid 
> /ProcessSpecification/@uuid
>
> /CPP/CollaborationRole/ServiceBinding/Service /ProcessSpecification/@uuid
>
> [This was the alignment made of CPPA 2.0 and BPSS 1.01. It is subject 
> to renegotiation.]
>
> * /CPP/CollaborationRole/Role/@name Selected from //Role/@name
>
> [The specific xpath to the Role in the BPSS is indicated by a href,
> which uses a fragment identifier to reference the Role element by its 
> id.]
>
> 1/2 * /CPP/CollaborationRole/ServiceBinding/Can[Send|Receive]
> /ThisPartyActionBinding/@action Can take value from BPSS (see note) or 
> can use an agreed upon value.
>
> [CPPA spec notes: When business transactions are not reused in 
> different contexts, it is recommended that the names of the requesting 
> business activity and responding business activity be used as action 
> names.]
>
> /CPP/CollaborationRole/ServiceBinding/Can[Send|Receive]
> /ThisPartyActionBinding/ActionContext No specific reference to an 
> information item (container element).
>
> * /CPP/CollaborationRole/ServiceBinding/Can[Send|Receive]/
> ThisPartyActionBinding/ActionContext/@binaryCollaboration Corresponds 
> with value of BinaryCollaboration@name
>
> [In 2.0, this will need to be generalized to reference 
> BinaryCollaboartion,
> MultipartyCollaboration or BusinessCollaboration.]
>
> * /CPP/CollaborationRole/ServiceBinding/Can[Send|Receive]/
> ThisPartyActionBinding/ActionContext/
> CollaborationActivity/[CollaborationActivity...]/@name Matches the 
> value of BPSS //CollaborationActivity@name.
>
> [These Collaboration activity children are used to select nested BCs.]
>
> * /CPP/CollaborationRole/ServiceBinding/Can[Send|Receive]
> /ThisPartyActionBinding/ActionContext/@businessTransactionActivity 
> Matches the value of BPSS //BusinessTransactionActivity/@name
>
> /CPP/CollaborationRole/ServiceBinding/Can[Send|Receive]
> /ThisPartyActionBinding/ActionContext/@requestOrResponseAction Fixed 
> enumeration.
>
> [Aligned with whether the action is a requesting or responding 
> activity, but nothing is referenced in the BPSS instance directly.]
>
> Also, .in the CPPA, .the */BusinessTransactionCharacteristics 
> /*element has the following attributes:
>
> · an IMPLIED isNonRepudiationRequired attribute,
>
> · an IMPLIED isNonRepudiationReceiptRequired attribute,
>
> · an IMPLIED */isConfidential /*attribute,
>
> · an IMPLIED */isAuthenticated/* attribute,
>
> · an IMPLIED isAuthorizationRequired attribute,
>
> · an IMPLIED */isTamperProof/* attribute,
>
> · an IMPLIED isIntelligibleCheckRequired attribute,
>
> · an IMPLIED timeToAcknowledgeReceipt attribute,
>
> · an IMPLIED timeToAcknowledgeAcceptance attribute,
>
> · an IMPLIED */timeToPerform/* attribute,
>
> · an IMPLIED */retryCount/* attribute.
>
> ·
>
> These attributes allow parameters specified at the 
> /Process-Specification/ level to be overridden. If one of these 
> attributes is not specified, the corresponding default value should be 
> obtained from the /Process-Specification /document
>
>
>
>
>





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