Re: Seeking Advice for Getting Started
Re: Seeking Advice for Getting Started
- Subject: Re: Seeking Advice for Getting Started
- From: "Jerry W. Walker" <email@hidden>
- Date: Thu, 9 Feb 2006 01:11:12 -0500
Hi, John,
First, some background so you can adjust for my biases: I love
WebObjects (WO) and my answers will be appropriately biased. I far
prefer Macs to PCs in all that I do, and particularly in my WO work.
I was an Apple certified WO trainer.
I believe that it's very difficult for a programmer or a non-
programmer to learn WO from the documentation. From my own
experience, I would suggest three practical approaches to learning it
successfully:
* join a good firm using it and sign on as an intern (probably not
very practical, huh, but I've known people who have taken this approach)
* take the Apple WO classes. Take the first week's class, spend a
few months playing with it, then take the second week's class
(expensive, but best approach)
* get a good introductory WO book and study it all. If that worked
and you're still ready to learn, buy _Practical_WebObjects_ for the
intermediate level.
Go to this page and you will see brief reviews in the right hand
column on the books that are out there:
http://wocode.com/cgi-bin/WO/WOCode
Having said all that, there are people who have picked WO up from the
documentation and from the mailing lists. And... you're in an
interesting situation.
The beauty of WO is all about good data modeling and good object
modeling. To the extent that you understand and appreciate what these
terms mean, you will probably fall in love with WO.
Given that you've got a complete ERD, you are well on your way to a
real application because of WO's magical D2x technologies (e.g D2W =
DirectToWeb, D2JC = DirectToJavaClient, etc.).
Before I go on, however, let me warn you about two current
disjunctions in WebObjects that can trip you up:
* Up until the most recent Apple World Wide Developer's Conference
(in June of 2005), Apple supported WO development on both the Mac and
on the PC under Windows. They pulled back from that position at the
conference. Now they only support WO development on Macs. Many in our
community have developed WO projects for years on PCs and continue to
do so. WO is Java based, so it's still possible, but it's not easy to
get started on a PC today. Worse, I'm not the one to help you, though
others on this list can. However, to make your life much simpler, I
would suggest going out and buying a Mac Mini for about $499. You
could get the larger ones for $599 or $699, but you don't need them
for what you're about. You will still need a keyboard, mouse and
monitor, but you can generally find those anywhere these days.
However, if you are wallowing in cash, then go get the machine we're
all salivating over, the MacBook Pro for $2,499.00. This is the new
Intel based high end Apple laptop which is being sold right now, but
won't be available till the end of February.
* I will suggest that EOModeler is the tool you should start with.
It doesn't work on PCs, This tool helps you work with your ER diagram
in several ways and has been around for years with little maintenance
from about 1998 to 2004. Then early last year, Apple started an
effort to replace it from within Xcode, the IDE foundation tool. They
released the results of that effort prematurely; DON"T GO THERE. The
ER modeling tools in Xcode are not ready for prime time, so be sure
you do all your data modeling, for now, with the original EOModeler
tool. If you have any problems with that suggestion, come back to the
list for more help. None of these tools work on PCs (EOModeler, Xcode
or WOBuilder), but Eclipse viably replaces Xcode. It just leaves out
the desirable visual tools of EOModeler and WOBuilder.
If you can't or won't buy a Mac, you'll have to ask others on the
list how to get started on Windows these days. I haven't done that
for a few years.
If you take my "buy a Mac" advice, then this is the path you could take:
First, be sure you have the appropriate tools to undertake this:
* sign up on the Apple web site as a WO developer, it's free and
essential
* once you're signed up, go to the Developer tab and click on "Mac
OS X Development Tools" under Development Resources
* click on "Download Xcode 2.2" and on "Tools Downloads"
* install these using the standard installer (you must have admin
permissions on your machine to do this)
Then I would suggest the following approach:
CREATE YOUR DATABASE
1. Create a database from your ER Diagram in the popular database
of your choice (sans any data), though I would recommend either
OpenBase or FrontBase because:
* their vendors are both WO friendly and WO knowledgeable
* they are professional level DBMSs that are both easy to set
up and easy to maintain.
* you can get a limited developers license for free
Note that I didn't ask you to enter any data. Just create the
database schema in the DBMS.
CREATE AN EOMODEL
2. Double click on EOModeler at /Developer/Applications/
WebObjects/EOModeler
3. Choose Model->New from the menus
4. Leave JDBC selected in the panel and click Next
5. Enter the information for your connection dictionary as you've
set it for your database and click OK
6. Leave only the top two boxes checked ("Assign primary keys..."
& "Ask about relationships")
7. Select the tables from your database that you wish to use in
your application and click Next
8. Click the Finish button and a complete EOModel will appear on
your screen.
9. Name and save the EOModel in some directory
CREATE A WEBOBJECTS DIRECT-TO-WEB PROJECT
10. Open up Xcode and choose File->New Project...
11. On the New Project panel, scroll to the bottom, select
WebObjects->Direct To Web Application and click Next
12. Provide a name and location for your project on the next page
13. Click through the next 5 panels using the defaults till you
get to the "Choose EOModels" panel
14. Click the Add... button, navigate the Open panel to your new
EOModel, select it and click Choose.
15. Click Next, select any of the three "looks" and click Next
again.
16. Check the "Build and run" box and click Next or Finish (I
don't remember which, won't matter)
Xcode will gather all the information, build your project and provide
you with a web based WebObjects application to use your database,
including screens to allow you to browse your tables, enter your data
and maintain the data from that point forward.
This is a Direct To Web project that figures out how to deal with the
database through the EOModel you created. EOModeler figured out how
to build your EOModel from the structure of the database you created.
I suggested you create the database first, because you are familiar
with that technology and have an ERDiagram at hand. EOModeler could
have actually created the database for you, but that would have
required more EOModeler knowledge than I'm expecting you to have yet.
Once you have all of the above, it's time to start reading the books
to figure out what you can do with this gem.
However, find the EOModeler documentation from your WebObjects
developer documentation and play, play, play till you know that tool
well. It has bugs and glitches, but it's near magical in what it can
do. If you use EOModeler to modify your EOModel and database, just
restart the application you built and it will still know how to vend
your database on the web.
Following this approach will provide you with the excitement of a
project whose foundation you understand. That provides a lot better
head start than building tutorial projects you're unfamiliar with and
whose domain you really don't care about. Once you've played around a
bit, you will probably find them more interesting.
Good luck and hope to hear from you again soon.
Regards,
Jerry
On Feb 8, 2006, at 11:27 PM, John Shepherd wrote:
Greetings,
I have just recently become aware for the first time of the
existence of WebObjects, and I am intrigued...
--
__ Jerry W. Walker,
WebObjects Developer/Instructor for High Performance Industrial
Strength Internet Enabled Systems
email@hidden
203 278-4085 office
_______________________________________________
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