Blogs : Archives
|
|
| < Myth: Java can't scale down | Upgraded to Groovy JSR1 in RIFE > |
|
When browsing the web I stumbled into this article on TWiki's development wiki. I was pleasantly surprised to see that the author had actually tried out RIFE in detail and looked further than the small initial setup. He correctly identified some of RIFE's unique features. The site structureThe elements can be designed to be completely independent within a web application framework, and therefore completely reusable. For example, if someone designs a good table editor, it can be plugged in into twiki or any other wiki system without any change. The reason is: URLs and other info are generated by the framework rather than by the programmer. I should add that this reusability is also possible thanks to RIFE taking care of the data flow as well as the logic flow. So it knows how to correctly maintain states for any element in any context (embedded, directly accessed, packaged in a sub-site, ...). This feature actually brings reusable modules with portlet-like capabilities right into the core framework, without having to perform a specific design or treat them differently! Web continuationsContinuations are a way to overcome fundamental problem of designing a web-based application as a simple program flow application as opposed to event-based model, where it becomes very clumsy to decide next URl and to pass data around. RIFE differentiates itself from other java solutions by automatically tracing and persisting the local variable skope and not requiring any setup at all in the site structure. A short presentation about continuations can be found here. It should be noted that RIFE is not a continuations-only framework that insist on using them everywhere. We believe that the feature is only applicable for certain situations, for instance for 'islands of functionality' that should be finished completely or not at all (wizards, games, poll creation, dialogs, ...). Anywhere else, the site structure will assist you a lot in creating maintainable applications that handle state across the HTTP barier. The template engineThis model requires all the logic to be put in the code(java) itself, and therefore, the templates can be very "clean". Instead of criticizing the template engine on the looks of the tags alone, he realized the power of the logic-less engine and the simplicity of bi-directional templates that declare both value tags and block tags. He did skip over the include tag when reading the docs apparently: the I tag. |
||||||
Comments |
||||||
Add a new comment |
||||||
|
||||||
| < Myth: Java can't scale down | Upgraded to Groovy JSR1 in RIFE > |


