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:
- Apache Karaf is the ServiceMix kernel
- Apache ActiveMQ as message broker
- Apache Camel as message routing, components provider and EIP framework
- Apache CXF as WS-* and RESTful WebService provider
- Apache ODE as WS-BPEL embedded engine
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.
...
.
- Click the "ServiceMix 2.x Release" link under the "Latest Releases" section.
- 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
. - Extract the files from the zip file into a directory of your choice.
- Proceed to the #Starting ServiceMix section of this document.
- 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
|
- 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
- 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.
- From a browser, navigate to www.servicemix.org.
- Click the Download link in the navigation pane (the left pane).
- Click the "Development SNAPSHOT releases can also be found here" link.
- Select the version of ServiceMix to download (if necessary, scroll down to see the ServiceMix snapshots).
- Extract the files from the zip file into a directory of your choice.
- 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.
- 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.
- 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
- 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
- If the
servicemix
start-up script is not executable, change its permisssions. Theservicemix
script is located in thebin
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
- Proceed to the #Starting ServiceMix section of this document.
- 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.
- From a browser, navigate to www.servicemix.org.
- Click the "Download" link in the navigation pane (the left pane).
- Click the "ServiceMix 2.x Release" link under the "Latest Releases" section.
- 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
. - 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
- 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
- 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
- Start ServiceMix from the target directory:
Code Block cd [servicemix_install_dir]/assembly/target/servicemix-2.x/bin/servicemix-2.x/bin servicemix
- 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.
- From a browser, navigate to www.servicemix.org.
- Click the Download link in the navigation pane (the left pane).
- Click the "Development SNAPSHOT releases can also be found here" link.
- 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
orservicemix-x.x.x-src.tar.gz
. - 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
- If a binary snapshot was downloaded the
servicemix
script may need its permissions changed to make it executable:
For a binary snapshot proceed to the #Starting ServiceMix section of this document.Code Block cd [servicemix_install_dir]/bin where [servicemix_install_dir] is the directory in which ServiceMix was installed. chmod 755 servicemix
If a source snapshot was downloaded perform steps 6 - 8 of the #Unix Source Installation procedure. - 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.
|
...
title | Warning |
---|
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
|