Extensions and Import/Include

I've had further thoughts on the interaction between extensions and
the import/include mechanism. Jonathan asked if the WS-A extension
would violate my proposed restrictions. I don' t think is does because
of the recent "clarifications" about how extensions work.

I had assumed that the presence of an extension was triggered by the
content of a document. This is wrong since we agreed that an extension
was in effect whether or not a document actually contained any markup
from it's namespace. For example, if you claim that a component model
conforms to the wsdlx extension then ALL operations have a {safety}
property whether or the wsdlx:safe attribute is present.

Therefore it is fine for WS-A to add properties to components even if
there is no markup in those components (e.g. Interface components).
This doesn't violate the import/include restriction because you get
the same properties added whether or not a component is brought in via
import/include or is defined in the document. The extension is present
globally and uniformly throughout the component model. A processor can
therefore read (and optionally cache) each document exactly once and
then assemble them into the full component model instance.

This implies that we can't just talk about component models. We have
to talk about extended component models, i.e. the core component model
plus a set of extensions. The presence of extensions is independent of
the document content and therefore we have to specify which extensions
are present when we consider the validity of a component model
instance.

-- Arthur

Received on Thursday, 8 June 2006 13:54:40 UTC