You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Work in progress!


Usually, people deploy Project Wonder applications in one of those two ways: using the "classic" deployment tools (wotaskd + Web server module) or using a servlet container (aka Tomcat/Jboss/etc.).

We will focus on the classic tools since this is the method that the majority of the community use. The classic deployment tools consists of:

  • wotaskd. A daemon that act as a watchdog to send lifeboat to the applications its manage + launching and stopping applications. Source code is available and it's actually a Project Application application!
  • Module for your Web server software (Apache or IIS). If a module don't exist for your preferred Web server, you can use a CGI.
  • JavaMonitor. A Web GUI to manage wotaskd configuration (which is a XML file). It's optional, and you can manage multiple instances of wotaskd with a single JavaMonitor installation. JavaMonitor also have REST APIs so that you can manage the configuration by command-line or by a JavaScript app.

But first, we need to actually make our projects ready for deployment.

Building the "products"

When you run your projects inside Eclipse, they use the incremental builder and the "internal builds" are not ready for deployment (e.g. don't use the build from the "build" folder of the project, it's not a complete build!). You need to use Ant or Maven to actually build a full "product". Let's focus on Ant because, again, this is what the majority use. You can also use Jenkins, but Jenkins will need to call Maven or Ant to build the projects anyway.

One important thing to remember is that you need to build and install the frameworks before your build your applications. Building your applications will NOT add the frameworks to the product if you didn't build the frameworks first. So let's build and install the BlogCommon framework first.

In Eclipse, right-click on the BlogCommon project, and select WOLips Ant Tools -> Install.

By calling this, Eclipse will call Ant to build the framework and install it in (on OS X) /Library/Frameworks, so the framework should be at /Library/Frameworks/BlogCommon.framework.

You are now ready to build the applications. The procedure is the same as for frameworks, so right-click on the BlogRest project, and select WOLips Ant Tools -> Install. The application will install itself in (on OS X) /Library/WebObjects/Applications/. But there's a difference with a build for a framework: building an application will build three products:

  • a .woa (in our case: BlogRest.woa) that is a regular application bundle.
  • a tar+gzip archive of the application (in our case: BlogRest-Application.tar.gz)
  • a tar+gzip archive of the Web server resources (the files that are in the WebResources folders of your projects). That file is name <ApplicationName>-WebServerResources.tar.gz (so in our case, BlogRest-WebServerResources.tar.gz).

The tar archive exists to make it faster to copy the application to your deployment server because it's two files instead of hundred and they are compressed.

Installing the deployment tools

We are now ready to install the deployment tools. The wiki have installation instructions for

  • Installing on Mac OS X
  • Installing on Linux
  • Installing on Windows
  • Installing on BSD

Configuring the applications with JavaMonitor

  • No labels