Building from Source

To build OBE you will need either to download a source distribution, or to use anonymous CVS to sync up to the SourceForge source repository at :pserver:anonymous@obe.cvs.sourceforge.net:/cvsroot/obe. We will refer to the location containing the OBE source tree as OBE_DEV_HOME.

Download Source Distribution

Source distributions have the filename format obe-src-<version>.[zip|tar|gz|bz2] . You can download them from SourceForge. Expand the compressed archive to a convenient location on your hard disk.

Sync to CVS

Follow these instructions for using the OBE SourceForge anonymous CVS repository.

Prepare Environment

Before you can build OBE you must run a shell script to prepare a local environment:

The prepare script merges your properties into the new file $OBE_DEV_HOME/local.properties. Do not edit this file manually; if you need to change the configuration, run prepare again.

Configuration Properties

The <config-file(s)> supplied to the prepare script are the name(s) of Java .properties-format files containing name=value pairs to specify various properties of your local environment, and relate to the platform you are targeting. The $OBE_DEV_HOME/custom directory contains a selection of predefined configurations appropriate for various operating systems, application servers and databases. Use, copy, combine or modify them as necessary to create a configuration to suit your own needs.

Supported Platforms

Operating Systems

OBE can theoretically run on any operating system that supports Java 2, although it only comes with launch scripts for Windows and Unix/Linux.  At the time of writing (October 2005) OBE is known to work with the following:

J2SE Platform

OBE requires JDK 1.4.2 or later

J2EE Container

OBE's default server runtime implementation requires a J2EE container which supports EJB 2.1 and Servlet 1.1.  The Web-based Worklist Handler application uses JSF 1.1 (Java Server Faces), which in turn requires Servlet 2.4 and JSP 2.0.

Application Servers

The OBE build system is highly configurable and can be adapted to run on any J2EE application server that is supported by XDoclet.  To add support for a new application server it is necessary to edit the XDoclet Javadoc tags in the server source code under $OBE_DEV_HOME/obe/obeserver/src and to modify the obeserver module's build.xml script to add the appropriate XDoclet subtask for the application server in question. The OBE server runtime is currently known to work with the following application servers:
Note that of these, only JBoss 4.0.1 supports Servlet 1.3 as required by the OBE Web-based Worklist Handler client.

Databases

OBE's default J2EE implementation uses very generic SQL-92 queries and EJB 2.1 CMP+CMR (Container Managed Persistence and Relationships), so it should work with any relational database that provides a JDBC 2.0+ driver.  The default OBE EJB-based repositories are known to work with the following databases:

Building and Deploying from a Source Distribution

To build and deploy OBE, perform the following steps:

The build creates a staging area that is identical in structure and content to the binary distribution, at the location $OBE_HOME/build/staging. It is from this staging area that all OBE execution takes place.

Configuring the Clients and Server

Please follow the instructions for configuring the OBE clients, server and database. Note that the build system also prepares the staging area for use.

Build Dependencies

The following graphic illustrates the build dependencies between the various OBE modules. The dependency is in the direction of the arrow; i.e., X -> Y means 'module X depends upon module Y'.

Graphic of build dependencies between modules