Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Getting Started

The purpose of this document is to provide a starting point for those new to ServiceMix and OSGi. Please read through each section here and if you have any questions, please just hop on the ServiceMix user mailing list to ask any questions you might have.

Introduction, OSGi and ServiceMix

ServiceMix is a complete and professional integration platform powered by OSGi. It provides an enterprise ready powerful Enterprise Service Bus (ESB). Thanks to OSGi, ServiceMix is a highly configurable platform and allow you to extend it very easily.

OSGi is a dynamic module system for Java. OSGi provides the standardized primitives that allow applications to be constructed from small, reusable and collaborative components.

The OSGi Service Platform provides the functions to change the composition dynamically on the device of a variety of networks, without requiring restarts.
To minimize the coupling, as well as make these couplings managed, the OSGi technology provides a service-oriented architecture that enables these components to dynamically discover eath other for collaboration.

ServiceMix integrates a large number of projects such as:

Tutorials

The Tutorials section is the next step. These tutorials walk you through the basic use of the technology and show you how to build various examples. We are working to continually add new tutorials so please check back often. If there is a use case that you'd like to see, please hop on the ServiceMix user mailing list to discuss it. We're all very interested in what you'd like to see and we highly encourage contributions from the community.

Installing the ServiceMix Binary Distribution

Introduction

This document describes how to install and configure ServiceMix 2.x for both Unix and Windows' platforms. For instructions on installation and configuration of ServiceMix 1.x please see Getting Started for ServiceMix 1.1.

Document Organization

This document contains the following sections:

...

...

...

Pre-Installation Requirements

Hardware:

  • 40 100 MB of disk space for the ServiceMix 24.x binary distribution.
  • 24 MB of disk space for the ServiceMix 2.x source or developer's distributions.

Operating Systems:

  • Windows: Windows XP SP2, Windows 2000., Windows Vista, Windows 7
  • Unix: Ubuntu Linux, Powerdog Linux, MacOS, AIX, HP-UX, Solaris, any Any Linux/Unix platform that supports Java.

