[Nmc-wg] Clarifications on the base-doc
Jason Zurawski
zurawski at internet2.edu
Wed Jan 27 07:19:23 CST 2010
Hi Inder/All;
> These were my comments on the base document. I am still new to perfSONAR
> suite of services, so would love to get educated as well through the
> responses. I volunteer to fix the nits on SVN if you agree they are
> valid comments :).
In general I would like to see more people editing the document (or at
least inserting the comments directly into the tex source). To date
this has been a side project of my own that needs to be transitioned to
the entire WG. I have updated the TODO list to include some of your
concerns, and have some other comments are inline:
> 1. It seems odd to have requirements specific MUST, SHOULD in a
> preliminary example. It would be great to consolidate the requirements
> either in Sections 4.3/4.4 or message structure protocol requirements
> before the example in Section 4.1.
Freek (and now you! :)) can work through the document and correct the
use of RFC 2119 words. As I have stated before, I used these with a
heavy hand initially and did not pay must attention to the use in many
areas. Editors with experience in writing these types of documents like
yourself will be very valuable to correct these mistakes.
> 2. In Section 4.1, page 7
> a. I understand the concept behind "rejected outright" but it will good
> to elaborate what that means like " message is discarded and an response
> sent with a corresponding error message".
> b. In my understanding "Note this message is similar to the response in
> many ways" - the word response should actually be "request"?
I have corrected 'b', good eye. I added a comment in the document about
'a' so we don't forget this. I believe there is a standard 'message
type is not accepted' result code which will be described in the result
code section, but we can soften the text in this case.
> 3. In section 4.3.2.2, it seems that different services can react
> radically differently to the presence of objects in an API. I do not
> think it is wise for some services to view inclusion of this element as
> an "error". For optional elements, if a service that does not expect
> those elements and they are not mandatory, it should ignore it, as long
> as the overall request makes sense. Is there a particular case where
> inclusion of this element should generate an error?
I believe this comment can be addressed in Jeff's suggestion from last
week, and something that I have added to the agenda for this week. A
protocol that is implemented in software can't be very 'open', as it
makes the design of clients, services, and the specification of said
protocol hell. Locking things down, e.g. being extremely specific about
what may go where even though the current generation of tools may not
speak the language currently, may make the job easier and the resulting
software much better.
We can talk about all of this on the call, but to directly address your
comment: the wording on this is poor. Services *should* (I am speaking
only on the knowledge of services I have worked on - others can comment
further) currently treat the message parameters section as an ignorable
chunk if they are not expecting it. To ensure future compatibility we
should explicitly mark this as an optional element and avoid errors.
> 4. It is mentioned many times that /id/ *may* be used to track state
> between messages and services. The examples in the doc do illustrate how
> request/response and /metadataidref/ use the /id/ to do chaining. What
> is unclear is what other state can be tracked with "id"'s? An example
> would be great here.
I have noted that we need to define the rules regarding the scope and
statefullness of IDs in the TODO. The NM-WG document
(https://forge.gridforum.org/sf/go/doc15649?nav=1) at one time had a
very large section devoted to Ids but I can't seem to locate it in my
very quick read.
> 5. Section 5.1, it seems like incorrect bold/highlighting of should,
> shall etc. I think Freek volunteered to fix it...but I could take a shot
> there as well.
>
> 6. Section 5.1.2 - The first line "When we are faced with like elements
> that MAY NOT share a common namespace, we SHOULD NOT combine." I am
> unclear what it means, would the meaning the sentence means to convey
> stay the say if I rephrased it as
> "When we are faced with like elements that do not share a common
> namespace, we SHOULD NOT combine". In the current instantiation within
> the document, it seems to indicate that if there are like elements that
> share a common namespace, there may be reasons not to combine. If there
> are exceptions like these, we should highlight what cases might those
> be.....
>
> 7. I am still trying to wrap my head around all the nuances of chaining,
> though the base concepts are simple. The confusion is especially around
> the descriptions of the three approaches "safe and stupid, dangerous yet
> intelligent and slow and steady". Should these three approaches be
> broken into their own sub-sections for better readability?
Chaining is giving lots of people headaches. As a part of the 'locking
down' discussion we will decide how to narrow the scope here. After
reading the comments from others, I think the 3 examples I originally
gave do not belong here and should be in NM-WG. We should devote the
space on chaining to giving exact examples instead of possibilities
(merge chaining + explicit filter chaining examples).
Thanks for your comments Inder;
-jason
More information about the Nmc-wg
mailing list