[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