* Abstract - a cache isn't an intermediary, it's a local message store;
'proxy' or 'gateway' would be a better example.
* Section 2 - 'Web' is always capitalised.
'Remote callout servers are usually employed in an OPES framework to either
offload the OPES intermediary for better scalability or to provide
value-added services not available oneither the origin server or the OPES
intermediary'; scalability isn't specific to the use of a callout protocol.
Overall, though, this is the only motivation I can find for using a callout
protocol in the current OPES documents; it would be useful to explore why
executing services that aren't colocated with the intermediary is necessary,
and what scenarios it's appropriate/not appropriate for.
* Section 3.1 - Suggest removing 'request/response'; OPES isn't tied to a
particular message exchange pattern.
* Section 3.1.1 - 'Such a URI MUST contain the complete hostname and the
path identifying the service requested'; I think you mean to say that it
should be an absolute URI, as opposed to a URI-reference.
Also, you specify it as a URI, and then refer to it in the last sentence as
* Section 3.1.2 - "request/reply" -> "request/response"
This section refers to encapsulating the message; what is the motivation for
encapsulating messages? There are a number of ways one can vector the
messages to the service (e.g., just re-routing the original protocol
message, using out-of-band messaging for signaling).
* Section 3.1.3 - Suggest removing 'command line'.
* Section 3.1.5 - Could this be expressed as a requirement that the callout
protocol be asynchronous?
* Section 3.1.6 (and elsewhere) - it may be useful to refer to, and use the
terms defined in, RFC3117.
* Section 3.2.1 - 'Determining which requests are identical is outside of
the scope of a callout protocol'; how is caching accomplished, then? Some
means of indexing the cache is required.
* Section 3.2.2. - Could this be expressed in terms of connection
* Section 3.2.3 - I *think* this should read "An intermediary MAY keep a
local copy..." -> "An intermediary MAY be required to keep a local copy..."