Chapter 4. Prerequisites for Installation

To install and run OpenWMS.org, an application server and a database is needed. You should already have installed a version of Java SE 6 before you follow the next steps.

Server Requirements:

Install everything that is needed to run SpringSource dmServer™, for more information have a look at the SpringSource dmServer™ website.

Client Requirements:

Because the client part of OpenWMS.org is implemented with the Adobe Flex framework, the client must be able to install the Adobe Flash Player Plugin in a minimum release of version 9.0.x. It is supposed to run the application within a web browser, that is capable to install this plugin. For more information about this please visit Adobe Flash framework website.

Most modern web browsers are able to install the Adobe Flash Plugin. On handheld devices like smartphones or label scanners it is not a standard at all. Please check the list of supported devices on Adobes website directly. Nevertheless if you have to support a device that is not capable with the Flash Player Plugin, you can rely on the OpenWMS.org backend services and implement the necessary views in a technology of your choice.

Never forget: Implementation of screens, views and dialogs must not be time consuming and should be done with the fewest effort as possible, because frontend technology often changes ;-)

4.1. SpringSource dmServer

OpenWMS.org is dedicated to run on SpringSource dmServer™ application server (for simplification called dmServer from now). This server guarantees a stable and reliable environment to run OSGi applications on. It makes life easier when you have to identify OSGi dependency problems and it comes with sophisticated tracing and failure capture (FFDC) mechanism. It is delivered as a pre-configured OSGi container that saves your time compared to setting up a base OSGi implementation like Eclipse Equinox or Knopplerfish. All necessary bundles are already included, like Apache Tomcat web container, Spring Dynamic Modules for OSGi and obviously the Spring Framework itself. SpringSource dmServer™ support different application deployment formats like PAR, Plans and Library Definition files that are mandatory to run OpenWMS.org and will hopefully become a standard in the next OSGi specification.

OpenWMS.org is currently tested on version 2.0.5.RELEASE.

4.1.1. Installation of SpringSource dmServer

To download and install dmServer please visit the download site or click the direct link to version 2.0.6.RELEASE. Just unzip the downloaded ZIP file to an arbitrary location on your harddrive to finish the installation. SpringSource propose to create an environment variable called SERVER_HOME that points to the installation directory (this variable is referenced in the rest of this document):

$ export $SERVER_HOME=<PATH TO UNZIPPED DM SERVER>

Now you should be able to run dmServer:

$ cd $SERVER_HOME/bin
$ ./startup.sh

To stop a running dmServer instance press CTRL-C.

4.2. PostgreSQL Database Server

PostgreSQL Database Server is the one we have chosen to develop OpenWMS.org. Of course OpenWMS.org is database independent so you can switch to a database of your choice. We have chosen PostgreSQL DB because it is a mature and proven database server formerly branched from IngresDB, that is now opensource and comes with a proper administration tool. Installation and running the server is described in the PostgreSQL documentation . Simply download the latest version (9.x) and install it on your machine.

4.2.1. Post Installation Steps

When you have installed the database server and it starts up correctly than you have to add a database user and an instance to run OpenWMS.org. Extend your environment $PATH settings to the <POSTGRES_INSTALL_DIR>/bin directory or change your current directory to that location in order to create all the resources.

Create a new LOGIN ROLE with name and password set to OPENWMS (The standard PostgreSQL database username is set to postgres. If you have changed this before, you must also change the -U parameter in the following commands).

$ ./createuser -Upostgres -W -P OPENWMS

First of all you are prompted to specify a new password for the login role OPENWMS, set it to OPENWMS and proceed. The new role doesn't need to inherit superuser grants.

As next we are going to create a database instance within your server installation. Probably you will install other instances e.g. for a test environment on the same server, but for now we are only creating one instance.

$ ./createdb -Upostgres -W -OOPENWMS OPENWMS

Executing this command will create a new database instance with the name OPENWMS owned by the recently created user OPENWMS. Congratulations, the database is now installed properly to run OpenWMS.org!

The values of username, password and database name used in the commands above are the default values. Of course you can choose different names and configure the application to take that ones.

4.3. Using Other Databases

By default OpenWMS.org is configured to connect to a PostgreSQL Database Server. Other databases are supported as well but have to be configured in the OSGi Configuration Service properties file that is shipped with the application. All application properties are stored in one Java properties file ($SERVER_HOME/repository/usr/org.openwms.common.infrastructure.configuration-x.y.z.properties). Properties regarding the database connectivity are prefixed with 'jdbc.'.

jdbc.driverClassName=org.postgresql.Driver
jdbc.url=jdbc:postgresql:OPENWMS
jdbc.username=OPENWMS
jdbc.password=OPENWMS
jdbc.dialect=org.hibernate.dialect.PostgreSQLDialect
jdbc.database=POSTGRESQL
jdbc.properties=hibernate.connection.compatible=7.1
jdbc.persistenceUnit=OpenWMS-test-durable

...

Detailed information about the intention of each property can you find in the developer manual.