I just have one major comment ...
As I've stated here before, I can see no reason why "callout" receives
any mention in an architectural document. Callout is an implementation
detail, where an OPES entity determines that it needs to go elsewhere to
accomplish its task. Furthermore, not only do I not see a need to
*identify* a callout protocol, I don't even see a need to standardize on
one. The important interface is the one between entities, such as that
provided by HTTP, or other transfer protocols. If you need to "callout"
to a service, give it an HTTP interface and call it an entity. This is
how things work today with HTTP intermediaries (firewalls, caches,
etc..).
mark - the reason that callout is in the architecture is because we standardize
a callout protocol. if we didn't care to have the protocol standardized, then
you and i are in agreement; however, everyone i talk to in this space tells me
that a standardized callout protocol is a real-world requirement. so, there you
have it.
/mtr