[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Example forComplexBusinessTransactionActivity and ActionContext2 discussion December 8, 2006 (MM Role issue)
Here is a sequence diagram overview of the message
organization among 5 roles, buyer, seller, catalog service, credit rating
service, credit monitoring service. The scenario is that a Purchase Order Request is sent by a
buyer to a seller who first checks the price of items using a catalog service,
then proceeds to do a credit check on the buyer using a credit rating service
that makes use of a credit monitoring service. The PurchaseOrder Confirmation
is only returned after all these intermediate actions complete. I have attached a Business Collaboration excerpt to illustrate
the above roles and sequences. The main observations I have made about this case and the
problem that Monica raised: 1 The ActionContext2 needs to be modified to not only
reflect nesting that can arise from the CollaborationActivity levels of nesting
of BTAs, but also the nesting that can arise from the CBTA. 2. There can be more than one BTA at a given CBTA level of
nesting, so ActionContext2 needs that identification identified also. With these changes, I think the proposal to tie the Role
value to the Role that is bound to the Requesting- or
RespondingBusinessActivity Roles still can be used. Here is the complexBTA textual excerpt and visualization. <Role name="Buyer"
nameID="R1"/> <Role
name="Supplier" nameID="R2"/> <Role
name="CreditRatingSupplier" nameID="R3"/> <Role
name="CreditMonitorService" nameID="R4"/> <Role
name="CatalogOutsourcer" nameID="R5"/> <!-- Buyer asks seller to
confirm sale -->
<ComplexBusinessTransactionActivity
name="BuySellCatalogPriceWithCreditCheck" nameID="ID990"
businessTransactionRef="ID11" hasLegalIntent="false">
<TimeToPerform duration="P10M"/>
<Performs currentRoleRef="R1"
performsRoleRef="PRinitiator1"/>
<Performs currentRoleRef="R2"
performsRoleRef="PRresponder1"/>
<!-- Between request and response, Seller gets price from catalog
outsourcing service -->
<BusinessTransactionActivity name="CatalogPriceRequest"
nameID="ID995"
businessTransactionRef="ID21" hasLegalIntent="false">
<TimeToPerform duration="P1M"/>
<Performs currentRoleRef="R2"
performsRoleRef="QRinitiator1"/>
<Performs currentRoleRef="R5"
performsRoleRef="QRresponder1"/>
</BusinessTransactionActivity>
<StatusVisibility name="SVFirstInnerBTA"
nameID="ID97"/>
<!-- Seller asks credit service for buyer rating -->
<ComplexBusinessTransactionActivity name="CreditRequest"
nameID="ID992"
businessTransactionRef="ID31" hasLegalIntent="true">
<TimeToPerform duration="P2M"/>
<Performs currentRoleRef="R2"
performsRoleRef="CRinitiator1"/>
<Performs currentRoleRef="R3"
performsRoleRef="CRresponder1"/>
<!-- Credit Service in turn asks credit monitoring service for buyer
rating -->
<BusinessTransactionActivity name="CreditRequest"
nameID="ID996"
businessTransactionRef="ID31" hasLegalIntent="true">
<TimeToPerform duration="P2M"/> <Performs
currentRoleRef="R3" performsRoleRef="CRinitiator1"/>
<Performs currentRoleRef="R4"
performsRoleRef="CRresponder1"/>
</BusinessTransactionActivity>
<StatusVisibility name="SVInnerBTA" nameID="ID95"/>
</ComplexBusinessTransactionActivity>
<StatusVisibility name="SVSecondInnerCBTA"
nameID="ID96"/>
</ComplexBusinessTransactionActivity> |
<?xml version="1.0" encoding="UTF-8"?> <ProcessSpecification xmlns="http://docs.oasis-open.org/ebxml-bp/ebbp-2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://docs.oasis-open.org/ebxml-bp/ebbp-2.0 file:/C:/Documents%20and%20Settings/dmoberg/Desktop/ebXML%20BP%20TC/2.0.3/ebbp-2.0.3.xsd" name="Instance" nameID="ID1012" uuid="urn:whatever:123"> <Signal name="ReceiptAcknowledgement" nameID="ra2"> <Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0" name="ReceiptAcknowledgement" nameID="rabpss2"/> </Signal> <Signal name="ReceiptAcknowledgementException" nameID="rae2"> <Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0" name="ReceiptAcknowledgementException" nameID="raebpss2"/> </Signal> <Signal name="AcceptanceAcknowledgement" nameID="aa2"> <Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0" name="AcceptanceAcknowledgement" nameID="aabpss2"/> </Signal> <Signal name="AcceptanceAcknowledgementException" nameID="aae2"> <Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0" name="AcceptanceAcknowledgementException" nameID="aaebpss2"/> </Signal> <Signal name="GeneralException" nameID="ge2"> <Specification location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0" name="GeneralException" nameID="gebpss2"/> </Signal> <!-- Dummy ids to be referenced as if documents--> <Package name="p1" nameID="ID1000"/> <Package name="p1" nameID="ID1001"/> <Package name="p1" nameID="ID1010"/> <Package name="p1" nameID="ID1011"/> <RequestConfirm name="PurchaseOrderTransaction" nameID="ID11" isGuaranteedDeliveryRequired="true"> <RequestingRole name="PRinitiator" nameID="PRinitiator1"/> <RespondingRole name="PRresponder" nameID="PRresponder1"/> <RequestingBusinessActivity name="PurchaseOrderRequest" nameID="ID12"> <DocumentEnvelope name="PurchaseOrder" nameID="ID13" businessDocumentRef="ID1011"/> <ReceiptAcknowledgement name="RA" nameID="RA10" signalDefinitionRef="ra2"/> <ReceiptAcknowledgementException name="RAE" nameID="RAE10" signalDefinitionRef="rae2"/> </RequestingBusinessActivity> <RespondingBusinessActivity name="PurchaseOrderConfirmation" nameID="ID14"> <DocumentEnvelope name="PurchaseOrderConfirmationResponse" nameID="ID15" isPositiveResponse="true" businessDocumentRef="ID1001"/> <DocumentEnvelope name="PurchaseOrderDisconfirmationResponse" nameID="ID16" isPositiveResponse="false" businessDocumentRef="ID1010"/> <ReceiptAcknowledgement name="RA" nameID="RA11" signalDefinitionRef="ra2"/> <ReceiptAcknowledgementException name="RAE" nameID="RAE11" signalDefinitionRef="rae2"/> </RespondingBusinessActivity> </RequestConfirm> <QueryResponse name="CatalogPriceRequest" nameID="ID21" isGuaranteedDeliveryRequired="false"> <RequestingRole name="QRinitiator" nameID="QRinitiator1"/> <RespondingRole name="QRresponder" nameID="QRresponder1"/> <RequestingBusinessActivity name="requestPrice" nameID="ID101"> <DocumentEnvelope name="CatalogPriceRequest" nameID="ID102" businessDocumentRef="ID1000" /> </RequestingBusinessActivity> <RespondingBusinessActivity name="responsePrice" nameID="ID103"> <DocumentEnvelope name="CatalogPriceResponse" nameID="ID104" isPositiveResponse="true" businessDocumentRef="ID1001"/> </RespondingBusinessActivity> </QueryResponse> <RequestResponse name="CreditRequest" nameID="ID31" isGuaranteedDeliveryRequired="false"> <RequestingRole name="CRnitiator" nameID="CRinitiator1"/> <RespondingRole name="CRresponder" nameID="CRresponder1"/> <RequestingBusinessActivity name="requestCreditRating" nameID="ID2"> <DocumentEnvelope name="Catalog Request" nameID="ID3" businessDocumentRef="ID1011"/> </RequestingBusinessActivity> <RespondingBusinessActivity name="sendCreditRating" nameID="ID4"> <DocumentEnvelope name="Catalog Response" nameID="ID5" isPositiveResponse="true" businessDocumentRef="ID1001"/> </RespondingBusinessActivity> </RequestResponse> <BusinessCollaboration name="BC" nameID="BC100"> <Role name="Buyer" nameID="R1"/> <Role name="Supplier" nameID="R2"/> <Role name="CreditRatingSupplier" nameID="R3"/> <Role name="CreditMonitorService" nameID="R4"/> <Role name="CatalogOutsourcer" nameID="R5"/> <TimeToPerform duration="P2D" type="design"/> <Start> <ToLink toBusinessStateRef="ID990"/> </Start> <!-- Buyer asks seller to confirm sale --> <ComplexBusinessTransactionActivity name="BuySellCatalogPriceWithCreditCheck" nameID="ID990" businessTransactionRef="ID11" hasLegalIntent="false"> <TimeToPerform duration="P10M"/> <Performs currentRoleRef="R1" performsRoleRef="PRinitiator1"/> <Performs currentRoleRef="R2" performsRoleRef="PRresponder1"/> <!-- Between request and response, Seller gets price from catalog outsourcing service --> <BusinessTransactionActivity name="CatalogPriceRequest" nameID="ID995" businessTransactionRef="ID21" hasLegalIntent="false"> <TimeToPerform duration="P1M"/> <Performs currentRoleRef="R2" performsRoleRef="QRinitiator1"/> <Performs currentRoleRef="R5" performsRoleRef="QRresponder1"/> </BusinessTransactionActivity> <StatusVisibility name="SVFirstInnerBTA" nameID="ID97"/> <!-- Seller asks credit service for buyer rating --> <ComplexBusinessTransactionActivity name="CreditRequest" nameID="ID992" businessTransactionRef="ID31" hasLegalIntent="true"> <TimeToPerform duration="P2M"/> <Performs currentRoleRef="R2" performsRoleRef="CRinitiator1"/> <Performs currentRoleRef="R3" performsRoleRef="CRresponder1"/> <!-- Credit Service in turn asks credit monitoring service for buyer rating --> <BusinessTransactionActivity name="CreditRequest" nameID="ID996" businessTransactionRef="ID31" hasLegalIntent="true"> <TimeToPerform duration="P2M"/> <Performs currentRoleRef="R3" performsRoleRef="CRinitiator1"/> <Performs currentRoleRef="R4" performsRoleRef="CRresponder1"/> </BusinessTransactionActivity> <StatusVisibility name="SVInnerBTA" nameID="ID95"/> </ComplexBusinessTransactionActivity> <StatusVisibility name="SVSecondInnerCBTA" nameID="ID96"/> </ComplexBusinessTransactionActivity> <Success name="Success" nameID="S1"> <FromLink fromBusinessStateRef="ID990"> <ConditionExpression expressionLanguage="ConditionGuardValue" expression="Success"/> </FromLink> </Success> <Failure nameID="F1" name="Failure"> <FromLink fromBusinessStateRef="ID990"> <ConditionExpression expressionLanguage="ConditionGuardValue" expression="Failure"/> </FromLink> </Failure> </BusinessCollaboration> </ProcessSpecification>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]