Apache Synapse

##### Main Menu

- Home
- Download
- History
- License
- Thanks
- Sponsorship
- Security

##### Documentation

- Installation Guide
- Quick Start Guide
- Samples Setup Guide
- Samples Catalog
- Configuration Language
- Mediators Catalog
- Transports Catalog
- Extending Synapse
- Upgrading
- Deployment
- Javadocs
- FAQ

##### Developer Resources

- Developer Guide
- Development Best Practices
- Release Process

##### Project Details

- Overview
- Mailing Lists
- Source Repository
- Issue Tracking
- Dependencies
- Project Team
- Project Summary

##### Previous Releases

- Version 1.2
- Version 1.1.1
- Version 1.1
- Version 1.0

## Apache Synapse Enterprise Service Bus (ESB)

Apache Synapse is designed to be a simple, lightweight and high performance Enterprise Service Bus (ESB) from Apache. Based on a small asynchronous core, Apache Synapse has excellent support for XML and Web services - as well as binary and text formats. The Synapse engine is configured with a simple XML format and comes with a set of ready-to-use transports and mediators. We recommend you start by reading the QuickStart and then trying out the samples. Synapse is made available under the Apache Software License 2.0.

Latest News

In December 2007, Apache Synapse became a top level project (TLP) of the Apache Software Foundation.

For more information, see:

- Quick Start Guide
- The Synapse Configuration Language
- A Quick start with Synapse Samples
- Extending Synapse
- The Developer mailing list: Subscribe
- The User mailing list: Subscribe

## Introduction

Apache Synapse is an ESB that has been designed to be simple to configure, very fast, and effective at solving many integration and gatewaying problems. Synapse has support for HTTP, SOAP, SMTP, JMS, FTP and file system transports, as well as first class support for standards such as WS-Addressing, Web Services Security (WSS), Web Services Reliable Messaging (WSRM), efficient binary attachments (MTOM/XOP). Synapse can transform messages using key standards such as XSLT, XPath and XQuery, or simply using Java. Synapse supports a number of useful functions out-of-the-box without programming, but it also can be extended using popular programming languages such as Java, JavaScript, Ruby, and Groovy.

Synapse has a completely asynchronous core, and supports non-blocking HTTP and HTTPS using the excellent Apache HttpCore NIO module. In addition, Synapse supports JMS v1.0 and higher, Apache VFS File Systems (FTP, SFTP, File (including zip/jar/tar/gz), Webdav, CIFS), POP3/IMAP/SMTP transports. Apache Synapse can process SOAP 1.1/1.2, pure XML/REST, Text and Binary messages with support for any-to-any conversion and transformation.

## Key Features

The latest release of Synapse is 1.1.1. Its key features are

- Proxy services - facilitating transport, interface (WSDL/Schema/Policy), message format (SOAP 1.1/1.2, POX/REST, Text, Binary), QoS (WS-Security/RM) and optimization switching (MTOM/SwA)

- Non-blocking http/s transports based on Apache HttpCore for ultrafast execution and support for thousands of connections

- Built in Registry/Repository, facilitating dynamic updating and reloading of the configuration and associated resources (e.g. XSLTs, XSD, JS, ..)

- Easily extended via custom Java class (mediator and command)/Spring mediators, or BSF Scripting languages (Javascript, Ruby, Groovy etc)

- Built in support for scheduling tasks using the Quartz scheduler

- Load-balancing/Fail-over, and clustered Throttling and Caching support

- WS-Security, WS-Reliable Messaging & Throttling configurable via WS-Policies

- JMS (v1.x upwards) message support for binary, plain text and XML and SOAP payloads

- Enhanced support for Apache VFS transports (s/ftp, file, zip/tar/gz, webdav, cifs..)

- Support for message splitting & aggregation using the EIP

- Database lookup & store support with DBMediators

- Enhanced Mail transport with POP3/SMTP/IMAP protocols

- Ability to pin a proxy service or a task to server instances on a cluster

- Lightweight, XML and Web services centric messaging model

- Configurations serialized into a file system for versioning/backup & restoration with built-in Registry support

- Support for Error handling and timeouts, recovery with http/s aintainance mode & gracefull shutdown

- JMX monitoring support

- Many samples and a built-in Axis2 server to try out and experiment with samples (Samples includes WS-Security, JMS POX/Text messages, Script mediation and many more samples which can be run out of the box)

- Enhanced documentation