Deployment

Version 36.1 by Pascal Robert on 2012/01/23 04:12

WebObjects Application Server Types / Deployment Styles

There are three ways to deploy your WebObjects Application. They all have different components and configurations, but they all take your Application as a .woa bundle.

Standard Deployment

This is the way 95% of all WebObjects applications are deployed. This is the type of deployment for which there is the most documentation for, and the most support for. It consists of 3 Major pieces:

  • JavaMonitor  a Web front-end to manage your wotaskd configuration. You can use one copy of JavaMonitor to manage multiple wotaskd daemons running on different application servers.
  • wotaskd  a daemon whose main task is to start up instances of your applications when the application server (host) is restarted. wotaskd also receives lifebeats from your application instances. If wotaskd stops receiving lifebeats after a certain amount of time it will assume that your application is dead.
  • HTTP Adapter  This is an application that serves as the interface between your web server and your application instances. The HTTP adaptor routes requests from the web server to the appropriate application instance and sends the responses generated back to the web server. The adaptor does this while performing load balancing to distribute an application's users among its active instances. Load balancing helps to spread the user load of your site evenly across your application hosts.
  • Webserver (Apache, IIS)

Usually, people run wotaskd, JavaMonitor, their applications and the Web server on the same server, but it's also possible to run each part on different servers, or to have multiple servers filling each role if needed.

Servlet Deployment (Tomcat)
  • Tomcat
  • HTTP Adapter or Module
  • WebServer (Apache, IIS)
Apache Java Protocol (AJP) Deployment

Andrew Lindesay has written an open-source AJP adaptor for WebObjects 5 which should allow you to deploy your WebObjects application without servlets or the 'wotaskd' infrastructure. Such a deployment is most easily achieved with versions of the Apache HTTP server 2.2 or better as they have built-in support for load-balancing and AJP request-forwarding.

This adaptor is distributed under the LEWOStuff open-source framework. It is however stand-alone and has no direct dependency on other libraries or frameworks other than obviously WO 5. For more details on this, see the relevant section of the PDF overview supplied with the LEWOStuff framework.

  • AJP Adaptor
  • WebServer (Apache)

Deployment Platforms

All three of these Application Servers / Deployment Styles can run on any platform that supports Java 1.5 or later. The ones that there is documentation for are:

Deployment Podcast

You can learn more about deployment by listening to the Practical Deployment session from WOWODC 2009, available from the podcast page on wocommunity.org.

Differences between Apple's and Wonder's versions of the deployment tools

wotaskd and JavaMonitor were released by Apple to the community as open source when WebObjects 5.4 was released in 2007. They were added to Wonder and improvements and bug fixes were made to the tools. We strongly suggest that you use the Wonder Versions.