Simon,

Shall I work on the classloading changes with the extension classloader as a
child of Tuscany Runtime (rather than the SPI), and look at separating the
Runtime and SPI properly later? I would like to keep Core-SPI and Runtime as
two different bundles, so that when running under OSGi, the dependencies
will be specified explicitly (making it slightly simpler to remove the
dependencies later on).

The alternative is to clean up the SPI first before working on the
classloader changes. What do you think?


Thank you...

Regards,

Rajini


On 10/23/07, Simon Nash <[EMAIL PROTECTED]> wrote:
>
> This note is getting a bit long now. I added two comments inline
> and cut out some of the previous discussion.
>
>   Simon
>
> Rajini Sivaram wrote:
>
> > Simon,
> >
> > Comments inline...
> >
> >(cut)
> >>
> >>>maven module names
> >>>
> >>>   1. SCA API (sca-api)
> >>>   2. Tuscany SPI (core-spi, assembly, contribution, policy, interface,
> >>>   interface-java, interface-wsdl, databinding)
> >>>
> >>
> >>Some of the above maven modules contain implementation code as well as
> >>SPI code.  For example, in the assembly module, Service.java is an SPI
> >>and ServiceImpl.java is an implementation class.
> >
> >
> >
> > Yes, unfortunately many of these implementation classes are used outside
> of
> > the SPI modules. At the moment the core-spi bundle that I use to run
> Tuscany
> > under OSGi is forced to export all the packages from these modules,
> rather
> > than just the SPI. eg. ComponentImpl from the assembly module along with
> SPI
> > forms the base class of RuntimeComponentImpl in Runtime.
> ComponentTypeImpl
> > from the assembly module is used by many extensions.
> >
> For impl classes that are intended as extension points, we do have an
> approach used in some places where an empty SPI class extends the impl
> class and other modules extend the SPI class.  Perhaps we could change
> all these places to use that approach.
>
> > (cut)
> >>
> >>
> http://cwiki.apache.org/confluence/download/attachments/68801/tuscany-binding-ws-axis2-dependencies.png
> >>
> >>>
> >>
> http://cwiki.apache.org/confluence/download/attachments/68801/tuscany-implementation-spring-dependencies.png
> >>
> >>>These dependency diagrams show that either the extension modules are
> >>>dependent on the Tuscany Runtime or I have the wrong list of modules
> for
> >>>Core-SPI and Runtime.
> >>>
> >>
> >>I looked at one of these dependencies.  It's a helper class in
> >>implementation-java-xml that looks like it should be an SPI.
> >
> >
> >
> > There may be many others as well. In particular, I am sure that all the
> > domain/node related code are in the wrong place, and I will sort those
> out
> > later.
> >
> We should go through all these uses and decide if they are correct.
> If they are, we should move these impl classes to the SPI, or create new
> SPI classes that provide the same functionality.
>
>   Simon
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to