OASIS ebXML Messaging Services TC

 View Only

RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL

  • 1.  RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL

    Posted 02-17-2002 16:08
    
    David,
    
    No one is arguing about whether the cardinality of the Role element in the
    MSG spec should include minOccurs=0. It has been previously agreed that the
    cardinality may include zero and no one is asking to change it. This
    argument is entirely around whether it is permitted that the word
    "optional" be used when minOccurs=0.  It is NOT permitted as long as the
    MSG spec states conformance to RFC2119.  The effort that has thus far been
    expended on this repeating discussion could have been better expended in
    rewording those places where the word "optional" SHALL not be used.
    
    Regards,
    Marty
    
    *************************************************************************************
    
    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
    *************************************************************************************
    
    
    
    David Fischer <david@drummondgroup.com> on 02/14/2002 12:55:46 PM
    
    To:    Arvola Chan <arvola@tibco.com>, ebXML Msg
           <ebxml-msg@lists.oasis-open.org>
    cc:
    Subject:    RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    
    Yes, I am very aware of this.  Once again, CPA is driving Messaging.
    
    As long as there is only one CollaborationRole per CPA/PartyInfo, this is
    not a
    problem.  But, if CollaborationRole is REQUIRED then if Messaging is to
    align
    with CPA, we will have to REQUIRE the Role element (it can no longer occur
    zero
    times).  This is what this discussion is really about.  CPA needs this
    element
    so we want Messaging to change.
    
    OTOH, we have implementers with market-ready code, who will now have to
    change.
    This is why W3C gets much of its bad press -- it takes too long to get a
    standard out and implementors end up suffering.
    
    David.
    
    -----Original Message-----
    From: Arvola Chan [mailto:arvola@tibco.com]
    Sent: Thursday, February 14, 2002 11:25 AM
    To: David Fischer; ebXML Msg
    Subject: Re: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    David:
    
    Information in a CPA is organized around CollaborationRole. A CPA has two
    PartyInfo elements. Each PartyInfo element has one or more
    CollaborationRole
    elements. Each CollaborationRole has one or more ServiceBinding elements.
    Each ServiceBinding is associated with a business process and contains
    bindings from action to delivery channels, transport, doc exchange, etc.
    Each CollaborationRole element has a REQUIRED Role element that is
    equivalent  to the Role element in ebMS.
    
    In other words, all CPP/A implementations will have to support the notion
    of
    Role.
    
    Regards,
    -Arvola
    
    -----Original Message-----
    From: David Fischer <david@drummondgroup.com>
    To: ebXML Msg <ebxml-msg@lists.oasis-open.org>
    Date: Thursday, February 14, 2002 9:06 AM
    Subject: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    
    What is it going to mean to us if the CPA group gets Messaging to require
    Role?
    How hard will it be to implement the Role element in your implementations.
    I
    think Sybase already has this, what about everyone else?
    
    Regards,
    
    David.
    
    -----Original Message-----
    From: Dale Moberg [mailto:dmoberg@cyclonecommerce.com]
    Sent: Thursday, February 14, 2002 9:47 AM
    To: David Fischer; Martin W Sachs
    Cc: Christopher Ferris; ebXML
    Subject: RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    David,
    
    I believe that the group decision was
    obviously ambiguous. In discussing elements,
    optional would, to me, be understood to mean
    something about possible zero cardinality.
    
    Your interpretation is apparently not
    universally accepted. So what you think
    people agreed to is not what they thought
    they agreed to.
    
    Sounds like this is something needing
    a fix, one way or the other. To say
    that it is a functionality change implies that it
    had been unambigous what was agreed to.
    But it was not unambiguous. Therefore,
    it is not a change in functionality.
    
    Dale Moberg
    
    
    -----Original Message-----
    From: David Fischer [mailto:david@drummondgroup.com]
    Sent: Thursday, February 14, 2002 8:42 AM
    To: Martin W Sachs
    Cc: Christopher Ferris; ebXML
    Subject: RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    Yes Marty, this is what I am saying.
    
    We, as a group, agreed to add Role as long as it was OPTIONAL.  As to
    why Chris
    added this element, he didn't tell us -- I'm sure he had his reasons (we
    didn't
    ask since, after all, this element is OPTIONAL).  Support for this
    element has
    always been OPTIONAL.  It is too late to change that now.  If I were an
    implementer, I would never send a value in Role unless the receiving
    end, at CPA
    configure time, asked for this.  As an implementer, I would never fault
    when
    receiving this element since it will not cause a parser error -- I would
    ignore
    it, unless I were someone like RosettaNet who needed this element.
    However, if
    an implementation chooses to return a NotSupported when it receives a
    Role, they
    are allowed to do so.  This is what OPTIONAL means.
    
    We voted NOT to change functionality.  If we are going to ignore group
    decisions, then why do we bother to vote?
    
    David.
    
    -----Original Message-----
    From: Martin W Sachs [mailto:mwsachs@us.ibm.com]
    Sent: Thursday, February 14, 2002 7:50 AM
    To: David Fischer
    Cc: Christopher Ferris; ebXML
    Subject: RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    
    So you are saying that it is OK for a software vendor to decide not to
    implement the ROLE element.  Then each vendor has to supply a catalog
    stating which OPTIONAL elements he/she does not provide.  A customer has
    to
    check every vendor's catalog to make sure that the OPTIONAL elements
    that
    the customer requires are supported.  What if next month, the same
    customer
    discovers that he/she needs one more element that the newly purchased
    software doesn't support?
    
    Of course I can't believe that that is what you really mean.  However a
    vendor that understands RFC2119 will interpret the MSG spec in exactly
    that
    way,  Use of OPTIONAL for a purpose other than to indicate that a vendor
    doesn't have to support this particular major feature can lead to an
    interoperability disaster.  One can eliminate the words OPTIONAL and MAY
    without changing any syntax or semantics.
    
    Regards,
    Marty
    
    ************************************************************************
    ********
    *****
    
    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
    ************************************************************************
    ********
    *****
    
    
    
    David Fischer <david@drummondgroup.com> on 02/14/2002 12:08:25 AM
    
    To:    Martin W Sachs/Watson/IBM@IBMUS
    cc:    Christopher Ferris <chris.ferris@sun.com>, ebXML
           <ebxml-msg@lists.oasis-open.org>
    Subject:    RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    
    Marty,  I don't disagree with your premise.  We do need to avoid the
    word
    OPTIONAL unless that is really what we mean.
    
    Doug/Chris' Issue 15 concerns OPTIONAL in relation to the Role element.
    At
    the
    bottom of the issue, it also says there are other instances...
    
    I just went through the document again and I don't disagree with any of
    the
    instances where we use OPTIONAL.  Ping/Pong (w/ or w/o signature),
    Message
    Status, MessageOrder are all truly OPTIONAL items for implementers.  The
    only
    one I'm not sure about concerns Transfer Encoding on HTTP (I'm too lazy
    to
    research this at this time of night).
    
    Outside of the definitions, we use the word *OPTIONAL* 13 times and
    *optional* 3
    times (twice concerning the id element -- which maybe is not truly
    optional).
    
    Perhaps the problem is in section 1.1.1 and our definition of OPTIONAL?
    It
    says:
    
       ... An implementation which does not include a
       particular option MUST be prepared to interoperate
       with another implementation which does include the
       option, though perhaps with reduced functionality ...
    
    which we do by supplying the NotSupported Error.
    
    Regards,
    
    David.
    
    -----Original Message-----
    From: Martin W Sachs [mailto:mwsachs@us.ibm.com]
    Sent: Wednesday, February 13, 2002 10:18 PM
    To: David Fischer
    Cc: Christopher Ferris; ebXML
    Subject: RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    
    David,
    
    I gave in too easily.  The subject line says " Issue 15: Use of the word
    OPTIONAL".  The text of issue 15 is shown below.  So either the subject
    line is referencing the wrong issue or the discussion is about the word
    "OPTIONAL" and not about the cardinality of the Role element.
    
    Regards,
    Marty
    
    
    <issue>
      <issue-num>15</issue-num>
      <title>RFC2119 usage</title>
      <locus>line 784</locus>
      <section>3.1.1.2 PartyId element</section>
      <priority>editorial</priority>
      <topic>spec</topic>
      <status>Active</status>
      <originator><a href='mailto:chris.ferris@sun.com'>Chris
    Ferris</a></originator>
      <responsible></responsible>
      <description><a href
    ='http://lists.oasis-open.org/archives/ebxml-msg/200201/msg00130.html'>[
    see
    email]</a> use of the term OPTIONAL here may be confusing given the
    conformance statement. Suggest that this be rephrased as follows:  The
    Role
    element, if present, ... (technical/editorial)  Other instances of
    OPTIONAL
    where ordinality is meant:<p/>
    * 500 (MIME start parameter)  * 1801, 1814 (Signature element in
    Message
    Status Request &amp; Response)  * 1822, 1842 (StatusRequest and
    StatusResponse elements; really, the service is OPTIONAL)  * 1905, 1955
    (Signature element in Ping &amp; Pong)</description>
      <proposal>make suggested change</proposal>
      <resolution>Disagree.</resolution>
    </issue>
    
    ************************************************************************
    ********
    
    *****
    
    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
    ************************************************************************
    ********
    
    *****
    
    
    
    David Fischer <david@drummondgroup.com> on 02/13/2002 06:29:54 PM
    
    To:    Martin W Sachs/Watson/IBM@IBMUS
    cc:    Christopher Ferris <chris.ferris@sun.com>, ebXML
           <ebxml-msg@lists.oasis-open.org>
    Subject:    RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    
    Yes Marty, I understand.  This issue is trying to change the Messaging
    Specification functionality to REQUIRE that everyone implement Role and
    allow it
    to be in the message From/To zero or one time.  This is NOT what we
    agreed
    to.
    I also understand this has implications for CPA, which I have already
    discussed
    with you on a CPA conference call.
    
    I suppose we could ask the implementers we know of if this will mean a
    change
    for their code?  What about implementors we don't know about?  We have
    already
    voted not to change functionality.  The point is that we added Role as
    OPTIONAL
    and now, after the last bell, we are trying to change.
    
    David.
    
    -----Original Message-----
    From: Martin W Sachs [mailto:mwsachs@us.ibm.com]
    Sent: Wednesday, February 13, 2002 4:07 PM
    To: David Fischer
    Cc: Christopher Ferris; ebXML
    Subject: RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    
    David,
    
    We are trying to say that "OPTIONAL" or "optional" tells a vendor that
    the
    vendor need not implement the feature (per RFC2119).  That's not what is
    wanted  for Role.  You have to mean "optional" without saying
    "optional".
    There aren't any really good synonyms of "optional" ("discretionary" has
    been suggested).  You also have to mean "optional" without saying "may"
    either, for the same reason.  For elements, the CPPA spec avoids
    "optional"
    and "may" by mentioning the cardinality instead. Example: "The Role
    element
    can be included zero or one time."
    
    Regards,
    Marty
    
    ************************************************************************
    ********
    
    
    *****
    
    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
    ************************************************************************
    ********
    
    
    *****
    
    
    
    David Fischer <david@drummondgroup.com> on 02/13/2002 04:24:26 PM
    
    To:    Christopher Ferris <chris.ferris@sun.com>
    cc:    ebXML <ebxml-msg@lists.oasis-open.org>
    Subject:    RE: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    
    Chris,
    
    When you proposed the Role element you said it was OPTIONAL and the team
    agreed
    to add it as OPTIONAL.  When you proposed this element (see original
    issue
    128 -- attached) you said:
    
    Issue Add Role as an optional element within both From and To
    elements. Role should be indpendently wihtin the messaging
    spec with a non-normative note that describes how it
    relates to the BPSS spec.
    
    The minutes from 11-05-01 again say Role is OPTIONAL.
    
    Why are we changing now?  Role has always been OPTIONAL, let's leave it
    alone.
    
    Regards,
    
    David.
    
    -----Original Message-----
    From: Christopher Ferris [mailto:chris.ferris@sun.com]
    Sent: Wednesday, February 13, 2002 2:18 PM
    Cc: ebXML
    Subject: Re: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    
    
    +1
    
    I think it critical that we leave no room for doubt
    as to our intent. The Role element is not optional,
    it has a cardinality of zero or one.
    
    Cheers,
    
    Chris
    
    Arvola Chan wrote:
    
    > +1.
    >
    > -Arvola
    >
    > -----Original Message-----
    > From: Doug Bunting <dougb62@yahoo.com>
    > To: ebXML <ebxml-msg@lists.oasis-open.org>
    > Date: Tuesday, February 12, 2002 2:10 PM
    > Subject: [ebxml-msg] Issue 15: Use of the word OPTIONAL
    >
    >
    > David has disagreed with Chris' statement that OPTIONAL is misused
    > (according
    > to 2119) in a number of contexts.  The basic issue here is a conflict
    > between
    > something that may or may not appear in an instance of an ebXML
    message
    and
    > something that must or may be implemented by a compliant ebMS system.
    In
    > the
    > specified uses of the word OPTIONAL, the first is meant but our
    document
    > conventions (section 1.1.1) restricts us to using OPTIONAL only when
    the
    > second is intended.  I would strongly recommend making the change
    Chris
    > suggested.
    >
    > thanx,
    >     doug
    >
    >
    >
    > ----------------------------------------------------------------
    > To subscribe or unsubscribe from this elist use the subscription
    > manager: <http://lists.oasis-open.org/ob/adm.pl>
    >
    >
    > ----------------------------------------------------------------
    > To subscribe or unsubscribe from this elist use the subscription
    > manager: <http://lists.oasis-open.org/ob/adm.pl>
    >
    
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>
    
    
    
    
    
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>
    
    
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>
    
    
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>
    
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>
    
    
    ----------------------------------------------------------------
    To subscribe or unsubscribe from this elist use the subscription
    manager: <http://lists.oasis-open.org/ob/adm.pl>