ebxml-tp message

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


Help: OASIS Mailing Lists Help | MarkMail Help
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

Subject: DTD Restructure Proposal

I have reviewed the version 0.3.1 proposal only since this is in accord
with the plan to incorporate the output of the BP Specification Metamodel.
I agree with the basic intent of the restructure, that of the entire
delivery channel being associated with a single party rather than have
multiple places where both parties appear in a single delivery channel.

Some of these comments address the broad technical issues of the proposal;
others address details on some of the tags that are not necessarily part of
the broad technical issues and in some cases may be typos in the
documentation.  I have not attempted to sort them.

Flattening of the CPP:  While I have no technical problem with the proposed
flattening, there is some understandability advantage to tags like
<DeliveryChannelSet> which merely group related lower level tags in the
same manner as intermediate directories in the hierarchical file system.  I
don't know whether these container tags are advantageous or disadvantageous
to processing of the CPP or CPA.  Is there any other disadvantage to them?

<Participants>:  We need to discuss whether the address and contact
information should be in the CPP/CPA or pointed to by them (perhaps at the
CPP owner's private site).  If we do leave them in, some fields will need
to be internationalized.

<Certificate>:  <OrgCertSource> is related to self-issued certificates.
Some people have complained that self-issued certificates are not currently
usable due to problems with public key infrastructure.  In tpaML,
<OrgCertSource> is intended only for digital envelope.

<Certificate>:  The cardinality should be 0 or more (*) since security has
cardinality 0 or 1 (?) .

<Duration>:  date and time will need to be internationalized.

<Endpoint>:  We need to discuss why the endpoint information should not be
put directly in the CPP/CPA. Since this uses CDF and HREF, an explanation
of these facilities would be helpful.

<Endpoint>:  The transport endpoint information has to be installed into
the parties' systems in order to enable them to communicate.  Just pointing
to an external document isn't sufficient as a definition.  The format of
that document has to be specified in detail just as if the information were
inside the CPP/CPA so that an installation tool can correctly parse it and
install the contents.  Similarly, a CPA composition tool has to understand
the contents of the endpoint documents to determine if they are compatible
and how to build the CPA if that information is to be incorporate into the
CPA.  (NOTE:  Compatibility may not be an issue since the endpoints
currently consist only of communication addresses.  Compatibility can be
determined by comparing the delivery channel definitions in the two CPPs.)

<Logon>:  This tag contains <UserId> and <Password>. The DTD shows that
<Logon> is required if password authentication is chosen.  In tpaML,
<Logon> is optional and there is a strong warning not to use it. The reason
is that there are security concerns when a password is included in the CPA
or CPP, even if it is intended only as a first-time password to be changed
immediately.  My personal preference is to delete <Logon> altogether (in
which case the initial passwords would be exchanged through a secure
channel, e.g. a phone call).  At least we should make <Logon> optional and
retain the warning against using it.

<CertificateAuthentication>:  This tag is in the 0.3.1 DTD but not in the
0.3.1 XML file.

<Certificate>:  In the 0.3.1 DTD, <Certificate> is under
<CertificateAuthentication>.  In the 0.3.1 XML file, it is under <Member>.
Chris' covering email says that it goes under <Member>.

<MessageEncoding>:  Missing from the 0.3.1 DTD, present in the 0.3.1 XML.

<MessageRetries>:  This seems to have been subsumed into
<ReliableMessaging>.  However the intention of <MessageRetries> in tpaML is
to support retry of application-level errors (exception responses).  We
should retain it in the CPP/CPA specification.  Placing it under
DocExchange in tpaML was purely a guess because some of these error
conditions are actually reported by DocExchange middleware.  However I
believe that it would be equally acceptable to place it directly under
<BusinessProtocol> or <Service>.

<CertificateReference>:  What is supposed to be in the #PCDATA field?

<Channel>:  In tpaML, the original intent was that there is one for the
entire TPA, which did not have to be identified in the business protocol
section, or multiple channels which could either be assigned to individual
actions or selected dynamically by the runtime.  This proposal adds a
channel ID to <Service>. This permits a separate channel ID for each

    We need to agree on the meaning of ChannelId in <Service>.  Most
   likely, it defines the delivery channel to be used for the whole
   Service; if a channel ID is stated in an action (commercial transaction)
   definition, that overrides the channel ID of the whole service.

<Channel>:  We need to come to agreement on the unidirectionality or
bidirectionality of a channel.  For HTTP synchronous operations, a channel
is bidirectional.  For asynchronous actions (commercial transactions), in
the current BP team proposal, a channel is also bidirectional since
responses are not separate from the request in the same commercial
transaction.  In tpaML, a response is an action request in the other
direction, hence the channels used with tpaML actions are really
unidirectional.  If we decide that the actual delivery path is
bidirectional, we have a decision to make.  One possibility is that a
delivery channel represents the owner's receive capabilities only.  In that
case, the CPA actually has to contain pairs of delivery channels and the
channel ID in the CPA Service or Action (commercial transaction) has to
point to a matched pair of channels (i.e. a tag encompassing one delivery
channel for each party).  Alternatively, we can decide that a delivery
channel in a CPA includes both parties' receive capabilities.

<TerminateConversation>.  In tpaML, this identifies an action which ends a
conversation.  This will be replaced by the corresponding construct in the
XML generated by the BP Specification Metamodel.

<ServiceSecurity>:  In tpaML, this provides a default message security
option (yes or no) for the entire Service.  This will be replaced by the
corresponding construct in the XML generated by the BP Specification

<Comment>:  In tpaML, this was intended as a place which could be used to
identify an associated paper contract without attracting lawyers' attention
:-).  We should provide some way of identifying the paper contract, perhaps
be a more meaningfully named tag.


Martin W. Sachs
IBM T. J. Watson Research Center
P. O. B. 704
Yorktown Hts, NY 10598
914-784-7287;  IBM tie line 863-7287
Notes address:  Martin W Sachs/Watson/IBM
Internet address:  mwsachs @ us.ibm.com

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Search: Match: Sort by:
Words: | Help

Powered by eList eXpress LLC