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

Synapse 1.2 release adds the support for the Financial Information eXchange (FIX) an industry driven messaging standard through QuickFixJ as well as Hessian binary web service protocol, as well as other functional, stability and performance improvements. For more details please see the 1.2 release notes.

For more information, see:

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, Financial Information eXchange (FIX) and Hessian protocols for message exchange 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, Groovy, etc..

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.2. 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-Addressing/WS-Security/WS-RM) and optimization switching (MTOM/SwA)
  • Non-blocking HTTP/S transports based on Apache HttpCore for ultrafast execution and support for thousands of connections at high concurreny with constant memory usage
  • 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 (with or without sticky sessions) /Fail-over, and clustered Throttling and Caching support
  • WS-Security, WS-Reliable Messaging & Throttling configurable via (message/operation/service level) WS-Policies
  • JMS (v1.x upwards) message support for binary, plain text and XML and SOAP payloads
  • Support for Hessian binary web service protocol
  • Industry driven Financial Information eXchange (FIX) protocol
  • 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 with reusable database connection pools
  • Enhanced Mail transport with POP3/SMTP/IMAP protocols
  • GZip encoding over the HTTP/S transport
  • Dual-Channel message exchange with WS-Addressing
  • Ability to pin a proxy service or a task to server instances on a cluster
  • Mandatory sequence if required before mediation
  • 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 maintainance 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 for samples and getting started