WebObjects: About the WebObjects 5.3.2 Update

This article contains an overview and download information for the WebObjects 5.3.2 Update. WebObjects 5.3.2 is primarily for developers who want to develop WebObjects applications with Mac OS X 10.4 using the Xcode 2.4 and the WebObjects 5.3.2 Developer Tools. The WebObjects 5.3.2 Developer tools are bundled with the Xcode 2.4 tools release. WebObjects 5.3.2 is formally qualified and supported on the Java 1.4.2 platform.

The WebObjects Current Patch List (http://docs.info.apple.com/article.html?artnum=70037) contains information on all available patches and updates for all versions of WebObjects. Read this document if you're not sure which update you need on your system.

This update addresses the issues and adds support for the features listed below:

Starting with the Mac OS X Server 10.4, the WebObjects StartupItems mechanism for auto-starting WebObjects services migrated to launchd-based services. The documentation for deploying WebObjects applications can be found at (http://developer.apple.com/documentation/WebObjects/Deployment/Deploying_Applications/index.html). This documentation has been updated to describe the features of Mac OS X Server 10.4.

Security

As part of our security improvements, OpenBase services are not started by default. In order to start services and enable OpenBase applications, follow the steps below:
  1. Open /Library/StartupItems/OpenBase/OpenBase in Terminal.app or a text editor as root (sudo in Terminal.app).
  2. Uncomment the lines:
    • #/Library/OpenBase/bin/openexec
    • #/Library/OpenBase/bin/openmonitor

  3. In Terminal.app, type the command:
    • SystemStarter restart

  4. Open /Applications/OpenBase/OpenBaseManager.app.

    Note: if OpenBase still is not accessible, you may need to restart your computer

  5. Start the databases such as WOMovies, and so forth.

JDK Support

WebObjects supports JDK 1.4.2 Update 2. However, there are no known, major incompatiblities with J2SE 5.0 Update 4 and WebObjects 5.3.2.

Notes

WebObjects 5.3.2 Developer for Mac OS X 10.4

System requirements

WebObjects 5.3.2 Developer requires:

If you have not yet updated to the necessary version of Mac OS X or Developer Tools, you must do so before installing WebObjects 5.3.2. Mac OS X 10.4 and the Xcode 2.2 Developer tools are available through Software Update and ADC downloads.

If you are creating a new Mac OS X WebObjects 5.3.2 development system, you should install the software in the following order:

  1. Install Mac OS X 10.4.
  2. Run the Xcode 2.4 installer.
  3. Select the 'Custom Install' option.
  4. Enable the WebObjects install packages.

WebObjects 5.3.2 Deployment for Mac OS X 10.4 Server

This update is available through the Software Update feature of Mac OS X. If you use this method, only the proper update for the software which you have installed on your system is visible and available for download.

System requirements

WebObjects 5.3.2 Deployment requires:

If you are creating a new Mac OS X WebObjects 5.3.2 deployment system, you should install the software in the following order:

  1. Install Mac OS X Server 10.4.7

Important: WebObjects 5.3.2 is part of the default install of Mac OS X Server 10.4.7. It is not necessary to install either the WebObjects 5.3 Server Update or WebObjects 5.3.1 Server Update.

Configuration tasks

To configure and start the WebObjects services

  1. Start the Server Admin application
  2. Select the WebObjects service
  3. Select the settings tab
  4. Configure the wotaskd and monitoring services
  5. Hit the 'Start' button

Important: You do not need to manually edit the apache.conf file with the line. We have already inserted it for you.

 # Including WebObjects Configs Include /System/Library/WebObjects/Adaptors/Apache/apache.conf

Troubleshooting

1. My application is throwing the exception "com.webobjects.foundation.NSForwardException for java.lang.NoClassDefFoundError: javax/servlet/ServletContext"

For some reason, the necessary packages are not in your classpath. Debug your classpath to make sure the javax.servlet.* classes are there. If the classes are not found, the resolution is to download the servlet.jar and put it into /Library/Java/Extensions or in your classpath. The servlet.jar can be found with many open source distributions, such as Apache's Tomcat.

2. How do I convert my legacy WebObjects application to build as a true war bundle?

In Xcode, configure your build settings to the following:
SERVLET_SINGLE_DIR_DEPLOY = NO
SERVLET_STUB_WAR = NO
SERVLET_TRUE_WAR = YES
SERVLET_DEPLOY_LICENSE = <your deployment license>
SERVLET_WEBAPPS_DIR = /Library/JBoss/3.2/deploy

Add the JavaWOJSPServlet.framework to your project.

You should also verify that all of your custom frameworks are being built as jar files and are installed or linked into /Library/WebObjects/lib.

3. Interface Builder and the WebObjects Assistant in Xcode is complaining about the 'Enterprise Objects' palette not being installed.

The 'Enterprise Objects' palette is not loaded by default in the Xcode 2.2 release and beyond and has been moved from an auto-loaded location in /Developer/Palettes to /Developer/Extras/Palettes. This mainly affects people building Java Client nib-based applications.

To load the palette from the new location:

  1. Launch Interface Builder
  2. Go to the menu item Tools --> Palettes --> Palette Preferences
  3. Delete the 'Missing' Enterprise Objects palette reference
  4. Add a new reference to the Palette in /Developer/Extras/Palettes

4. Some examples (ThinkMovies) crash when on a JDK 1.4 system.

The resolution is to rebuild with the JDK 1.4 compiler with the JavaBusinessLogic framework located in: /Developer/Examples/JavaWebObjects/Frameworks

Verify that the new JavaBusinessLogic framework is installed into /Library/Frameworks.

5. Java Client applications are not starting when hosted through the Tiger 10.4 Client and Server webserver

Try repopulating your webserver document root with the version found in: /System/Library/WebObjects/WODocumentRoot

Deprecation Notice

Note: As of the release of Xcode 2.4, the Cocoa Java bridge has been deprecated. This means that, while still supported with Xcode 2.4, future releases of Xcode may not support the bridge or other dependent features. As a result, the following additional WebObjects developer applications are also being deprecated:

This also means that the Xcode Java bridge templates have been deprecated, and should not be used for new Java bridge-based development.

Published Date: Feb 20, 2012