Environment:

  • Java Developer Kit (JDK) 1.46.x (Java 6) or greater better for both deployment and 1.5.x (Java 5) for builds.
  • The JAVA_HOME environment variable must be set to the directory where the JDK is installed, e.g., c:\Program Files\jsdk.1.4.2-09.
  • Maven 1.0.2 or greater (required when installing source or developers' releases).

Installation Procedure For Windows

Windows Binary Installation

  • compiling.

Binary Distribution Installation Procedure

This procedure explains how to download and install the binary distribution on a Windows system.

...

.

  1. Click the "ServiceMix 2.x Release" link under the "Latest Releases" section.
  2. Under the "Download Here" section, select the desired distribution (you may have to scroll down to see the "Download Here" section).
    For a binary distribution the filename will be similar to: servicemix-x.x.x.zip.
  3. Extract the files from the zip file into a directory of your choice.
  4. Proceed to the #Starting ServiceMix section of this document.
  5. Following start-up, go to #Testing the Installation section of this document.

Windows Source Installation

This procedure explains how to download and install the source distribution on a Windows system. Note: ServiceMix can be run on a Java 1.4.x system, however, Java 5 is required to compile/build ServiceMix.

...

Code Block

The recommended method of building ServiceMix is the following:
cd [servicemix_install_dir] 
  where [servicemix_install_dir] is the directory in which ServiceMix was installed.
maven clean test

If the above build fails on some tests, type the following:
cd [servicemix_install_dir]
maven m:clean
maven -Dmaven.test.skip=true

  1. binary distribution for your platform (either a tarball for a zip file). The latest release can be downloaded here: http://servicemix.apache.org/download.html
  2. Extract the download

...

Code Block

cd [servicemix_install_dir]\assembly\target\servicemix-2.0.1\bin\servicemix-2.0.1\bin
servicemix

...

Windows Developer's Releases

This procedure explains how to download and install the latest developers' snapshot. Note: ServiceMix can be run on a Java 1.4.x system, however, Java 5 is required to compile/build ServiceMix.

  1. From a browser, navigate to www.servicemix.org.
  2. Click the Download link in the navigation pane (the left pane).
  3. Click the "Development SNAPSHOT releases can also be found here" link.
  4. Select the version of ServiceMix to download (if necessary, scroll down to see the ServiceMix snapshots).
  5. Extract the files from the zip file into a directory of your choice.
  6. If a binary snapshot was downloaded proceed Proceed to the #Starting ServiceMix section of this document. If a source snapshot was downloaded perform step 6 and step 7 of the #Windows Source Installation procedure.
  7. Following start-up, proceed to #Testing the Installation section.

Installation Procedure For Unix

...

This procedure explains how to download and install the binary distribution on a Unix system.

  1. Download the ServiceMix gzip file to the Unix machine, either using a browser or using a tool, i.e., wget, scp, ftp, etc.
    Code Block
    
    If the Unix machine has a browser:
    
    a. Navigate to www.servicemix.org.
    b. Click the "Download" link in the navigation pane (the left pane).
    c. Click the "ServiceMix 2.x Release" link under the "Latest Releases" section.
    d. Under the "Download Here" section, select the desired distribution (if necessary, 
    scroll down to see the "Download Here" section). For a binary Unix distribution the filename 
    will be similar to: servicemix-x.x.x.tar.gz.
    
    OR
    
    If the Unix machine does NOT have a browser, tools such as wget, scp, or ftp can be used to download the ServiceMix distribution. 
    It is beyond the scope of this document to explain the use of those tools. For convenience an example is provided below using 
    a Windows machine (that has a browser) and a Unix machine with "wget" installed on it.
    Note: There are several alternative ways to perform this type of installation. 
    
    a. Obtain the link to the ServiceMix distribution file. On the Windows machine with a browser, navigate to www.servicemix.org.
    b. Click the "Download" link in the left navigation pane.
    c. Click the "ServiceMix 2.x Release" link under the "Latest Releases" section.
    d. Under the "Download Here" section, roll-over the desired distribution (if necessary, scroll 
    down to see the "Download Here" section). For a binary Unix distribution the filename will be 
    similar to: servicemix-x.x.x.tar.gz.
    e. Right-click on the distribution name and "Copy Shortcut."
    f. On the Unix machine, change to the directory in which ServiceMix will be installed, e.g., /usr/local.
    f. Download the ServiceMix distribution to the Unix machine using the "wget" tool. For example, type "wget" followed by the saved shortcut:
    
          wget http://dist.codehaus.org/servicemix/distributions/servicemix-2.0.1.tar.gz
    
    
  2. Extract the files from the gzip file into a directory of your choice. For example:
    Code Block
    
    gunzip servicemix-x.x.x.tar.gz  
    tar xvf servicemix-x.x.x.tar
    
  3. If the servicemix start-up script is not executable, change its permisssions. The servicemix script is located in the bin directory. For example:
    Code Block
    
    cd [servicemix_install_dir]/bin
      where [servicemix_install_dir] is the directory in which ServiceMix was installed.
    chmod 755 servicemix
    
  4. Proceed to the #Starting ServiceMix section of this document.
  5. Following start-up, go to #Testing the Installation section.

Unix Source Installation

This procedure explains how to download and install the source distribution on a Unix system. This procedure assumes the Unix machine has a browser. Please see the previous section #Unix Binary Installation for ideas on how to install ServiceMix without a browser. Note: ServiceMix can be run on a Java 1.4.x system, however, Java 5 is required to compile/build ServiceMix.

  1. From a browser, navigate to www.servicemix.org.
  2. Click the "Download" link in the navigation pane (the left pane).
  3. Click the "ServiceMix 2.x Release" link under the "Latest Releases" section.
  4. Under the "Download Here" section, select the desired distribution (if necessary, scroll down to see the "Download Here" section).
    For a source distribution the filename will be similar to: servicemix-x.x-src.tar.gz.
  5. Extract the files from the zip file into a directory of your choice. For example:
    Code Block
    
    gunzip servicemix.x.x-src.tar.gz
    tar xvf servicemix.x-src.tar
    
  6. Build ServiceMix using Maven 1.0.2 or greater and Java 5:
    Code Block
    
    The preferred method of building ServiceMix is the following:
    cd [servicemix_install_dir] 
      where [servicemix_install_dir] is the directory in which ServiceMix was installed.
    maven clean test
    
    If the above build fails on some tests, do the following:
    cd [servicemix_install_dir]
    maven m:clean
    maven -Dmaven.test.skip=true
    
    
  7. If the servicemix startup script is not executable, change it's permissions. For example:
    Code Block
    
    cd [servicemix_install_dir]/assembly/target/servicemix-2.x/bin/servicemix-2.x/bin
    chmod 755 servicemix
    
  8. Start ServiceMix from the target directory:
    Code Block
    
    cd [servicemix_install_dir]/assembly/target/servicemix-2.x/bin/servicemix-2.x/bin
    servicemix
    
  9. Proceed to #Testing the Installation section.

Unix Developer's Releases

This procedure explains how to download and install the latest developers' snapshot. Note: ServiceMix can be run on a Java 1.4.x system, however, Java 5 is required to compile/build ServiceMix.

  1. From a browser, navigate to www.servicemix.org.
  2. Click the Download link in the navigation pane (the left pane).
  3. Click the "Development SNAPSHOT releases can also be found here" link.
  4. Select the version of ServiceMix to download (you may have to scroll down to see the ServiceMix snapshots). The filename will be similar to: servicemix-x.x.x-tar.gz or servicemix-x.x.x-src.tar.gz.
  5. Extract the files from the gzip file into a directory of your choice. For example:
    Code Block
    
    For a binary developer's snapshot:
      gunzip servicemix-x.x-x.tar.gz  
      tar xvf servicemix-x.x.x.tar 
    
    For a source developer's snapshot: 
      gunzip servicemix-x.x.x-src.tar.gz
      tar xvf servicemix-x.x.x-src.tar
    
  6. If a binary snapshot was downloaded the servicemix script may need its permissions changed to make it executable:
    Code Block
    
    cd [servicemix_install_dir]/bin  
      where [servicemix_install_dir] is the directory in which ServiceMix was installed.
    chmod 755 servicemix
    
    For a binary snapshot proceed to the #Starting ServiceMix section of this document.
    If a source snapshot was downloaded perform steps 6 - 8 of the #Unix Source Installation procedure.
  7. Proceed to #Testing the Installation section.

...

On Windows:

From a console window, change to the installation directory and run the servicemix program:

Code Block
       
cd [servicemix_install_dir]\bin

where servicemix_install_dir is the directory in which ServiceMix was installed, e.g., c:\Program Files\servicemix-2.x.
Then type:

Code Block

servicemix

On Unix:

From a command shell, change to the installation directory and run the servicemix program:

Code Block
       
cd [servicemix_install_dir]/bin

where servicemix_install_dir is the directory in which ServiceMix was installed, e.g., /usr/local/servicemix-2.x.
Then type:

Code Block

servicemix 

OR

servicemix > /tmp/smlog  2>&1 & 
Note: /tmp/smlog may be changed to another file name.

...

titleWarning

Starting ServiceMix

This section provides instructions on starting ServiceMix from both Windows and Unix platforms. Below are the steps to follow:

Code Block
 
> cd <SERVICEMIX_HOME>

The <SERVICEMIX_HOME> above is just simply a placeholder for the ServiceMix binary distribution directory, i.e., the directory you expanded from the downloaded tarball or zip file.

Windows:

Code Block
  
> .\bin\servicemix.bat

Linux/Unix:

Code Block
  
$ ./bin/servicemix

ServiceMix start and you are in the ServiceMix shell.

Excerpt

Do not

...

close the console or shell in which ServiceMix was started, as that will terminate ServiceMix (unless ServiceMix was started with nohup).

...

You can also start ServiceMix directly in background:

WindowsThe Window's console window or the Unix command shell will display something similar to the following log line if ServiceMix is up and running without any problems:

Code Block
[INFO] JBIContainer -- ServiceMix JBI Container 
<http://servicemix.org/> name: defaultJBI running version: null

...

.\bin\start.bat

Linux/Unix

From a Windows console, type:

Code Block
       
netstat -an|find "1099"

OR

From a Unix command shell, type:

Code Block
netstat -an|grep 1099$ ./bin/start

Stopping ServiceMix

For both Windows and Unix installations, terminate ServiceMix by typing "CTRL-CD" in on the command shell or console in which it line where ServiceMix is running.

You can also type "osgi:shutdown" in the ServiceMix shell.

If you started ServiceMix was started in the background on Unix, the process can be killed, for exampleyou can use:

Windows:

Code Block
ps -ef|grep servicemix
kill [PID]
  where [PID] is the process id of the servicemix process.

Configuring ServiceMix

After the installation, ServiceMix is running with a basic configuration, but no components. For details on configuring options, please see Configuration.

Additional Resources

Before trying to use ServiceMix you might want to read What is JBI, take a look at the available Components and get an idea for the Architecture along with the supported NMR Flows.

A quick way to get started is to run the examples that are part of the ServiceMix binary distribution. The examples are located in the examples directory under the directory in which ServiceMix was installed.

For instructions on running the examples, please see Examples.

Tip
titleHandy Hint

Add $SERVICEMIX_HOME/bin directory to $PATH variable to simplify execution of the examples.

To view the statistics and operation of ServiceMix in a JMX Console and see how the Management works please see the following documents:

...

> .\bin\stop.bat

Linux/Unix:

Code Block

$ ./bin/stop

...

Children Display
alltrue