1. Quick start
If you are in a hurry to have Apache ServiceMix up and running right away, this article will provide you with some basic steps for downloading, building (when needed) and run the server in no time. This is clearly not a complete guide so you may want to check the other links in the Apache ServiceMix v3.0 - User's Guide main section for further information.
All you need is 5 to 10 minutes and to follow these basic steps.
Background
Apache ServiceMix is a JBI implementation that is completely opensource and under the Apache License. ServiceMix v3.0 is the first official release of the JBI container by the Apache Software Foundation.
Getting the software
At this time you have one option to get the software. The fastest and easiest way is to get the binary directly from the Apache site. Since this article is intended to help you to have Apache ServiceMix up and running in the fastest way only the binary download will be covered at this time.
Prerequisites
Although this installation path is the fastest one, still you will need to install some software before installing ServiceMix.
J2SE 1.5
ServiceMix requires a Java 5 environment to run.
Refer to the following URL for details on how to download and install J2SE 1.5: http://java.sun.com.
Download binaries
Depending on the platform you plan to install and run Apache ServiceMix you will select the appropriate installation image. Open a Web browser and access the following URL, there you will find the available packages for download (binaries and source code).
http://incubator.apache.org/servicemix/download.html
Select the file compression format compatible with your system (zip, tar.gz) by clicking directly on the link, download it and expand the binary to your hard drive in a new directory. For example in z:/servicemix
, from now on this directory will be referenced as <servicemix_home>.
The installation of Apache ServiceMix is as simple as uncompressing the .zip or .tar files. The next step is to start the server.
Start the server
With Apache ServiceMix already installed, open a command line console and change directory to <servicemix_home>.
To start the server, run the following command:
bin/servicemix
Once the server is started, you should see the following informations on the command line console:
Starting Apache ServiceMix ESB: 3.0-incubating-SNAPSHOT Loading Apache ServiceMix from servicemix.xml on the CLASSPATH INFO - JBIContainer - ServiceMix 3.0-incubating-SNAPSHOT JBI Container (ServiceMix) is starting INFO - JBIContainer - For help or more informations please see: http://incubator.apache.org/servicemix/ INFO - ComponentMBeanImpl - Initializing component: #SubscriptionManager# INFO - DeploymentService - Restoring service assemblies INFO - JBIContainer - ServiceMix JBI Container (ServiceMix) started
At this point, you have Apache ServiceMix up and running and the time spent has been minimal. The following section will propose to deploy one of the sample application.
Deploy a sample application
While you will lear in the remaining of this guide how to create and package a JBI application, we will just use a pre-built packaging for now.
Open another command line console in the <servicemix_home> directory and run the following commands.
cp components/servicemix-shared-*.zip install cp components/servicemix-http-*.zip install cp components/servicemix-jsr181-*.zip install cp examples/wsdl-first/wsdl-first-sa-*.zip deploy
These commands will:
- install the servicemix-shared Shared Library
- install the servicemix-http and servicemix-jsr181 JBI components
- deploy a JBI Service Assembly which expose a service over HTTP/SOAP
You should see the following on the command line console:
INFO - AutoDeploymentService - Directory: install: Archive changed: processing servicemix-shared-3.0-incubating-SNAPSHOT-installer.zip ... INFO - AutoDeploymentService - Directory: install: Finished installation of archive: servicemix-shared-3.0-incubating-SNAPSHOT-installer.zip INFO - AutoDeploymentService - Directory: install: Archive changed: processing servicemix-http-3.0-incubating-SNAPSHOT-installer.zip ... INFO - jetty - Logging to org.apache.servicemix.http.jetty.JCLLogger@12ef4c6 via org.apache.servicemix.http.jetty.JCLLogger INFO - ComponentMBeanImpl - Starting component: servicemix-http INFO - ComponentMBeanImpl - Initializing component: servicemix-http INFO - AutoDeploymentService - Directory: install: Finished installation of archive: servicemix-http-3.0-incubating-SNAPSHOT-installer.zip INFO - AutoDeploymentService - Directory: install: Archive changed: processing servicemix-jsr181-3.0-incubating-SNAPSHOT-installer.zip ... INFO - ComponentMBeanImpl - Starting component: servicemix-jsr181 INFO - ComponentMBeanImpl - Initializing component: servicemix-jsr181 INFO - AutoDeploymentService - Directory: install: Finished installation of archive: servicemix-jsr181-3.0-incubating-SNAPSHOT-installer.zip INFO - AutoDeploymentService - Directory: deploy: Archive changed: processing wsdl-first-sa-3.0-incubating-SNAPSHOT.zip ... INFO - ServiceAssemblyLifeCycle - Starting service assembly: wsdl-first-sa INFO - ServiceUnitLifeCycle - Initializing service unit: wsdl-first-jsr181-su INFO - ServiceUnitLifeCycle - Initializing service unit: wsdl-first-http-su INFO - ServiceUnitLifeCycle - Starting service unit: wsdl-first-jsr181-su INFO - ServiceUnitLifeCycle - Starting service unit: wsdl-first-http-su INFO - jetty - jetty-6.0.0rc2 INFO - jetty - Started SelectChannelConnector @ localhost:8192 INFO - AutoDeploymentService - Directory: deploy: Finished installation of archive: wsdl-first-sa-3.0-incubating-SNAPSHOT.zip
Now, open a web broser to the following location:
http://localhost:8192/PersonService/main.wsdl
You should see the WSDL of the web service that have just deployed !
Summary
This article showed you how simple is to have Apache Servicemix up and running. The overall time for getting the server running should be less than five minutes if you have the prerequisite (Java 1.5) already installed. Additionally, this article also showed you how to deploy and test a simple Web Service in less than five minutes.