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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-iic message

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


Subject: [ebxml-iic] 10/18/2005: CPA Profile (comments - Durand/Moberg)


See inline to your responses and the inputs I indicated I would provide, 
Jacques.

>durand: Monica:
>
>I will upload soon V0.7 where I address, I believe, some of your comments as
>discussed in meeting.
>The following remains to be taken care of - though not convinced we need to:
>
>2. In the Notes section, suggest you indicate that role changes will be 
>supported in a latter version (via the definition of another 
>collaboration role). What this entails is that an abstract partner 
>assumes many roles within a process and as specified in a CPA. For 
>example, in negotiation, a buyer may be a requester and responder given 
>whether he is providing an offer or counter offer.
>
><JD> isn't that taken care of in Party Info table where such party would
>list all the roles it can take?
>
mm1: See below in responses.

>3. In Notes Section or with Business Transaction Characteristics (i.e. 
>tp:timeToPerform), suggest you indicate this relates to the business 
>transaction activity rather than the business collaboration as whole 
>(verify with Moberg and Schlegel).
>
><JD> isn't that obvious per the parent element "Business Transaction"? I
>added a clarification note, though, in 3.3.1.
>
mm1: It is a limitation of CPP/A that only partially can recognize and 
handle timeToPerform exists (even in ebXML BPSS v1.05) at both the BTA 
and Business Collaboration levels. I would say that you can't infer 
anything.

I looked back at CPP/A v2.0 and now on v2.1 references the timeToPerform 
actually for the Business Collaboration. So, I correct myself (sorry for 
any confusion). It is a value in the CPP/A that cannot be overridden, is 
used for sync reply and is not for a business transaction. Dale can shed 
light here if he would.

In addition, this requires correction for v2.1 draft Dale as only an 
attribute is specified (not element that maps to the process). What the 
boundary is for CPP/A should be clearly specified (or constrained to) as 
it relates to what is described in the process - for the profile and for 
CPP/A v2.1

>Cheers,
>Jacques
>
>-----Original Message-----
>From: Monica J Martin [mailto:Monica.Martin@Sun.COM] 
>Sent: Monday, October 17, 2005 10:58 AM
>To: iic
>Cc: Jacques Durand
>Subject: IIC 10/17/2005: CPA Profile (Comments)
>
>Jacques,
>CPA profile comments:
>
>3.2.1
>1. In the Notes section, suggest you relate the conversation concurrency 
>limits to whether or not it is allowed in the process specification. 
>Implementer's hint
>
>3.4.1
>1. uuid and nameID are not the same in ebBP (ebXML BPSS) so reference 
>should be to uuid only.
>
mm1: Here is what I found looking at the CPA specification and schema 
v2.0 and the ebXML BPSS v1.05 schema:

    * CPA v2.0 (Section 8.4.4.5 and both v2.0 and v2.1 schemas)
          o The uuid is implied. However, if BPSS applies, the uuid must
            be used.
          o Also includes ds:Reference and xlink:href for URIs.
    * ebXML BPSS v1.05
          o The uuid is required for the ProcessSpecification element.
          o ProcessSpecification element also includes a Documentation
            element in complexType that has a name attribute group (of
            name [required] and nameID [optional]).

 From what you indicated, I am uncertain RosettaNet was consistent in 
the usage identified above. I believe then that the uuid should be used 
in Section 3.4.1 for CPA Deployment Template Profile.

>2. In the Notes section, suggest you indicate that role changes will be 
>supported in a latter version (via the definition of another 
>collaboration role). What this entails is that an abstract partner 
>assumes many roles within a process and as specified in a CPA. For 
>example, in negotiation, a buyer may be a requester and responder given 
>whether he is providing an offer or counter offer.
>  
>
mm1: I've attached the negotiation instance we used as an example (for 
ebBP). What you have is a BTA where a Party (PartyInfo) can take on 
multiple roles within a Service. See how this is described in 
extensibility section of v2.1 CPP/A on how to handle this until a major 
change was anticipated in CPP/A (next major version). There hasn't been 
a syntactic change per se but the concern exists in v2.0 and v2.1 on how 
to effectively handle it. This is why I suggested a note as a guide to 
implementors.

 From v2.1 CPP/A:


      1.1.1 Role

