atm, the PCD contains the URI of the component and the definitions for all its services and references. The Java sub-class of this adds the scope, classloader id, and room for the bytecode for the InstanceFactory. I'd like to suggest a couple of changes to this:

Firstly, transporting Scope is not enough on its own as there is more than one COMPOSITE scope. The builders used to get this from the deployment context but with federation it will need to be passed to in the PCD. I think instead we should treat ScopeContainers as resources and give them IDs like ClassLoaders. For COMPOSITE scope the ID can be the URI of the component implemented by the composite; for others we can use well known IDs. Every component has a scope so I think we can put scopeContainerID down in to PCD itself.

Secondly, I don't think the PCD needs the service and reference definitions. Instead we can replace those with PWDs that connect the component either to other local application components or to the components provided by the transport implementations. In other words, bindings aren't special any more. This will simplify both component builders and binding implementations as the former won't need to deal with them and the latter simply become transport components with wires attached.

Finally, rather than jamming the bytecode directly into the JavaPCD, I think it should contain a InstanceFactoryProvider. This will allow us to plug providers (e.g. reflective vs. code-genned).

I'm going to start making this last change and integrate the Java and System PCDs and builders.
--
Jeremy


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to