This is the home page for the WebObjects space. Contributors are asked to consider the following editorial questions-to-self when making contributions to specific articles.
1. Does my article or contribution given novice WebObjects developers a place to start, first steps, etc. ? (e.g. default editing context).
2. Have I made the reader aware of "gotcha's" relevant to this topic? (e.g., Did you set 'multiple submit' to true?)
3. For articles that emphasize strategies and best practices, have I explained where I would use a certain approach and why?
4. For articles that emphasize how-to nuts and bolts, have I provided enough detail and examples?
4. Have I helped intermediate to advanced developers understand refinements and advanced considerations?
5. Where relevant, how can specific parts of Project Wonder and/or other external frameworks be of help in this specific context?
6. What are important resources/links (especially those external to this WebObjects space) that can be included?
7. Have I asked a least one other WebObjects developer to provide me with feedback on my submission?
The content on this Wiki is in the process of being updated to reflect modern WebObjects development. Pages that refer to old development techniques, e.g. Xcode, WOBuilder, etc., will be either updated to reflect the current toolset, or be moved to the Deprecated section. An RSS Feed is available for those that want to be updated as pages are modified. If you have a favorite page that you want to make sure you are in-the-loop on any changes, you can easily Watch it by selecting Watch from the Tools popup menu on that page. If you wish to partipate in an effort to improve this documentation, send an email to firstname.lastname@example.org.
Special Note: URLs are changing as part of this effort. Confluence does a good job of guessing what page you wanted if the link you requested no longer exists, so pain should be minimal.
This site replaces the wikibook, which has been deprecated.
WebObjects is an integrated suite of Java frameworks for rapidly developing scalable, sophisticated Internet and Enterprise applications. It is the most mature platform available for enterprise-level web, web service and java client (three-tier client-server) application development.
It provides a powerful and mature set of Object-Oriented frameworks for managing Object-Relational Mapping (ORM) to any JDBC-compliant database, Session Management, Undo/Redo/Revert, Ajax, Web Services, full Java Client applications, Rapid Application Development, Streaming Media, file upload/download and many other popular internet and enterprise application technologies.
Originally developed by NeXT Computer Inc., in the mid 1990s, it was ported by Apple to Mac OS X and Mac OS X Server in Objective-C and then completely translated to Java for version 5.0. The latest available release of WebObjects is version 5.4.3, made available as Mac OS X installer package in September, 2008.
It is an incredibly flexible set of frameworks exemplified by Apple's own use of it for such varied applications as the iTunes Music Store, the on-line Apple Store, the MobileMe group of services including Web-Mail and Calendaring and their website.
The WebObjects543.dmg file is the last WebObjects installer package available from Apple (dated September 2008). It installs the WebObjects frameworks and support files as four sub-packages ("WebObjectsDevelopment", "WebObjectsDocumentation", "WebObjectsExamples" and "WebObjectsRuntime"), into the appropriate directories on a Mac OS X system for incorporation into Apple's Xcode 3.1 IDE.
The "WebObjectsRuntime" sub-package is the critical one because it contains the Java libraries (in both "Framework" and jar packaging) required to develop and deploy a WebObjects application. Since such applications are now developed using the multi-platform Eclipse IDE, and not Xcode, and are deployed on as many, or more, platforms, the "WebObjectsRuntime" package is also available for multi-platform use from the community that brings you the page you are reading now!
The currently recommended WebObjects installation procedure for all platforms is at Step 2.2 on the Project Wonder Installation page.
As of WebObjects 5.3, the deployment of WebObjects-based server applications is now permitted on any platform. The Xcode 3.1 license (The last that included any reference to WebObjects) stated this:
D. WebObjects Software. Subject to the terms and conditions of this License, you may incorporate the WebObjects Software included in the Developer Software into application programs (both client and server) that you develop on an Apple-branded computer. You may also reproduce and distribute the WebObjects Software unmodiﬁed, in binary form only, on any platform but solely as incorporated into such application programs and only for use by end-users under terms that are at least as restrictive of those set forth in this License (including, without limitation, Sections 2, 6 and 7 of this License).For avoidance of doubt, you may not distribute the WebObjects Software on a stand-alone basis, and you may not develop application programs using the WebObjects Software (or any portion thereof) on any non-Apple branded computer.