Sculptor looks like it does a good job of building a stack that I  
like to use out of the box. (Spring, Hibernate, etc) - but for the  
GUI layer I often build my stuff using Flex and I do remoting via  
BlazeDS with Remote Objects.

In Flex, when you do object remoting, you build an ActionScript VO on  
the client side that mirrors a Java VO on the server side, and use  
the VO's as parameters or results with your remote service calls.  
Obviously, maintaining two sets of VOs for your entire model can be a  
bit tedious. There are some code generators out there that start with  
a Java object and will generate (more or less) an ActionScript object  
- but I think it would be a lot easier to start from the top and have  
something like Sculptor help in building the entire chain - leaving  
just the view layer to be constructed.

The FULL stack I like to use would be amazing to have generated -  
which consists of this stuff for the client side: (this is in  
addition to the existing Spring / Hibernate server-side stuff that  
gets generated, and would tie into it)

- PureMVC + Prana Framework for IoC and MVC.
        - Generate a set of "Proxy" objects for the PureMVC (a proxy is a  
repository, basically, but it isolates the View and the Controller  
from knowing about where the model comes from - which is often a  
remote service call... etc)
        - Generate the VO's to support the proxy
        - Generate business layer to call the remote services that are  
created to call services on the server side
        - Generate the notifications that are sent around the system to  
indicate when things happen. (PureMVC relies upon using string  
constants for a generic notification type, but if a code generator is  
involved, using strongly typed notifications would be the ideal way  
to go - PureMVC doesn't require them simply because they aren't 100%  
necessary and they would take time to create, but if you have  
somethign like a Sculptor cartridge generating them... you can get  
all the benefits without the pain of creating them all by hand)
        - Generate a Prana Config file to configure the system (Prana is  
very similar to an XML-configured Spring IoC container - the syntax  
is almost identical as it was based on Spring's syntax)
        - Generate FlexUnit tests to test various pieces of the client side  
system
        - Generate the BlazeDS configuration to tie the Spring and BlazeDS  
pieces together

        (Optional) - Generate a CRUD gui in Flex for the various pieces that  
interacts with all of the other components.

Because the model and the remote services are often shared amongst  
different applications, it's common to split those out and have them  
load in as a runtime shared library. Each runtime shared library  
should be generated by its own maven artifact.

I've not looked into Sculptor's internals a great deal (and the wiki  
is down at the moment, so I can't right now). I like sculptor because  
of the simple DSL that it has. I don't like the fact that all the  
tools are focused on Eclipse - but I don't see any reason why I can't  
use IntellIiJ in conjunction with it. (If I need to write my own  
syntax hilighting piece for the DSL, that shouldn't be too hard)

Would Sculptor be the easiest piece to start throwing these kind of  
cartridges together for, our would the UML2 ones be a better fit?

I think the first thing I would take a stab at creating would be the  
simple value-object creation for the client-side objects. The rest of  
it - although it would be very nice - is not as important to me to  
have automated.

I'm at a new job, so I'm not entirely sure how friendly my new bosses  
are to me doing FOSS stuff on company time - so until I get approval  
to start building this kind of a structure out it will have to be a  
side project. Would anyone else be interested in this kind of tool?  
More importantly... would anyone else be interested in helping to  
work on this kind of tool chain?

I'm connected in a couple of other flex open source communities - and  
if things started rolling I could probably enlist the help of a  
couple of other java / flex developers to help out. The end product  
would be so powerful I don't think they could resist getting in on  
the action...

If a good GUI DSL gets defined, I can see how it would be possible to  
create a very powerful toolchain that would help to create RIA's  
using multiple end-user technologies - such as a rich AJAX client  
alongside a Flex or AIR client.

Ryan

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Fornax-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fornax-developer

Reply via email to