cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Parallelizing Cocoon Development
Date Fri, 24 Dec 1999 11:41:48 GMT
Donald Ball wrote:
> +1 for cocoon-modules or cocoon-extra. Heck, I see rationale for moving
> SQLProcessor and LDAPProcessor over there too. We can do releases of the
> two repositories independently of one another, for one thing.

In Avalon, we introduced the "block" design pattern. A block is a black
box that have two painted sites: one to do the work, one to be
administered.

             +--------+
 work ---->  |        |  
             +--------+
                  ^
                  |
                admin


The working interface is not mandated, it could do anything. The admin
interface is a mix of patterns like Configurable, Composer, and such.

Avalon was created to allow you to design your application in a
"block-oriented" way, rather than "object-oriented" way. A block is a
collection of classes that work together to give a service exposed thru
an interface to the rest of the program.

>From the outside, it's a black box, from the inside, nothing else is
visible, but what goes thru the admin pipe and from the in/out hooks
defined in the working interface.

Such a pattern allows you to update the box without requiring the rest
of the application to be aware of it. In fact, the Block pattern
includes information such as:

 - author
 - version
 - location where to find latest one
 - problems
 - configuration templates

Think at a parallel like this:

 a class is a lego brick
 an interface is a lego brick shape (as pictured in the building
instructions)
 an application is the finished work
 a block is a collection of bricks that doesn't do anything alone but
can be used in many applications (such as engines or stearing wheel
parts)

In Avalon we wanted to provide the ability for the application (which is
a collection of blocks) to update itself, looking to the web for new
bugfixes and prompting the administrator for what to do.
Also, it should be able to download the required packages for you, or at
least, tell you where to find them.

what do you think? (part of that is already implemented)

-- 
Stefano Mazzocchi      One must still have chaos in oneself to be
                          able to give birth to a dancing star.
<stefano@apache.org>                             Friedrich Nietzsche
--------------------------------------------------------------------
 Come to the first official Apache Software Foundation Conference!  
------------------------- http://ApacheCon.Com ---------------------



Mime
View raw message