Nicola Ken Barozzi <[EMAIL PROTECTED]> <snip>
> > Imagine that we have brought Cocoon componentization to the > extreme. We could have these layers: > > Flow framework| implementation > |----------------------------|-----------------| > Sitemap framework| implementation > |---------------------------|----------------| > SAX pipeline framework| implementation > |--------------------------|---------------| > SAX components framework|implementation > |----------------------------------------| > > The minimal Cocoon "thing" would be an Avalon Component called Block > that can be reused as-is. For example, we could simply do in > any part of > a Java class: > > CocoonComponentManager.get("fop"); > > And we could use that Component as a normal Java component. > > Then we could need to make a pipeline, and have the pipeline API, and > implementation that can use the blocks. > > Then a sitemap, that aggregates these pipelines as we all know. > > Finally the flow, that does the workflow between requests. > I like this :-) I'd point out that flow isn't "workflow" but rather presentation flow, a nit, but at some point as part of the work of re-implementing flow I also want to have a go at adding real work flow and business process modeling on top of flow. So you could, in theory, add a couple of more layers to your tower: BPM framework| implementation |------------------------------|-------------------| Work flow framework| implementation |-----------------------------|------------------| Flow framework| implementation |----------------------------|-----------------| Sitemap framework| implementation |---------------------------|----------------| I'll also ask once more, if we're making these things pluggable can they be pluggable via BSF type interfaces? I have no clue if that's really practical, but the ability to use different languages to implement the higher level layers seems reasonable: the higher up you go the more you are into a script first, convert to "efficient" code later type of development cycle...