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: cppa 10/21/2005: UBL Use Case for Semantic Reasoning that Touches CPP/A


This week, ebBP TC discussed the addition of an external document 
reference for our Specification element that allows user communities 
such as UBL (UK local goverment for example) to be able to reason on 
what business document is used in a business process.  In that 
discussion, Dale Moberg raised the possibility that in addition to the 
business process, that the CPP/A could allow for some semantic 
reasoning/alignment on the Packaging element.

We're integrated the changes agreed to on Tuesday for ebBP although the 
area of semantic alignment might be a future discussion item for CPP/A. 
Thanks.

For 18 October 2005, our meeting minutes should be publicly available 
today. You can also see the discussion over the last 2 weeks on our 
email archives. See:
(minutes) 
http://www.oasis-open.org/committees/documents.php?wg_abbrev=ebxml-bp
(email archive) 
http://lists.oasis-open.org/archives/ebxml-bp/200510/maillist.html

--- Begin Message ---
Here is my example as a use case which I believe requires the extra 'ID'
attribute for the 'Specification' element.

It concerns in the simplest case the specification that there is a document
in the process which is defined not just as a UBL Invoice but as one which
complies with the subset which is identified by a urn, 
"urn:oasis:names:tc:ubl:xpath:Invoice-1.0:sbs-1.0", and a location url,
"UBL-1-0-SBS-cs/xpaths/xml/XPath/Invoice-XPath.xml" (the latter is as
yet not determined absolutely, only relatively, hence the need for the
urn identifier too, though the latter would probably always be best supplied
along with the location to adequately denote the subset).

Here is my example of how an 'ID' attribute would, in my view, be used to
represent this logical document:


<BusinessDocument name="UBL 1.0 Invoice - Small Business Subset" nameID="UBL_1-0_SBS_1-0_Invoice">
		<Documentation>The document specifications are an XSD file and a subset definition that specify the rules for creating the XML document for the business action of invoicing the buyer. For further explanation see UBL-1-0-SBS-cs/index.html .</Documentation>
		<Specification targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-1.0" name="Invoice" nameID="Invoice" location="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Invoice-1.0.xsd"; type="schema"/>
		<Specification ID="urn:oasis:names:tc:ubl:xpath:Invoice-1.0:sbs-1.0" name="Invoice SBS" nameID="InvoiceSBS" location="UBL-1-0-SBS-cs/xpaths/xml/XPath/Invoice-XPath.xml" type="other"/>
</BusinessDocument> 


I have a more sophisticated version in which the BusinessDocument above
could be one of two, the BusinessDocument with the subset (above) and an
alternative BusinessDocument without the subset, namely

<BusinessDocument name="UBL 1.0 Invoice" nameID="UBL_1-0_Invoice">
		<Specification targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-1.0" name="Invoice (Non Subset)" nameID="InvoiceNS" location="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Invoice-1.0.xsd"; type="schema"/>
</BusinessDocument>

A condition, some flag in the CPP, would be the trigger to determine that the first rather than
second logical business document would be sent. (Further development would be to add
subet and non-subset logical documents for version 2.0 of UBL, again conditional on flags in
the CPP, if that is OK. Further developments still might be to add flags for contexts which
are associated with logical business documents which are defined for those contexts in
CAM files.)

The more sophisticated versions show how there is a need to include such elaborations beyond
the basic UBL Invoice in a business process definition so that states can be related to features
in the CPP's without the need to always specify the ebBP defintion for each and every party:
One common ebBP definition can then be used by all the parties in a large and potentially open
community while allowing for broad differences in requirements. This is not, though, I'd stress,
to allow for minutia of differences best dealt with in caveats of the CPP or alternative CAM files, say.

I have attached a prototype ebBP file for the simplest (first) form of the use case, with the extra 
attribute 'ID' included (excuse, please my use of the same ebBP version identifiers in case those
should have been changed). 

All the best

Stephen Green






<?xml version="1.0" encoding="UTF-8"?>
<!--

Second prototype by Stephen Green, Sept 2005

 -->
