[Yanel-dev] Re: Learning from Yanel?

Michael Wechner michael.wechner at wyona.com
Fri Apr 3 09:19:50 CEST 2009


Joachim Wolfgang Kaltz schrieb:
>> (...)
>> The main reasons I have started Yanel and use it today successfully (and
>> not using Lenya anymore) are
>>
>> - backwards compatibility/upgradeability
>> - scalability/performance
>> (...)
>>
>> With Yanel we do not need releases anymore (except from a marketing
>> point of view), but can continuously upgrade at any time and it handles
>> arbitrary amount of content without a problem
>>     
>
> Hi Michi
> IIUC you are saying that Yanel has design principles ensuring
> upgradeability. This sounds interesting, can you elaborate a bit?
>   

it's all about versioned interfaces

http://yanel.wyona.org/javadoc/org/wyona/yanel/core/api/attributes/package-summary.html

Yanel is at the core a framework with interfaces (with content 
management characteristics) in order to build on.

Interfaces/contracts/protocols have a good and bad side. Your 
implementations break when they are being changed, but
you want them to break. So how to get out of this dilemma?

The answer is "versioned interfaces" (just as some protocols also have a 
version)

So the basic element/unit  of Yanel is a so-called "resource" (or 
"resource type"), which acts as controller, but has no capabilities in 
the first place. Each request is mapped onto such a resource type 
instance (similar as in Cocoon each request is mapped onto a pipeline).

Now a resource type can become some life by applying some interfaces, 
such as for example, viewable, modifiable, etc.

These interfaces are versioned and the core of Yanel checks the versions 
and handles them accordingly.

Very simple and it works great :-)

This way you can upgrade at any time without a problem.

HTH

Michael
> TIA
> Wolfgang
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe at lenya.apache.org
> For additional commands, e-mail: dev-help at lenya.apache.org
>
>   



More information about the Yanel-development mailing list