- From: Mark Nottingham <mnot@akamai.com>
- Date: Sat, 17 Mar 2001 21:36:02 -0800
- To: XML Distributed Applications List <xml-dist-app@w3.org>
At the f2f, Stuart asked me to write down what I meant by a 'processing model' in XMLP. It seems to be relevent to current discussions, so here's an attempt, with a number of questions (again): XMLP's processing model is the rules which an XMLP Procesor follows when determining how to dispatch XMLP Blocks to Handlers. In this description, I'll gloss over the details of the transport binding and serialisation mechanism. An XMLP Processor handles incoming messages in the following manner: * Processor opens envelope, examines and dispatches blocks in message order: * Blocks which are not targetted at the processor are skipped. * For each block, identify the appropriate handler by the namespace of the block, then * If a handler is not found, and block processing is required, generate an error, otherwise * If a handler is not found, and block processing is not required, skip. QUESTIONS [and some thoughts towards answers]: - What is the targetting mechanism, and how is it defined and extended? [In SOAP it's a URI. I think we'll need to define a number of common special cases ('next', 'all', etc.), while transport bindings should define transport-specific conventions.] - Where are errors sent? [Seems to rely on both the application's MEP and the transport MEP. Some cases will need an in-message error destination. Also need a way to refer to correlated messages.] - Should it be possible to express blocks that are targetted at multiple nodes and required on some but optional on others? [probably can be solved with block duplication. Not elegant, but I don't *think* this will be a common case? Alternatively with some sort of block referencing mechanism] - Should there be in-message instructions on whether to delete the block after it is processed, or is that decision completely the domain of the module? - Are there situations where block ordering is not capable of expressing module processing ordering (i.e., can there be a case where two different receivers of a message need to process the blocks in a different order)? - Are there situations where the sender doesn't know the proper ordering of blocks in processing? How do XMLP Intermediaries now where to insert new blocks in the order of processing? - Once a Handler takes responsibility for a Block, can any other XMLP-layer errors be generated by that Block? Or are they higher-level errors? Cheers, -- Mark Nottingham, Research Scientist Akamai Technologies (San Mateo, CA USA)
Received on Sunday, 18 March 2001 00:36:04 UTC