---
title: Welcome to Apache ServiceMix!
--- name:main pipeline:conf
{section}
{column}
[Apache ServiceMix|http://servicemix.apache.org/] is a flexible, open-source integration container that unifies the features and functionality of Apache [ActiveMQ|http://activemq.apache.org], [Camel|http://camel.apache.org], [CXF|http://cxf.apache.org], and [Karaf|http://karaf.apache.org] into a powerful runtime platform you can use to build your own integrations solutions. It provides a complete, enterprise ready ESB exclusively powered by OSGi.

It is being released under [Apache License v2|license].

The main features are:
* reliable messaging with [Apache ActiveMQ|http://activemq.apache.org]
* messaging, routing and Enterprise Integration Patterns with [Apache Camel|http://camel.apache.org]
* WS&hyphen;\* and RESTful web services with [Apache CXF|http://cxf.apache.org]
* OSGi-based server runtime powered by [Apache Karaf|http://karaf.apache.org]

Through additional installable features, ServiceMix also supports:
* BPM engine via [Activiti|http://activiti.org]
* full JPA support via [Apache OpenJPA|http://openjpa.apache.org/]
* XA transaction management via JTA via [Apache Aries|http://aries.apache.org]
* legacy support for the JBI standard (deprecated after the ServiceMix 3.x series) through the Apache ServiceMix NMR that includes a rich Event, Messaging and Audit API

Applications for ServiceMix can be built using:
* OSGi Blueprint
* OSGi Declarative Services
* Spring DM (legacy)


{column}
{column}
{center}
*[Download ServiceMix 7.0.0.M1|/downloads.html]*
*[Download ServiceMix 6.1.1|/downloads/servicemix-6.1.1.html]*
*[Download ServiceMix 6.0.3|/downloads/servicemix-6.0.3.html]*
[!/images/servicemix-box.jpg|width=256!|/downloads.html]
{center}
{html}
<script src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
  version: 2,
  type: 'search',
  search: '#servicemix',
  interval: 6000,
  title: 'What do people say about',
  subject: 'ServiceMix',
  width: 250,
  height: 300,
  theme: {
    shell: {
      background: '#5b8fbe',
      color: '#ffffff'
    },
    tweets: {
      background: '#ffffff',
      color: '#444444',
      links: '#1985b5'
    }
  },
  features: {
    scrollbar: false,
    loop: true,
    live: true,
    hashtags: true,
    timestamp: true,
    avatars: true,
    toptweets: true,
    behavior: 'default'
  }
}).render().start();
</script>
{html}
{column}
{section}


h2. [News|news]

{include:/news/recent.page}

--- name:content pipeline:scaml
-@ val main : String
- unescape(main)
- attributes("title") = "Welcome to Apache ServiceMix!"
