Home

How to Contribute to this Wiki
To edit or add content to this Wiki, you can simply create a new account at http://issues.objectstyle.org/jira/ (This only takes a few seconds and is only needed if you don't have an account on ObjectStyle already).

This site replaces the wikibook, which has been deprecated.

WebObjects is a 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.

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 .Mac group of services including Web-Mail and Calendaring and their website. as well as many applications developed and deployed by others!.

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

In addition Apple, Inc. also provides free and paid-for support options.

Introduction

License

As of WebObjects 5.3, the deployment of WebObjects built server applications is now permitted on any platform. The XCode license (within which WebObjects is included) reads:

D. WebObjects Software. Subject to the terms and conditions of this License, you may use, install and permit others to access the WebObjects deployment software included with the Developer Software to deploy application programs developed using Apple's WebObjects Software. You may also reproduce and distribute: (1) over a network, components of the WebObjects deployment software for installation and use by others ("Java Client End Users") on any remote computer's volatile memory (e.g. RAM) to enable Java Client functionality for the sole purpose of communicating with Apple's WebObjects Software that may be installed and executed on the same Apple-labeled computer on which you have installed the Developer Software (the "Licensed System"); and (2) both manually and automatically over a network, components of the WebObjects deployment software for installation and use by Java Client End Users on any remote computer's non-volatile memory (e.g. ROM) to enable Java Client functionality for the sole purpose of communicating with Apple's WebObjects Software that may be installed and executed on the Licensed System; provided that all distributions to Java Client End Users are made under terms that are at least as restrictive as those set forth in this License and contain the disclaimers and limitations set forth in Sections 6 and 7 of this License. Subject to the terms and conditions of this License, you may also deploy server applications built with the WebObjects Software on any platform.

Sections 6 and 7 are standard Apple license disclaimers of warranty and limitations of liability clauses. Deployment to other platforms requires WebObjects software be built as Java servlet for deployment on a servlet compatible server such as [Apache Tomcat].

Foundation

Enterprise Object Framework (EOF)

Introduction

Modeling

Using EOF

Web Applications

Introduction

Deployment

Web Services

  • [Examples]

Direct To Web (D2W)

Please see Direct To Web (D2W and ERD2W)

Java Client, Direct to Java Client (D2JC)

Complementary Frameworks

Project WONDER

WireHose

LEWOStuff

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

Testing

Database Compatibility / Comparisons

Alternative Technologies Pros / Cons

  • ASP.NET
  • [ASP.NET + Monorail]
  • [JSP and Taglibs]
  • [EJB]
  • [Hibernate]
  • [Core Data]
  • [Cayenne]
  • [Tapestry]
  • Ruby on Rails
  • [Struts]
  • [WebWork]
  • [SOPE]

Additional Resources

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
5.5 Localis(z)ation
Ajax**
Apple Maven Support and Nightly Builds
Authentication and Security**
Best Practices
Browser as a Development Tool
Building Forums ,Chat Groups, Wikis**
Calendaring**
Configuring Rule Modeler
D2W Flow Control
Data Visualization -- Charts and Graphs**
Debugging wotaskd and JavaMonitor
Deploying WO On Other Platforms
Deployment**
Direct Actions**
Direct To Web (D2W and ERD2W)
DirectToWeb**
Eclipse Rich Client Platform (RCP)
ECommerce**
Email**
EOModeling**
ERDivaLook
ERJQuery
ERPrototaculous
Fetching and Searching**
Flex
General Strategies and Best Practices**
Guidelines for Contributors
Handling Errors and Exceptions**
HoudahAgileComponents
HoudahAuditTrail
HoudahControlComponents
HoudahEOAccess
HoudahEOControl
HoudahEOValidation
HoudahFoundation
HoudahMessages
HoudahRuleEngine
HoudahViewComponents
Houdah WebObjects Frameworks-Overview
Installing and Using the Hudson build server
Installing WebObjects 5.4 on Snow Leopard
Java Client
Java Client-Additional Files and Settings
Java Client-Complimentary Frameworks
Java Client-JPBinding
Java Client-Trouble Shooting
Java Client-WebStart Distribution Building
Java Client-WebStart Incremental Build
Key-Value Coding**
Known Bugs
Localization**
Managing Components and Pages**
Managing File Data**
Managing the User Interface**
Manipulating EOs**
Mozilla XUL
Naming Conventions
Optimization**
Programming__WebObjects-EOF-Modeling-Fetch Specifications
Programming__WebObjects-EOF-Modeling-JDBC
Programming__WebObjects-EOF-Modeling-Overview
Programming__WebObjects-EOF-Using EOF-Deleting
Programming__WebObjects-EOF-Using EOF-Faulting
Programming__WebObjects-EOF-Using EOF-Fetching
Programming__WebObjects-Overview-Foundation
Programming__WebObjects-Web Applications-Deployment-Mac OS X Server
Programming__WebObjects-Web Applications-Deployment-Solaris WO5.3.3
Programming__WebObjects-Web Applications-Deployment-Split Install
Programming__WebObjects-Web Applications-Development-Beginner's Guide
Programming__WebObjects-Web Applications-Development-Debugging Techniques
Programming__WebObjects-Web Applications-Development-WO Component-Built-in Components
Project Wonder additions to wotaskd and JavaMonitor
Project WONDER-Frameworks-EROpenID
Project WONDER-Frameworks-ERXMigration
Project WONDER-Frameworks-ERXNavigation
Project Wonder Properties Files
Testing-JUnit and TestNG
The Big Picture**
The D2W Rule System
The Development Environment**
Troubleshooting
User groups
Using ERD2WWizardCreationPage
Using JRebel (previously called JavaRebel) with WOLips
Using Strategy Design Pattern with EOF
UTF-8 Encoding Tips
Validation**
Validation Next Generation
Web Applications-Deployment-Capistrano (Overview)
Web Applications-Deployment-WOAdaptorInfo
WebApplictions-Development-UrlCreation
WebObjects with Scala
Web Services**
What is Direct to Web?
Windows Deployment WO 5.4
WO 5.4 Getting Started
WOOgnl**