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
:pserver:email@example.com:/cvsroot/obe. We will refer
to the location containing the OBE source tree as
Download Source Distribution
Source distributions have the filename format
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.
Before you can build OBE you must run a shell script to
prepare a local environment:
- Open a command window and navigate to the
- Execute the appropriate prepare script:
- On Windows:
- On Unix/Linux:
prepare script merges your
properties into the new file
Do not edit this file manually; if you need to change the
- This step is only necessary prior to your first build, or
if you change your local environment.
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
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.
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
OBE requires JDK 1.4.2 or later
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.
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.
- JBoss 3.2.3+
- JBoss 4.0.1+ (but not JBoss
- WebLogic 7.x
- WebLogic 8.x
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+
- Microsoft SQL Server
- MySQL 4.0+
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
- Open a command window and navigate to the OBE base directory
- Set the environment variables from your local configuration
by executing the appropriate script:
(This step is unnecessary directly after a
- On Windows, type:
- On Unix/Linux, type:
prepare, if you
haven't closed the command window.)
- Invoke the Ant build script by typing:
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:
- Alternatively, the previous two steps can be combined in a
ant build deploy.
- To build the Javadocs, execute:
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.
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'.