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]

Reply via email to