<ProcessSpecification name="UBL 1.0 Invoice Small Business Subset BPSS Prototype 2" nameID="UBL_1-0_Invoice_SBS_BPSS_Prototype_2" specificationVersion="2" instanceVersion="0.1" xmlns="http://docs.oasis-open.org/ebxmlbp/ebbp-2.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="http://docs.oasis-open.org/ebxmlbp/ebbp-2.0 ebbp-2.0.1.xsd" uuid="urn:oasis:names:draft:bpss:ubl:billing:invoice:1.0:sbs:prototype:2">
	<Documentation/>
	<Signal nameID="ra2" name="ReceiptAcknowledgement">
		<Specification nameID="rabpss2" name="ReceiptAcknowledgement" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<Signal nameID="rae2" name="ReceiptAcknowledgementException">
		<Specification nameID="raebpss2" name="Exception" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<Signal nameID="aa2" name="AcknowledgementException">
		<Specification nameID="aabpss2" name="AcknowledgementException" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<Signal nameID="aae2" name="AcceptanceAcknowledgementException">
		<Specification nameID="aaebpss2" name="Exception" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<Signal nameID="ge2" name="GeneralException">
		<Specification nameID="gebpss2" name="Exception" location="ebbp-signals-2.0.1.xsd"></Specification>
	</Signal>
	<BusinessDocument name="UBL 1.0 Invoice - Small Business Subset" nameID="UBL_1-0_SBS_1-0_Invoice">
		<Documentation>The document specifications are an XSD file and a subset definition that specify the rules for creating the XML document for the business action of invoicing the buyer. For further explanation see UBL-1-0-SBS-cs/index.html .</Documentation>
		<Specification targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-1.0" name="Invoice" nameID="Invoice" location="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Invoice-1.0.xsd"; type="schema"/>
		<Specification ID="urn:oasis:names:tc:ubl:xpath:Invoice-1.0:sbs-1.0" name="Invoice SBS" nameID="InvoiceSBS" location="UBL-1-0-SBS-cs/xpaths/xml/XPath/Invoice-XPath.xml" type="other"/>
	</BusinessDocument>
	<Package name="UBL 1.0 SBS" nameID="UBL_1-0_SBS">
		<Documentation/>
		<Package name="Billing" nameID="BillingID">
			<Documentation/>
			<Package name="Invoice" nameID="InvoiceID">
				<Documentation/>
				<Notification name="Send UBL 1.0 Invoice SBS" nameID="Send_UBL_1-0_Invoice_SBS_N" isGuaranteedDeliveryRequired="true">
					<RequestingRole name="Ninitiator" nameID="NinitiatorID"/>
					<RespondingRole name="Nresponder" nameID="NresponderID"/>
					<RequestingBusinessActivity name="Send Invoice" nameID="Send_Invoice">
						<DocumentEnvelope name="UBL 1.0 Invoice - Small Business Subset Notification" nameID="UBL_1-0_SBS_1-0_Invoice_Notification_DE" businessDocumentRef="UBL_1-0_SBS_1-0_Invoice" isAuthenticated="transient" isConfidential="transient" isTamperDetectable="transient"/>
						<ReceiptAcknowledgement signalDefinitionRef="ra2" nameID="RA2" name="RA2"/>
						<ReceiptAcknowledgementException signalDefinitionRef="rae2" nameID="RAE2" name="RAE2"/>
						<AcceptanceAcknowledgement signalDefinitionRef="aa2" nameID="AA2" name="AA2"/>
						<AcceptanceAcknowledgementException signalDefinitionRef="aae2" nameID="AAE2" name="AAE2"/>
					</RequestingBusinessActivity>
					<RespondingBusinessActivity name="Receive Invoice" nameID="Receive_Invoice"/>
				</Notification>
				<BusinessCollaboration name="Send UBL 1.0 Invoice SBS" nameID="Send_UBL_1-0_SBS_Invoice_BC" pattern="Notification">
					<Documentation/>
					<Role name="Creditor" nameID="CreditorID"/>
					<Role name="Debtor" nameID="DebtorID"/>
					<TimeToPerform/>
					<Start name="Start Send UBL 1.0 Invoice SBS" nameID="Start_ST">
						<ToLink toBusinessStateRef="Send_UBL_1-0_Invoice_SBS_BTA"/>
					</Start>
					<BusinessTransactionActivity name="Send UBL 1.0 Invoice SBS" nameID="Send_UBL_1-0_Invoice_SBS_BTA" businessTransactionRef="Send_UBL_1-0_Invoice_SBS_N" hasLegalIntent="true" isConcurrent="false">
						<TimeToPerform/>
						<Performs currentRoleRef="CreditorID" performsRoleRef="NinitiatorID"/>
						<Performs currentRoleRef="DebtorID" performsRoleRef="NresponderID"/>
					</BusinessTransactionActivity>
					<Success name="Start" nameID="Send_UBL_1-0_Invoice_SBS_BTA_Success"/>
					<Failure name="Failure" nameID="Send_UBL_1-0_Invoice_SBS_BTA_Failure"/>
				</BusinessCollaboration>
			</Package>
		</Package>
	</Package>
</ProcessSpecification>
--- End Message ---


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