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: 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>

oledata.mso

image001.emz

<?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]