ant elder wrote:
On Tue, Jun 10, 2008 at 5:37 PM, Jean-Sebastien Delfino <
[EMAIL PROTECTED]> wrote:

Simon Nash wrote:

ant elder wrote:

On Tue, Jun 10, 2008 at 3:02 AM, Jean-Sebastien Delfino <
[EMAIL PROTECTED]> wrote:

Jean-Sebastien Delfino wrote:

I'd like to discuss the following: "What distro Zips are we building
and
what do they contain?"

I think we could improve our distro scheme to provide:
- smaller packages
- easier for people to find what they need

I was thinking about the following binary distro zips:

- tuscany-core.zip - The base that everybody needs.
 core assembly model and runtime
 Java APIs, Java components

- tuscany-web.zip - For WS and Web developers
 WS binding, Web 2.0 bindings, Scripting components, Widget components

- tuscany-jee.zip - For JEE app integration
 EJB, RMI and JMS bindings, Spring components

- tuscany-process.zip - For process development
 BPEL and XQuery components

- tuscany-all.zip - all of the above

Note that I'm not trying to tackle release cycles and the potential for
releasing the above zips independently in this discussion and I'm

assuming
that we release all of the above together.
I'm also assuming that the relevant samples are included in each zip.

 This email was from 1/22/08, generated a lot of discussion for about 3
weeks, lots of opinions, no conclusion, no commits :)


No commits as we haven't found much consensus yet.

 I still think the same as what I had posted then, plus additional ideas:
- Use OSGi exports/imports to export clean SPIs, hide internals, and

refine

the contents of the distros and their dependencies.

Disclaimer - Please don't get me wrong I'm not saying that one distro ==

one

OSGi bundle, as I've already said several times on the list that the
big-OSGi-bundle approach didn't make sense to me :) I just think that
declaring and enforcing clean dependencies using OSGi will help us
refine
the contents of each distro.

 The term "enforcing" seems to suggest that there might be an OSGi
dependency for the Tuscany runtime.  I don't know if this was
intended.  I think the right approach is to have a Tuscany+OSGi
runtime (as we are building in itest\osgi-tuscany) which would
actually do enforcement, and a non-OSGi Tuscany runtime in which
the exports/imports are present in the jars but not enforced.

Huh, Yes sure, we'd enforce OSGi rules when running in an OSGi
environment...


What would be the granularity of these OSGi bundles?  If the bundles
are the current maven modules, I think we will find a number of
classes that need to be exported even though these classes are not
considered part of the SPI or API that the module provides.
To resolve this I see the following options:
 a) Export more than we really believe is correct.  This
   leaves us in the current unsatisfactory position of exposing
   unwanted implementation internals.
 b) Combine multiple maven modules with a close implementation
   affinity into a single OSGi bundle, and only expose true
   APIs or SPIs from these bundles.
 c) Refactor the code to remove dependencies on internals of other
   modules, and create new SPIs or APIs when this isn't possible.

I believe a combination of b) and c) is the best approach.

We've already rehashed this (and disagreed on this) in several other
threads, where I've already given my opinion:
- 1 bundle per module
- clean API/SPI imports/exports


By "1 bundle per module" do you mean any sort bundled jar combining multiple
of our tuscany/java/sca/module jars is not worth pursuing?

   ...ant


I think that the right design is one bundle per maven module. I don't think that aggregating multiple modules into a single bundle makes much sense, or they should be aggregated in a single Maven module in the first place.

--
Jean-Sebastien

Reply via email to