In [ebBPSS2], new constructs are introduced to track */Role /*values 
through complicated /Business Collaborations /(choreographies). An*/ 
ExternalRole /*element allows global values to be declared that 
*/Performs /*elements then associate with */Role /*values in toplevel 
/Business Collaborations. /Likewise, */Performs /*elements are used 
within a */CollaborationActivity /*to associate the current /Business 
Collaboration’s *Role */values with the declared */Role /*values within 
a referenced /Business Collaboration. /As a result, one Party may be 
associated with multiple values even within the same service. For the 
CPPA 2.1 maintenance release, this means that when different */Role 
/*values */ /*within */Services /*are described, then new 
*/CollaborationRole /*elements will be needed.

NOTE: When a new major version of ebXML CPPA is warranted, it is likely 
that the organization of the */CollaborationRole /*element within CPPA 
will undergo considerable “flattening” and refactoring to conform to new 
understandings of /Service, Role, /and /Action./

This isn't resolved (AFAIK) by PartyInfo.

>3. In Notes Section or with Business Transaction Characteristics (i.e. 
>tp:timeToPerform), suggest you indicate this relates to the business 
>transaction activity rather than the business collaboration as whole 
>(verify with Moberg and Schlegel).
>  
>
mm1: See previous comment to your response Jacques.

>3.5.1
>1. May need to specify that a default channel must be specified to 
>handle acknowledgements, status messages, errors, etc.
>  
>
mm1: Already resolved.

>General
>1. May need to discuss to what extent process specification override is 
>assumed in CPA. This question is more pervasive than CPA v2.0.
>  
>
mm1: You asked for a few sentences here on override that may be used in 
Section 4 for interpretation subsection. If we need to explain this more 
fully, please let me know. The key, I think, is to notify users that the 
cases of override could happen, should be understood, and the parties' 
prepared for the after-effects.

I propose we add this to the table form to this point:

When used with the ebBP specification, some process definitions created 
by the user community may be overridden by some values in this CPA. For 
example,
1. A weak form of non-repudiation may be allowed, despite the parties’ 
expectations expressed in the business process. By enabling the use of 
signed Acknowledgment for reliably delivered messages, a weak form of 
non-repudiation of receipt can be supported. This is considered weaker 
than the Receipt Acknowledgment signal because no schema check can be 
performed on the payload prior to the return of the Acknowledgment.

2. The ackSignatureRequested attribute can be set independent of the 
value for the isNonRepudiationReceiptRequired attribute under the 
BusinessTransactionCharacteristics element (associated with the business 
process).

Thanks.

>2. Some of these comments may be handled at the end when you discuss 
>rationalization between messaging, profile and process in Section 4 
>(operational profile).
>
<?xml version="1.0" encoding="UTF-8"?>
<ProcessSpecification xmlns="http://docs.oasis-open.org/ebxmlbp/ebbp-2.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xi="http://www.w3.org/2001/XInclude"; xsi:schemaLocation="http://docs.oasis-open.org/ebxmlbp http://docs.oasis-open.org/ebxmlbp/ebbp-2.0.1.xsd"; name="Negotiation Business Process" nameID="Negotiation_business_process_id" uuid="urn:www.oasis-open.org/committees/negotiation/negotiation-business-process/2.1" specificationVersion="2" instanceVersion="2">
	<Documentation> This simplified business process describes parts of the CPPA negotiation process within the v2.0.1 ebBP schema. This document is a reorganization of Hima's original work using role rebinding within Performs elements of a CollaborationActivity, to switch who is offering the CPA. </Documentation>
	<!--CPA Offer Document-->
	<BusinessDocument name="CPA Offer Doc" nameID="CPA_Offer_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Offer_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Offer_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>
	<!--CPA Accept Offer Document-->
	<BusinessDocument name="CPA Accept Offer Doc" nameID="CPA_Accept_Offer_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Accept_Offer_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Accept_Offer_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>
	<!--CPA Reject Offer Document-->
	<BusinessDocument name="CPA Reject Offer Doc" nameID="CPA_Reject_Offer_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Reject_Offer_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Reject_Offer_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>
	<!--CPA Counter Pending Offer Document-->
	<BusinessDocument name="CPA Counter Pending Offer Doc" nameID="CPA_Counter_Pending_Offer_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Counter_Pending_Offer_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Conter_Pending_Offer_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>
	<!--CPA Document-->
	<BusinessDocument name="CPA Final Doc" nameID="CPA_Final_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Final_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Final_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>
	<!--Response to final CPA Document. This will probably come from the CPA specification This is used when the CPA is not signed just to show acceptance or denial of final CPA-->
	<BusinessDocument name="CPA Final Response Doc" nameID="CPA_Final_Response_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Final_Response_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Final_Response_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>
	<!-- Response to final CPA Document which is signed and agreed to create a double singed CPA. Receiving party will create a Signature over the signed CPA and send that. This will probably come from the CPA specification-->
	<BusinessDocument name="CPA Final Response Doc Signed" nameID="CPA_Final_Response_Doc_Signed">
		<Specification name="CPA Offer Doc" nameID="CPA_Final_Response_Doc_Signed_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Final_Response_Signed_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>
	<!--Response to final CPA Document Could be rejecting the final CPA cause it's different
from the agreed upon CPA or signature does not verify-->
	<BusinessDocument name="CPA Final Response Reject Doc" nameID="CPA_Final_Response_Reject_Doc">
		<Specification name="CPA Offer Doc" nameID="CPA_Final_Response_Reject_Doc_Spec" type="schema" location="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0/documents/CPA_Final_Response_Reject_Doc.xsd"; targetNamespace="http://www.oasis-open.org/groups/ebxml-cpa-negotiation/v2.0"/>
	</BusinessDocument>
	<!-- Business Transaction for sending the final CPA message. This CPA is sent by the party finally accepting the offer-->
	<RequestResponse name="CPA Final BT" nameID="CPA_Final_BT">
		<RequestingBusinessActivity name="Final CPA BT ReqBA" nameID="Final_CPA_BT_ReqBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationReceiptRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope name="CPA Final Doc Envelope" nameID="CPA_Final_Doc_Envelope" businessDocumentRef="CPA_Final_Doc" isAuthenticated="none" isConfidential="none"/>
		</RequestingBusinessActivity>
		<RespondingBusinessActivity name="Final_CPA_BT_RespBA" nameID="Final_CPA_BT_RespBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope name="CPA Final Response Doc Env" nameID="CPA_Final_Response_Doc_Env" businessDocumentRef="CPA_Final_Response_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
			<DocumentEnvelope name="CPA Final Response Doc Signed Env" nameID="CPA_Final_Response_Doc_Signed_Env" businessDocumentRef="CPA_Final_Response_Doc_Signed" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
			<DocumentEnvelope name="CPA Final Response Reject Doc Env" nameID="CPA_Final_Response_Reject_Doc_Env" businessDocumentRef="CPA_Final_Response_Reject_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="false"/>
		</RespondingBusinessActivity>
	</RequestResponse>
	<!-- Business Transaction for sending an offer -->
	<RequestResponse name="CPA Offer BT" nameID="CPA_Offer_BT">
		<RequestingBusinessActivity name="CPA_Offer_BT_ReqBA" nameID="CPA_Offer_BT_ReqBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationReceiptRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope name="CPA Offer Doc Env" nameID="CPA_Offer_Doc_Env" businessDocumentRef="CPA_Offer_Doc" isAuthenticated="none" isConfidential="none"/>
		</RequestingBusinessActivity>
		<RespondingBusinessActivity name="CPA_Offer_BT_RespBA" nameID="CPA_Offer_BT_RespBA" isAuthorizationRequired="false" isIntelligibleCheckRequired="false" isNonRepudiationRequired="false">
			<DocumentEnvelope name="CPA Accept Offer Doc Env" nameID="CPA_Accept_Offer_Doc_Env" businessDocumentRef="CPA_Accept_Offer_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
			<DocumentEnvelope name="CPA Reject Offer Doc Env" nameID="CPA_Reject_Offer_Doc_Env" businessDocumentRef="CPA_Reject_Offer_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="false"/>
			<DocumentEnvelope name="CPA Counter Pending Offer Doc Env" nameID="CPA_Counter_Pending_Offer_Doc_Env" businessDocumentRef="CPA_Counter_Pending_Offer_Doc" isAuthenticated="none" isConfidential="none" isPositiveResponse="true"/>
		</RespondingBusinessActivity>
	</RequestResponse>
	<!-- Main collaboration for negotiation business process -->
	<BusinessCollaboration name="CPA Negotiation BC" nameID="CPA_Negotiation_BC">
		<!-- Role for initiator for negotiation process -->
		<Role name="CPA Negotiation Initiator" nameID="CPA_Negotiation_Initiator_Role"/>
		<!-- Role for initial responder of business collaboration -->
		<Role name="CPA Negotiation Responder" nameID="CPA_Negotiation_Responder_Role"/>
		<TimeToPerform duration="P1D"/>
		<Start name="CPA Negotiation BC Start" nameID="CPA_Negotiation_BC_Start">
			<ToLink toBusinessStateRef="CPA_Offer_BTA"/>
		</Start>
		<BusinessTransactionActivity name="CPA Offer BTA" nameID="CPA_Offer_BTA" businessTransactionRef="CPA_Offer_BT" hasLegalIntent="false" isConcurrent="false">
			<Documentation> First transaction in negotiation. Negotiation Initiator sends an offer
				to negotiation responder </Documentation>
			<TimeToPerform duration="P1D"/>
			<Performs currentRoleRef="CPA_Negotiation_Initiator_Role" initiatingRoleRef="CPA_Offer_BT_ReqBA"/>
			<Performs currentRoleRef="CPA_Negotiation_Responder_Role" respondingRoleRef="CPA_Offer_BT_RespBA"/>
		</BusinessTransactionActivity>
		<CollaborationActivity name="CPA Counter Offer CA" collaborationRef="CPA_Negotiation_BC" nameID="CPA_Counter_Offer_CA">
			<Documentation> If negotiation responder sends a "counter offer pending" message, then
				transitions to this collaboration where role of initiator in this is performed by
				the original negotiation responder by sending a counter offer to original initiator.
				Note that we revisit same BusinessCollaboration we are in.</Documentation>
			<Performs currentRoleRef="CPA_Negotiation_Initiator_Role" performsRoleRef="CPA_Negotiation_Responder_Role"/>
			<Performs currentRoleRef="CPA_Negotiation_Responder_Role" performsRoleRef="CPA_Negotiation_Initiator_Role"/>
		</CollaborationActivity>
		<BusinessTransactionActivity name="CPA Final BTA" nameID="CPA_Final_BTA" businessTransactionRef="CPA_Final_BT" hasLegalIntent="false" isConcurrent="false">
			<Documentation> If negotiation responder sends a "accept offer" message, then
				transitions to this transaction where responder who sent "accept offer" will send
				the "final cpa" </Documentation>
			<TimeToPerform duration="P1D"/>
			<Performs currentRoleRef="CPA_Negotiation_Initiator_Role"/>
			<Performs currentRoleRef="CPA_Negotiation_Responder_Role"/>
		</BusinessTransactionActivity>
		<!-- If final CPA BTA goes through fine, then overall collaboration is marked success -->
		<Success name="CPA_Negotiation_BC_Success" nameID="CPA_Negotiation_BC_Success">
			<FromLink conditionGuard="Success" fromBusinessStateRef="CPA_Final_BTA"/>
		</Success>
		<!--Success from CollaborationActivity reflecting a counteroffer.-->
		<Success name="CPA_Negotiation_BC_Success_from_CA" nameID="CPA_Negotiation_BC_Success_from_CA">
			<FromLink conditionGuard="Success" fromBusinessStateRef="CPA_Counter_Offer_CA"/>
		</Success>
		<!-- If Reject offer document is sent for offer bta collaboration is marked as failure-->
		<Failure name="CPA_Negotiation_BC_Failure_CPA_Reject" nameID="CPA_Negotiation_BC_Failure_CPA_Reject">
			<FromLink conditionGuard="BusinessFailure" fromBusinessStateRef="CPA_Offer_BTA">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Reject Offer Doc"/>
			</FromLink>
		</Failure>
		<!-- If final CPA is rejected then its a failure too. -->
		<Failure name="CPA_Negotiation_BC_Failure_CPA_FinalResponse_Reject" nameID="CPA_Negotiation_BC_Failure_CPA_FinalResponse_Reject">
			<FromLink conditionGuard="BusinessFailure" fromBusinessStateRef="CPA_Final_BTA">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Final Response Reject Doc"/>
			</FromLink>
		</Failure>
		<!-- If Final CPA BTA fails for some reason, then collaboration is marked as failure -->
		<Failure name="CPA_Negotiation_BC_Failure_Final_BTA_Fail" nameID="CPA_Negotiation_BC_Failure_Final_BTA_Fail">
			<FromLink conditionGuard="Failure" fromBusinessStateRef="CPA_Final_BTA"/>
		</Failure>
		<!-- If  Counter Offer Collaboration  CPA BTA fails for some reason, then collaboration is marked as failure -->
		<Failure name="CPA_Negotiation_BC_Failure_Counter_Collaboration_Fail" nameID="CPA_Negotiation_BC_Failure_Counter_Collaboration_Fail">
			<FromLink conditionGuard="Failure" fromBusinessStateRef="CPA_Counter_Offer_CA"/>
		</Failure>
		<!-- Transition to Final CPA offer  binary Transaction if the responder for main transaction accepts the initial offer -->
		<Transition>
			<FromLink fromBusinessStateRef="CPA_Offer_BTA">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Accept Offer Doc"/>
			</FromLink>
			<ToLink toBusinessStateRef="CPA_Final_BTA"/>
		</Transition>
		<!-- Transition to counter offer  binary collaboration if the responder for main transaction returns a counter offer pending message -->
		<Transition>
			<FromLink fromBusinessStateRef="CPA_Offer_BTA">
				<ConditionExpression expressionLanguage="DocumentEnvelope" expression="CPA Counter Pending Offer Doc"/>
			</FromLink>
			<ToLink toBusinessStateRef="CPA_Counter_Offer_CA"/>
		</Transition>
	</BusinessCollaboration>
</ProcessSpecification>


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