On Jan 17, 2007, at 8:52 AM, Jim Marino wrote:
Based on some of the deployment work that will be done, we actually
need to separate out the load phase into two, one which loads the
assembly model and another phase which resolves the dependencies
necessary to construct the component type metadata (e.g. Java
class, WSDL, etc.). I think we should pick this work up once we
have those phases separated out.
Expanding on this a bit, one problem we have now is that we require
the resource loading mechanisms work during the load phase. However,
now we've added the <dependency> mechanism and are looking at things
like OSGi with its bundle dependency mechanisms we need to set up
these resource dependencies in order to get the information needed
for introspection (e.g. being able to load the class or WSDL document).
We may actually need to add two phases:
1) introspection, where we load definitions referenced from the model
and fully flesh out the configuration
2) validation, where we determine (to the extent we can) that the
planned change to the assembly is legal
Once we do this separation, one of the tricky things will be
handling the merging of data. The side file loading will need to
either add or overwrite information generated through
introspection. Also, another tricky part may involve handling of
heuristic errors. For example, since the introspection phase is run
first, it may prematurely throw errors due to a lack of metadata
that may be supplied by the component type side file. To solve
this, we should probably introduce a validation phase with the
ability to plugin in validators which are run after the
introspection and side file load have taken place, during the
resolution phase. The validators should check very specific things.
I think validation is a more global problem - the load/introspect
phases are creating a complete, detailed proposal for a change to the
global assembly. The validation phase needs to check that the entire
proposal is valid based not just on correctness of the proposal
itself but also correctness in the context of the current assembly.
Once we have the phases broken out (I can get this done early next
week, once some of the deployment/resolition groundwork is in
place), maybe we can pick this up then?
That would be good.
--
Jeremy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]