ebcore-cppa message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]
Subject: Bundling and CPPA
- From: "Pim van der Eijk" <pvde@sonnenglanz.net>
- To: <ebcore-cppa@lists.oasis-open.org>
- Date: Thu, 26 Aug 2010 22:39:31 +0200
To have some new
content for discussion, here is a proposal to add support for bundling in
CPP/CPA.
The ebMS 3.0 Part 2
specification defines a new message bundling protocol.
The support for
Bundling and the relevant processing mode parameters can be specified in
CPP/CPA in a straightforward manner: We add a new optional
"Bundling" element in ActionBinding with attributes policy, maxdelay, maxsize,
orderingpolicy and orderingscope equivalent to the pmode parameters. The
IDREFS content of the Bundling element are references to other ActionBinding
elements (which must have the same value for sendOrReceive).
<ActionBinding
id="Buyer_AB1" sendOrReceive="send"
action="ProcessPurchaseOrder"
packageId="ebMS3_SOAP12_Envelope">
<BusinessTransactionCharacteristics/>
<ChannelId>dc.ebMSRequestMessage.SyncResponseSignals</ChannelId>
<Bundling policy="optional" maxdelay="PT10M"
maxsize="100000">Buyer_AB1</Bundling>
</ActionBinding>
<ActionBinding
id="Buyer_AB3" sendOrReceive="send"
action="ProcessSalesReport"
packageId="ebMS3_SOAP12_Envelope">
<BusinessTransactionCharacteristics/>
<ChannelId>dc.ebMSRequestMessage.SyncResponseSignals</ChannelId>
<Bundling
policy="optional" maxdelay="PT2H" maxsize="150000"
orderingpolicy="timestamp"
orderingscope='eb3:CollaborationInfo/eb3:ConversationId'>Buyer_AB1
Buyer_AB3</Bundling>
</ActionBinding>
The idea is that at
ActionBinding level the bundling dependencies and configuration of the action
are specified. We may need a way to indicate in ebXMLSenderBinding and
ebXMLReceiverBinding what (version of which) protocol is used to implement the
bundling feature, with some constant URI indicating the protocol described in
chapter 3 of ebMS 3.0 Part 2.
The following
elements need to be added to the CPP/CPA schema.
<xsd:complexType
name="FlatActionBindingType">
<xsd:complexContent>
<xsd:extension
base="tns:ActionBindingBaseType">
<xsd:sequence>
<xsd:element
ref="tns:BusinessTransactionCharacteristics"/>
<xsd:element
ref="tns:ActionContextHead"
minOccurs="0"/>
<xsd:element
ref="tns:ChannelId"
maxOccurs="unbounded"/>
<xsd:element
ref="tns:Bundling"
minOccurs="0"/>
<xsd:element
ref="tns:ActionBinding" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute
name="id" type="xsd:ID"
use="required"/>
<xsd:attribute name="action"
type="xsd:NMTOKEN"
use="required"/>
<xsd:attribute
name="sendOrReceive"
type="xsd:NMTOKEN"/>
<xsd:attribute
name="correlativeBinding"
type="xsd:IDREF"/>
<xsd:attribute
name="packageId" type="xsd:IDREF"
use="required"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!--
-->
<xsd:element name="Bundling"
type="tns:BundlingType"/>
<xsd:complexType
name="BundlingType">
<xsd:simpleContent>
<xsd:extension
base="xsd:IDREFS">
<xsd:attribute name="policy"
type="tns:BundlingPolicyType"
use="optional"
default="never">
</xsd:attribute>
<xsd:attribute
name="maxsize" type="xsd:positiveInteger"
use="optional">
</xsd:attribute>
<xsd:attribute
name="maxdelay" type="xsd:duration"
use="optional">
</xsd:attribute>
<xsd:attribute
name="orderingpolicy" type="tns:OrderingPolicyType"
use="optional"
default="undefined">
</xsd:attribute>
<xsd:attribute
name="orderingscope" type="xsd:string"
use="optional">
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType
name="BundlingPolicyType">
<xsd:restriction
base="xsd:normalizedString">
<xsd:enumeration
value="never"/>
<xsd:enumeration
value="always"/>
<xsd:enumeration
value="optional"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType
name="OrderingPolicyType">
<xsd:restriction
base="xsd:normalizedString">
<xsd:enumeration
value="undefined"/>
<xsd:enumeration
value="documentorder"/>
<xsd:enumeration
value="timestamp"/>
</xsd:restriction>
</xsd:simpleType>
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [List Home]