Hi,

Must say that I feel a little uncomfortable with this vote, as many of the 
issues IMO needs more discussion/investigation before calling a vote, but I 
will play along and vote. 

Also there are issues I rather saw moving like: getting rid of JavaMail :-)

On Thursday 13 July 2006 16:48, Stefano Bagnara wrote:
>
> And now the bulk questions:
>
> A. Deprecate phoenix
+0.8 I do not like that we are based so heavily on unmaintained codebase. If 
we keep these we should make them part of the James codebase.

> A1. Replace it with Plexus (http://plexus.codehaus.org/)
-0
> A2. Replace it with another Avalon compliant container (name it)
-0
> A3. Replace it with Felix (http://incubator.apache.org/felix/)
+0.2

>
> B. Remove avalon
+0.8
> B1. Remove it from "API Components"
+0.8
> B2. Remove it from both API Components and Other James Components
+0.5
> B3. Remove it from all the codes and keep wrapper for Top Level
> Components to be adapted to the container (Avalon or other).
+0.5
>
> C. Remove Cornerstone
+0.8
> C1. Remove cornerstone dependencies in favor of Jakarta commons
> libraries where available
+0.8
> C2. Use MINA to replace sockets/connection dependencies
+0.8
> C3. Import code from not replaceable libraries to James codebase
> (refactoring it to remove Avalon and anything else needed)
+0.8

>
> Now I expect that many will have replied +X to A3 or at least to one of
> the B*, so here are further votes related to this scenario.
>
> D. Lifecycle and dependency management
> D1. Use JNDI everywhere (ala J2EE)
-0
> D2. Keep Avalon interfaces but write our own mini container for non Top
> Level Components.
-0
> D3. Introduce new interfaces to replace the one from Avalon and create
> our own container (that may delegate to the real container we use) to
> manage lifecycle and dependencies. (see also "Central class for service
> injection" topic by Bernd)
-0.5

>
> E. Specific API Components issues:
> E1. Use JNDI to lookup datasources
+0.5
> E2. Use JNDI to lookup users/mail repositories, the store and any other
> James component.
+0.5
> E3. Add datasource, repositories, store and any other used service to
> the MailetContext API (this also mean adding the interfaces for this
> objects to the Mailet APIs)
-0.9
> E4. Use Dependency Injection (setter based, constructor based, enabling
> interfaces, service locator injection) to automatically satisfy
> components dependencies.
+0.8
> E5. Keep the ServiceManager as a property stored in the MailetContext.
-0.8
>
> If you voted +X to something DI related please also vote this:
>
> G. Dependency Injection
> G1. Use CDI (constructor base DI)
-0
> G2. Use Setters
+0.5
> G3. Use Setters with Enabling Interfaces
+0.5
> G4. Keep single setter for ServiceLocator (ala Avalon)
-0.8
> G5. Use reflection and convention over configurations for the above DI
+0.5

>
> Furthermore these technologies could be used to sole one or more aspects
> of the above points, please give your opinions.
> H1. Use Spring
+0.5 (I really like Spring)
> H2. Use XBean
+0
> H3. Use OSGi Declarative Services
-0

--Søren


>
>
> Stefano
>
> PS: I'm willing to track this thread and produce an (i hope unbiased)
> overview of the result.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

-- 
Søren Hilmer, M.Sc., M.Crypt.
wideTrail                       Phone:  +45 25481225
Pilevænget 41           Email:  [EMAIL PROTECTED]
DK-8961  Allingåbro     Web:    www.widetrail.dk

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

Reply via email to