Ram Venkataraman wrote:
Sounds very cool. Do you have a sample that you could
send me ?
I need to do more polishing, and I need to figure out the best mechanism by which to share this sort of thing. If I release it formally, I'll get a lot of support questions and my time is already heavily compressed with consulting and the Acegi Security project (eg it's getting on for 2 am here, and I'm still answering open source emails!) :-)

I understand that Qooxdoo is very swing like. I
personally like Javascript and have no problem working
with it. In my experience, I find most Java developers
kinda dislike (putting in mildly :-)) it with all the
usual reasons (dynamic, lossly typed etc etc).
I'm using some server-side metadata creation which locates the properties of objects which may be returned by JSON-RPC. In turn this metadata gets sent to the client-side at startup time. The client-side then creates objects (extending a similarly named client-side object if one already exists) and adds properties using Qooxdoo's properties framework. Constraints are used with Qooxdoo to add some type safety (eg restrict valid numeric ranges based on the Java type). It's actually quite elegant, as it gives you client-side, reasonably type-safe objects, which you don't need to manually maintain as server-side objects are changed.

What I was thinking of is almost like a XUL way of
representing the objects but as JSP tags. I think this
will help Qooxdoo to be more accepted by the Java
community.
I believe that Qooxdoo stands an excellent likelihood of acceptance by the Java community. Most people simply aren't aware of it. The establishment of an issue tracker and comprehensive Java-to-Qooxdoo client application sample are probably the two main factors which are needed for widespread adoption of Qooxdoo by Java programmers. I am very happy to contribute in this respect. It's just a case of time. :-)

I'd be disappointed if Java programmers started using taglibs to control Qooxdoo. They need to get their "hands dirty" with a bit of JavaScript. The upside is they can avoid spending copious amounts of time dealing with and learning traditional web MVC controllers and their respective view technologies (JSP, Freemarker, Velocity etc).

I also see how JSON-RPC would be cool as a binding
layer. Do you think it needs a lot of work for people
who may already have theor backend written in Spring
or whatever.
Virtually no work at all to use JSON-RPC. I posted my code and step-by-step instructions in a separate message.

I am really looking at using Spring not as an MVC
layer  but more like an event handler. Essentially
letting GUI certain events come to the server side
where the developer can write Java code in an "event"
handler that manupilates the Qooxdoo DOM objects via
Java API.
In that approach you'd still need HttpSession on the server-side to manage client-side state. You'd also have to consider DOM naming issues etc, so the server can control specific client-side objects. Instead I just invoke services layer facades which return DTOs. The DTOs are directly used by Qooxdoo in its forms, and even simple computations. These edited DTOs are later passed back to the SL (services layer) facades, which convert the DTOs into DOs (domain objects), and pass them to the normal SL. The SL uses DO callbacks for non-anemic DO services, then often calls the DAO for persistence management.

Spring's value-add with Qooxdoo is its capability to cost-effectively deliver you an extremely high quality middle-tier (via dependency injection, DAO abstraction and integration, transactions, JMX integration, Acegi Security for AAA etc). Whilst Spring doesn't provide JSON-RPC as a remoting protocol, it's easy enough to wire it in (see separate post) due to Spring's inbuilt extension points. I don't use Spring's DispatcherServlet or HTTP classes with Qooxdoo, as there simply isn't any need when JSON-RPC is the remoting protocol.

Cheers
Ben


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Qooxdoo-devel mailing list
Qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to