Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

This is the home page for the WebObjects space. Contributors are asked to consider, where appropriate, the following editorial questions-to-self when making contributions to specific articles. Does this article:
1. give developers a place to start, first steps, etc.? (e.g. default editing context).
2. provide context – does it explain where/when a certain method or approach should be used and why?
3. provide enough details and examples to help developers be able to do it themselves?
4. help developers understand refinements and advanced considerations?
5. make developers aware of "gotcha's"? (e.g., Did you set 'multiple submit' to true?)
6. explain how specific parts of Project Wonder and/or other external frameworks can be of help in this specific context?
7. point to important resources/links (especially those external to this WebObjects space)?

Topics with '**' still need content! Please consider taking the time to contribute to the community and add the necessary content for these pieces! If you do decide to contribute an article, please replace the '**' with ' (under construction)' so that others don't duplicate your effortImage Added

titleWiki Modernization In Progress

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

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.

It has a very active developer community and offers excellent support through the very popular WebObjects Development and WebObjects Deployment email lists.

titleDownload WebObjects Here!

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.


Table of Contents



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 unmodified, 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.


Enterprise Object Framework (EOF)



Using EOF

Web Applications



Web Services

Direct To Web (D2W)

Include Page
Direct To Web (D2W and ERD2W)
Direct To Web (D2W and ERD2W)

Java Client, Direct to Java Client (D2JC)

Complementary Frameworks

Project WONDER



GVC Frameworks and GVC.SiteMaker

Houdah WebObjects Frameworks

WOGWT (Google Web Toolkit Integration)

JBND Data binding

Validation Next Generation (enhanced validation)

Validation Next Generation

Development Tools

Case Studies

Integration with other clients


Database Compatibility / Comparisons

Alternative Technologies Pros / Cons

Additional Resources