I don't know if I can really call this "architecture", but I want to
share with you ideas that comes in my mind.

--
Well, actually, Lenya is mainly split into core and modules (at a
folder/artifact level, not at a package one).
IMO this separation don't really well represent the Lenya construction.

So, I actually think about a (classical) 3 layers structure :
- ui : user interface
- bp : business process
- repo : repository management

This will have as a direct consequence a big artifact and package renaming.

--
To continue inside each of this layer we have single responsibility
components (ex : publication, document, identity, workflow,..) "most of
we can" each other independents.

Each of this components will be composed by at least two parts (also
component aka artifacts in maven language) :
- component-api
- component-impl

this will allow to easy change / improve the impl part (with just a
spring bean configuration). And - why not - use different implementation
depending the need (this last part was just a though).

--
And another key point will be to clearly define the limit between Lenya
pure/core code and framework we use.
So depending on component, we can have a third part like :
- component-cocoon

As I imagine, this last point will give us :
- a more controllable border between lenya and framework(s)
- a more reusable and flexible lenya pure/core code
- a easy way to use another frameworks (like apache camel) as we don't
have to touch to lenya pure/core code, but just write a "decorator" for
this new framework.

--
As a foot note :
Just to be clear, I don't denigrate all the really good code stuff
present in Lenya.
I just propose some ideas to improve this code base.
As a proof, IMO, next version of lenya have to be a rewrite, a
re-arrangement of the existing code with an ideal target.
Improve the existing code to get the magic target will be imo more
manageable than start from scratch to get the same target.
--

This mail end my "write period" :) (oufff !! you surely say :) )

Glad to read your opinions, comments, and all the rest !
++

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to