Re: Uses for D2JC (was: Gianduia and WO)
Re: Uses for D2JC (was: Gianduia and WO)
- Subject: Re: Uses for D2JC (was: Gianduia and WO)
- From: David Avendasora <email@hidden>
- Date: Tue, 10 Nov 2009 09:42:31 -0500
On Nov 10, 2009, at 7:31 AM, Johan Henselmans wrote:
I have heard the 'Assistant produces horrible rules use RuleModeler'
over and over again by very outspoken, well versed into the Direct
To Web technology developers that have tweaked the rulegeneration
and parsing themselves (Anjo and Guido come to mind).
They might be right about the WebAssistant, but that means that
people that are not well versed in that technology do not have a
possibility to learn how these rules work.
'Read the source code of the available rules' is for a lot of people
not the first idea that comes to mind I the want to learn a new
technology that is supposed to be based on rules.
I think that one of the reasons that there seems to be a lack of new
WebObjects developers (according to Pascal's research) has to do
with the falling away of these gentle tools: displaygroups that
were automagically generated, WebAssistant that made you whip up a
crude interface to a database in an hour.
I remember one of the CodeFab guys telling learning WebObjects is
not difficult because of the steep learning curve, but because there
is a learning cliff.
A gentler introduction (like the WebAssistant was) into the whole
rulesystem really helped people to get into WebObjects.
I would be nice if these tools should at least not be broken (like
they are now with the D2WebService Assisant, the D2WebAssistant)
until something as gentle came up.
I think this is a really excellent point. This is one of the major
reasons I didn't walk away from WO when I first started. I didn't
experience the learning "cliff" at all. I had a fully functional WO
app without needing to learn a single piece of WO/EOF. I was then able
to take small steps to understand WebObjects/EOF piece-by-piece. I
first tried to set a default value and learned the whole
"awakeFromInsertion" side of things. Then I quickly learned the
situations in which you don't want to have a reverse to-many
relationship by simply running my app and seeing how long it took to
set an Entitie's "Type" when there were thousands of items with that
Type. Then it was the implications of an object owning the destination
of it's relationship and then the basics of WO's built-in validation
system.
It turned the cliff into a gentle slope
I learned a huge amount of EOF before I ever even touched a .wo file.
By the time I created my first Web components I understood exactly
where to put UI logic and where to put business logic.
I now use D2JC differently than I did when I was first learning WO,
but it was fundamental to my being able to wrap my head around what
EOF was and how it was so fundamentally different from other
technologies I had used in the past. I didn't have to learn anything
about components or editing contexts before I could implement my
business logic. D2JC managed all of that for me.
I think a great flow for a newcomer to learn WO is:
Reverse Engineer an existing DB
Launch a D2JC App that uses that model
Learn how the basics of EOF work and the implications of various model
settings by changing model stettings and seeing immedately how those
changes impact the D2JC app's behavior.
Add basic custom business logic (defaults, validation, etc)
Create a Web App.
As far as the rules generated by the Assistant being horrible, I have
to admin that don't really know, because I've never had to go in and
modify those rules. The few custom rules I have created are in a
completely separate file and I use RuleModeler to manage those.
Dave
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden