|
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/>.
- SPREAD THE WORD:
- Slashdot
- Digg
- Del.icio.us
- Newsvine