Cocoon and more
Common Weblog
 
SpecialCommon WeblogWeblog
Buy it Buy it

Cocoon Book by Matthew and me


Recommondations:

Buy it Buy it Buy it Buy it

 

10.07.2003
Project Dywel started

As some of you know I was looking over the last years for a better support in building web applications with Cocoon. From time to time I tried to explain why flow is not the best solution and what might be an alternative. I guess, as I didn't gave clear explanations noone really understood me :( - Ok, to my defense, I must confess that I didn't have a clear vision of how a solution might look like at that time.

During the last weeks while cleaning up my home office I found some of my old designs for a project similar to JXPath and some rough notes about a web application framework. At the same time my need for some home applications increased. Yes, guess what I mean: a database containing all songs, CDs, DVDs etc. and a cocktail database for my wife ;). Well, now you might say: just download a project implementing this and you're finished. There must be thousands of it out there. Hey, but where is the fun?

The first real application I wrote 20 years ago was of course a music database application which was (of course :) ) very cool at that time (I think everyone did this together with an application for your finances); I even managed to convince some friends to use it...and I guess someone is using this application still today...so I always thought about rebuilding this app with Cocoon of course, but I never took the time to do it. And then
two weeks ago it happened: I ordered 8 CDs via the net and without knowing I ordered two CDs that I already had bought half a year ago! Weak brain, yes I know. But the good thing about it is that I immediately decided to change my situation and so I started with (tara) Dywel!

"Dywel? what the hell is this?" you might ask. The answer is simple. As always when it comes to names, you simply take the first one that comes to your mind. Dywel is the short form for "Dynamic Web Elements" :) Yesterday I searched the net for Dywel and found this, so the name seems not too bad.

Anyway, Dywel will be a framework (yeah, boring I know) for building web applications that resides on top of Cocoon (again, nothing new). It consists of a JXPath like expression engine, a template engine, a form handling engine and a persistence integration. So, basically everything you need and everything is already available. Simple, right? I had the idea for the expression engine more than three years ago before I ever wrote a Java program...at that time I programmed ObjectiveC and used WebObjects and became aware that I would
soon have to program Java. So, I first looked at what was missing in Java compared to ObjectiveC/WebObjects. When I started programming Java three months later, I immediately came across Cocoon and totally forgot about my designs. This might be good as there are today many projects out there
already implementing this. So I don't have to do this on my own.

The template engine is totally SAX and XML based (whatever that means) and already runs (well, the features are currently very limited). Now I start with the form handling. For that I have to implement a feature similar to
the continuations but I guess it will work without them. I think there is a simpler solution; but perhaps I will use continuations and flow script for that part. But at the end the user will never get aware of this and doesn't
have to care about it. Well, at least this is the plan...

The persistence integration is on the one hand side easy: there are many projects out there doing that job very well, and I already did some tests with Hibernate. But I'm looking for something similar to the EOF, but
perhaps there is already a good open source project out there working similar. We will see. If you have any pointer just let me know.

"What's the use of another template engine, another form handling engine and a different approach to flow?" you might ask now. Well, honestly, I don't know! I think the current solutions are good but all lack in one or the other area and they don't play very well together (now). So, I simply started just another approach combining all problems you face when building an application. I see two alternatives: either my solution will blow everything else away or it will never be used, trashed someday and I will never try such a thing again. I really don't know, but I know that I will develop my own applications with it. Yeah!

So, in fact this is an experiment I'm currently doing in my limited spare time. This reduced time I can spent will lead to a long development phase, I fear. So don't expect anything before september. Perhaps I have it
running when Cocoon 2.2 gets out...But my current demo application, getting some objects (songs) out of a database and displaying them looks very cool and is absolutely easy to develop with Dywel.

I try to report more about the development progress in the next weeks (if I didn't cancel it). The next thing I have to do is implement the "continuations" concept. This is in fact the biggest challenge, so if you never hear anything from Dywel you might know why!

I also have the dream of developing Eclipse plugins that allow you to click your application together like the WOBuilder does. And perhaps a wizard for developing database based applications without the need of writing any line of code. Well, okay, that's very far away in the future...

And now, back to work :)


3:04:25 PM    






© 2003 Carsten Ziegeler
Last Update: 30.07.2003; 11:48:13

Click here to visit the Radio UserLand website.

 

July 2003
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Jun   Aug


Subscribe to "Cocoon and more" in Radio UserLand. Click to see the XML version of this web page. Click here to send an email to the editor of this weblog.

Built with Cocoon