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:
- Open a command window and navigate to the
OBE_DEV_HOME
directory
- Execute the appropriate prepare script:
- On Windows:
.\prepare
<config-file(s)>
- On Unix/Linux:
./prepare
<config-file(s)>
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.
- This step is only necessary prior to your first build, or
if you change your local environment.
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:
- Windows NT, 2000, XP
- Linux
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:
- JBoss 3.2.3+
- JBoss 4.0.1+ (but not JBoss
4.0)
- WebLogic 7.x
- WebLogic 8.x
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:
- Oracle 8.1.7+
- DB2
- Microsoft SQL Server
- Sybase
- MySQL 4.0+
- PostgreSQL
- Hypersonic
Building and Deploying from a Source Distribution
To build and deploy OBE, perform the following steps:
- Open a command window and navigate to the OBE base directory
- Set the environment variables from your local configuration
by executing the appropriate script:
- On Windows, type:
.\setenv
- On Unix/Linux, type:
. ./setenv
(This step is unnecessary directly after a prepare
, if you
haven't closed the command window.)
- Invoke the Ant build script by typing:
ant
.
This invokes the default build
target, which
generates EJB interfaces, compiles the code, and packages everything
into a J2EE EAR file.
- Deploy the generated J2EE archives by typing:
ant
deploy
.
- Alternatively, the previous two steps can be combined in a
single command:
ant build deploy
.
- To build the Javadocs, execute:
ant javadoc
.
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'.