avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <blorit...@apache.org>
Subject [RT] Bundles (was Re: [RT] Distilling the requirements for Block Support)
Date Mon, 21 Apr 2003 14:40:38 GMT
Leo Sutic wrote:
>>From: Peter Donald [mailto:peter@realityforge.org] 
>>The problem with the Cocoon proposal was that it mixed concepts 
>>of Deployable Units (think .war files), Library Units (think 
>>.jar files) and template/profiles.
> Hm.
> That does seem to be a major problem. I kept coming back to something
> like that when I spewed out my reply to Berin - how do you handle
> the case where one unit requires another? Do you deploy them
> side-by-side
> or do you wrap one in the other?
> Unit FOPSerializer requires FOP (using Avalon Archives, .aar):
> Side by side:
>     fopserializer.aar          fop.aar
>   +--------------------+    +----------+
>   | FOPSerializer Unit |    | FOP Unit |
>   +--------------------+    +----------+
>              |                    ^
>              +--------------------+
>                Tied together via 
>                container magic.

I prefer side by side--although the FOP jars itself should be simply
specified.  I also think that the FOPSerializer Bundle above should
have the ability to provide the version information for FOP if FOP
does not provide it for their JAR file.

Also the Bundle API should be able to detect version incompatibilities,
as much as possible.  That way the user/developer will know if their
application is required to have conflicting JARs in the classpath.

If the class paths could be made separate (with classloader magic),
then the affects of the mismatch would be minimized, but FOP and
Batik (a pair at this point) are hefty JARs, not something you really
want multiple versions of if you can help it.

> Wrapped:
>     fopserializer.aar    
>   +--------------------+ 
>   | FOPSerializer Unit | 
>   |                    |
>   | libs/fop.aar       |
>   +--------------------+ 
> Both have problems regarding pluggability. For the side-by-side version,
> you can easily swap the fop.aar in and out. With the wrapped version it
> is more difficult.

It is more difficult, yes.  Essentially the container/bundle manager
would have to choose one of those FOP JARs to use.

"You know the world is going crazy when the best
rapper is a white guy, the best golfer is a black guy,
The Swiss hold the America's Cup, France is
accusing the US of arrogance, and Germany doesn't want
to go to war. And the 3 most powerful men in America
are named 'Bush', 'Dick', and 'Colon' (sic)".

-----Chris Rock

To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org

View raw message