Feb 00 Online
Volume Number: 16 (2000)
Issue Number: 2
Column Tag: MacTech Online
Developing with WebObjects
by Jeff Clites <online@mactech.com>
Last month we took a first look at WebObjects, and covered all of the
sources on the net you can turn to when evaluating WebObjects-to help
you decide if it is the right tool for your project and to help you
convince others once you have decided. This month we'll take a more
technical look, and cover sites which can assist you in learning the
WebObjects framework and developing WebObjects applications.
The first place to turn, of course, is Apple's own documentation and
training manuals, which are excellent. Remember, WebObjects and its
underlying technologies existed at NeXT long before its acquisition
by Apple, so they are quite mature. (For the record, WebObjects has
been around since 1996, and was arguably the first application server
on the market.) But be forewarned that there is a daunting amount of
information to absorb, and the learning curve is steep. Most of the
material on the WebObjects Developer Documentation site is also
installed locally when you install WebObjects, but newer versions may
be available on the web. (There is also a page which tracks current
patches, so you can make sure that your installation is up-to-date.)
Also be sure to check out the WebObjects Survival Guides, written by
Theresa Ray of Tensor Information Systems, which give you concrete
advice on many areas of learning and deploying WebObjects. Lastly,
although not directly aimed at WebObjects, there is additional
training material in the Mac OS X Server section of their developer
ftp site. This material doesn't seem to be highlighted elsewhere on
Apple's site, and it can help you in getting up to speed with the
Cocoa (a.k.a. Yellow Box) frameworks, upon which WebObjects is built.
WebObjects 4 Developer Documentation
<http://developer.apple.com/techpubs/webobjects/webobjects.html>
WebObjects Current Patch List
<http://til.info.apple.com/techinfo.nsf/artnum/n70037?OpenDocument&webobjects>
WebObjects: WebObjects Survival Guides
<http://til.info.apple.com/techinfo.nsf/artnum/n70109?OpenDocument&webobjects>
<ftp://ftp.apple.com/Apple_Support_Area/Apple_Software_Updates/MultiCountry/Enterprise/webobjects/guides/>
<ftp://dev.apple.com/devworld/Interactive_Media_Resources/>
Mac OS X Server FTP Site
<ftp://dev.apple.com/devworld/macosxserver/>
It is unfortunate that there is not yet any comprehensive third-party
documentation (probably because there is not yet a market for it),
because currently you don't have the benefit of multiple approaches
to explaining the same material-on many topics, Apple's documentation
is the first and final word. Accordingly, it's a good thing that
Apple offers training courses in WebObjects (and Cocoa in general),
because they are almost essential. Check out their training web site
for dates, places, and prices for these classes, some of which are
provided through third parties, such as Blacksmith and Tensor
Information System, who also offer training courses of their own.
Apple - WebObjects - Training
<http://www.apple.com/webobjects/schedule.html>
Blacksmith
<http://www.blacksmith.com/training/30_course.html>
Tensor Information Systems, Inc.
<http://www.tensor.com/Training/Training.html>
Don't let me give you the impression that there is no third-party
WebObjects information available. To the contrary, there are some
excellent resources on the web-they just tend to cover specific
topics rather than being general introductions or tutorials. A great
source for these is Stepwise, which hosts original articles as well
as tracking current Mac OS X related news. Recent topics have
included memory management, authentication, and data validation.
Also, Scott Anguish has created a pair of components, SWTable and
SWMailto, which simplify the process of dynamically generating tables
and mailto links.
Memory Management with Cocoa/WebObjects
<http://www.stepwise.com/Articles/Technical/MemoryManagement.html>
Using Checkboxes in a WORepetition
<http://www.stepwise.com/Articles/Technical/WOF_Checkboxes.html>
Fetch limits in WebObjects applications
<http://www.stepwise.com/Articles/Technical/FetchLimit.html>
Data validation with WebObjects and EOF
<http://www.stepwise.com/Articles/Technical/WOValidation.html>
Basic Authentication with WebObjects
<http://www.stepwise.com/Articles/Technical/BasicAuthentication.html>
SWTable - WOTable Plus...
<http://www.stepwise.com/Software/SWWebExtensions/UsingSWTable.html>
SWMailto - yet another component
<http://www.stepwise.com/Software/SWWebExtensions/UsingSWMailto.html>
When the documentation stops helping and you need to ask some
questions, you have two places to turn. Apple hosts a WebObjects
Discussion Forum, and Omni Development hosts a WebObjects mailing
list (as well as several other Mac OS X related mailing lists), which
is archived on their site as well.
Apple's WebObjects Discussion Forum
<http://discuss.info.apple.com/boards/webobj.nsf/by+Topic?Openview>
The Omni Group Mailing Lists: WebObjects
<http://www.omnigroup.com/community/developer/mailinglists/webobjects/>
Of course, before you start asking questions it's good policy to
check the FAQ. Unfortunately, there isn't really an official FAQ per
se, but there are a couple of sites which are a close approximation.
Missing Link (a.k.a. DarwinLinux) hosts a collection of tips for
WebObjects, Mac OS X Server, and Darwin, and there are some real gems
in here. There is also the WOSource FAQ; it's over a year out-of-date
at this point but it's still quite useful.
Tips & Tricks for MOSXS, WebObjects, and Darwin!
<http://www.darwinlinux.com/cgi-bin/WebObjects/MissingLink.woa/>
WOSource FAQ
<http://www.wosource.com/faq.html>
When you are done with the learning phase and actually start building
a site, there are a number of third-party commercial products which
can help you add advanced features. ReportMill allows you to create
PDFs dynamically, and the Client Signal Viewer from VVI-DCS allows
you to graphically monitor data from WebObjects applications in real
time. WAPobjecs helps you generate WAP content for viewing with
mobile devices such as cell phones and PDAs. And especially
interesting is Objective-Everything from TipTop Software, which lets
you write Cocoa applications using Perl, Python, and Tcl, in addition
to the usual Objective C, Java, and WebScript. (You can even use
multiple languages within the same class, implementing some methods
in one language and other in another. Quite slick!)
ReportMill Software, Inc.
<http://www.reportmill.com/>
Client Signal Viewer
<http://www.vvi.com/ClientSignal/index.html>
WebObjects gets WAPed
<http://www.maccentral.com/news/9911/17.webobjects.shtml>
TipTop Home Page
<http://www.tiptop.com/>
After you've finished developing your own site, come to ours and
visit the MacTech Online web pages at
<www.mactech.com/online/>.