Chapter 17. HowTo - Setup OpenEngSB for development (First steps)

17.1. Goal

This section describes the setup process required for OpenEngSB development.

If you would like to view a use-case centric tutorial take a look at the continuous integration example.

17.2. Time to Complete

If you are already familiar with Java EE servers about 15 minutes. We will not be using advanced concepts, so you likely be able to continue with the tutorial even without it.

17.3. Prerequisites

It is assumed you have basic knowledge of system administration and you are able to set up auxiliary software (i.e. JDK 1.6) yourself.

17.4. Java Development Kit 6

First of all the JDK6 should be installed on the system and the JAVA_HOME variable should be set. (Java download).

Also, make sure that the java-command is available in the PATH-variable.

17.5. Getting OpenEngSB

Download the latest OpenEngSB release from here.

17.6. Installing OpenEngSB

Extract the archive, and run the openengsb-script (bin/openengsb.bat on windows, bin/openengsb otherwise). Click the following link to open the web interface in your browser http://localhost:8090/openengsb.You should automatically be directed to a page asking for a login. The default login is "admin" with "password" as password.

login

If everything works fine you should be welcomed by the following page presenting you the currently installed domains:

main page

17.7. Setup required domains

OpenEngSB implements it's functionality in so called features. Each feature contains a number of OSGi bundles. While all features are distributed with the OpenEngSB not all of them are installed to speed up the startup. For the next section (First Steps) it is required to install additional features. Therefore open the console in which you've started the OpenEngSB and enter "list" which should output something like:

karaf@root> list
START LEVEL 100 , List Threshold: 50
   ID   State         Blueprint      Level  Name
[  42] [Active     ] [Created     ] [   60] Apache Karaf :: Shell :: Service Wrapper (2.2)
...
[ 116] [Active     ] [            ] [   60] Jackson JSON processor (1.5.3)
[ 165] [Active     ] [Created     ] [   60] OpenEngSB :: Framework :: API (Version)
[ 166] [Active     ] [Created     ] [   60] OpenEngSB :: Framework :: Engineering Database (Version)
[ 167] [Active     ] [Created     ] [   60] OpenEngSB :: Framework :: Engineering Knowledge Base (Version)
[ 168] [Active     ] [Created     ] [   60] OpenEngSB :: Framework :: Common (Version)
[ 169] [Active     ] [Created     ] [   60] OpenEngSB :: Framework :: Services (Version)
[ 170] [Active     ] [Created     ] [   60] OpenEngSB :: Framework :: Persistence Layer (Version)
...
    

In order to install domains and connectors from other repositories you need to add the corresponding feature-URLs. Note that in order to install a connector you need to install all domains it implements.

In order to install a domain first add the feature-repository using the command features:addurl. When the URL has been added the domain can usually be installed using features:install

root@openengsb>features:addurl mvn:org.openengsb.domain/org.openengsb.domain.notification/[domain version]/xml/features
root@openengsb>features:install openengsb-domain-notification
    

Note that domains and connectors are versioned independently of each other and the OpenEngSB.

17.8. First Steps

Now that the OpenEngSB is up and running (and all required bundles are installed) start with the first integration tutorial.

17.9. Shutdown OpenEngSB

To shutdown the OpenEngSB, go to the command-window and type shutdown or press Ctrl+D