Through the joys of Spotlight, a quick search for “Zen” led me back to something I think about often. The following was written in November of 1999. In my mind I had a version that was just about the Enterprise Objects Framework (EOF), but this is obviously as much about the WebObjects Framework (the two making up what we call “WebObjects” in most contexts. I often say “use the tool, don’t fight the tool.” This is part of what I’m talking about.
There are five levels of understanding with WebObjects:
- Just doesn’t get it
- Understands WOF, but EOF is fuzzy
- Gets WOF and Understands EOF, but doesn’t always make the best choices
- Really understands WOF and EOF and generally rocks through most tasks
- Zen Master of WO (both WOF and EOF)
Someone who comes to WebObjects knowing only HTML and maybe has hacked an
existing PERL script to send in a “comments to the webmaster form” is
likely to fall into level 1. They can particiate in the WO development
cycle only from the HTML side. They can use tools like GoLive and
Dreamweaver to design pages and add elements to pages (but the only WO
parts that can be added need to be specified by a “WO developer”).
If you have any programming background, you should be able to hit level 2
pretty easily, especially if you have done ANY web development (CGI, ASP,
PHP, etc). WOF is generally easy to grasp because it is fairly concrete
(you put in HTML based templates, you get out complete HTML). If a person
attends the first WebObjects training class, they should be AT LEAST this
level when they complete it (or there is a big problem).
The trick with Level 2 is that EOF may take a while to sink in. You are
taught the core parts to EOF and if you absorb them, you can move ahead
with confidence. It is, however, common for the WOF part to be the focus
and EOF slips to the back of ones mind. When this happens, a paradigm
block is likely to occur. EOF is about dealing with your information as
objects, not rows in the database. That can be a significant mental leap
(especially for those with a great deal of database experience).
After you work on a WebObjects project, you quickly gain the experience
and comfort to move to Level 3 on the WOF side… you know how WOF works
and you know when it makes sense to create a “sub component”. You also
can have your application spit out just about any HTML that is seen on the
web. If you have spent some time in working with EOF (and the EOModeler
tool) you are hopefully gaining an understanding of “object models” and
“object graphs.” For example, you may not know how to implement vertical
inheritence, but you probably don’t need inheritence anyways. You should
know how to implement/model a many-to-many and free yourself of the
“interconnect tables” (those tables that only have two primary keys and
exist only because a many-to-many relationship can’t be described directly
in relational databases).
When you’ve done a few projects and had an “expert” to bounce design ideas
off of, then you may be heading towards Level 4. Level 4 people can do
anything. Often, they could be WebObjects product development engineers
if they wanted to live in Cupertino. If you have one of these people on a
project, it should be successful. A Level 4 can often help raise others
to this level.
Level 5 is what all purely technical people aspire to, but few reach.
Because it requires both breadth AND depth, even Apple’s product dev
engineers rarely reach this level on both the WOF and EOF side. Apple’s
most senior consultants fit this bill, as do some of the SEs. With one of
these people on the job, you are likely to have not just a nice product,
but they will provide the guidance to raise people from Level 3 to 4.
[tags]webojects, zen, understanding, eof, core+data[/tags]
0 Responses to “Five levels of understanding”
Leave a Reply