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: Daniel Beatty <email@hidden>
- Date: Wed, 11 Nov 2009 10:27:19 -0800
- Sun-java-system-smtp-warning: Lines longer than SMTP allows found and wrapped.
Greetings Dave,
I think that I am with you. D2W is an opaque beast, and its potential
is astounding. The assistant was a great idea that was in need of
significant refinement. I am guessing it suffered the fate of many
great ideas, dry funding. In my opinion, it would be nice for D2W to
have a RESTful option such that the same rules that apply to the D2W
side also apply to the RESTful side, too.
The purpose for that is so that a D2W app serves two purposes. One is
the know purpose of a great little administrative app that can be
augmented and tailor for most needs. The second is a quick handling
of mashups be they constructed by GWT or that French chocolate
(Gianduia) that I have trouble pronouncing. In particular the
notion is for such a D2W+REST app to be one of many services consumed
by such a mashup.
From that perspective, assuming our favorite French chocolate adds a
persistence manager to handle these RESTful D2W apps, then the notion
of D2JC just changes shape from desktop to mashup. It may seem
weird, the potential is staggering and amazing.
In any case, seeing many of these technologies at the next WOWO would
be very nice. I could probably tackle the GWT + WO (RESTful and AJAX
augment) technology presentation.
Later,
Dan
On Nov 10, 2009, at 7:23 AM, David LeBer wrote:
On 2009-11-10, at 10:02 AM, Anjo Krank wrote:
The assistants are an excellent example of how easy it is to hit a
stone wall. I remember I re-created my first project 5 times,
because I simply couldn't figure how the various things influenced
each other. Had I known about the rules up-front, I'd at least
would have had a chance to to things in a more systematic way...
What the default stuff gives is a fancy way to navigate your data,
much like mysqladmin or the like, only with objects. From there on
to a "real" app, it's not a cliff, it's a missile cruise...
Cheers, Anjo
D2W is a huge and horribly opaque beast, and I love it so :-) I
understand the desire for some illumination on the topic, some help
easing into the technology, unfortunately, I don't believe the
assistant is it.
Assistant gives you the false sense that you are actually getting
somewhere, and then you hit a wall, and you discover you aren't. I
tried to learn from it's rules, it was a horrible soul crushing
experience.
My sense is that the number of options in a D2JC are constrained by
the JC architecture, and in this case the assistant would work well
because it could cover all options and you would never need to
actually touch the rules manually.
Because of the extensible nature of D2W (the look/components you use
are controlled by and at the same time extend the rules) the
assistant can never come close to understanding all of the options
available. That means in D2W you will NEED to edit the rules manually.
Am 10.11.2009 um 15:42 schrieb David Avendasora:
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
_______________________________________________
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
;david
--
David LeBer
Codeferous Software
'co-def-er-ous' adj. Literally 'code-bearing'
site: http://codeferous.com
blog: http://davidleber.net
profile: http://www.linkedin.com/in/davidleber
twitter: http://twitter.com/rebeld
--
Toronto Area Cocoa / WebObjects developers group:
http://tacow.org
_______________________________________________
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
Daniel Beatty, ABD
Computer Scientist
China Lake Naval Air Warfare Center
email@hidden
_______________________________________________
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