| <?xml version="1.0" encoding="ISO-8859-1" ?> |
| <!-- |
| ~ Licensed to the Apache Software Foundation (ASF) under one |
| ~ or more contributor license agreements. See the NOTICE file |
| ~ distributed with this work for additional information |
| ~ regarding copyright ownership. The ASF licenses this file |
| ~ to you under the Apache License, Version 2.0 (the |
| ~ "License"); you may not use this file except in compliance |
| ~ with the License. You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, |
| ~ software distributed under the License is distributed on an |
| ~ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~ KIND, either express or implied. See the License for the |
| ~ specific language governing permissions and limitations |
| ~ under the License. |
| --> |
| |
| <document> |
| <properties> |
| <title>Apache Synapse - The Lightweight ESB</title> |
| </properties> |
| <body> |
| <section name="Apache Synapse Enterprise Service Bus (ESB)"> |
| <p> |
| Apache Synapse is a lightweight and high-performance Enterprise Service Bus (ESB). |
| Powered by a fast and asynchronous mediation engine, Apache Synapse provides |
| exceptional support for XML, Web Services and REST. In addition to XML and SOAP, |
| Apache Synapse supports several other content interchange formats, such as plain |
| text, binary, Hessian and JSON. The wide range of transport adapters available for |
| Synapse, enables it to communicate over many application and transport layer |
| protocols. As of now, Apache Synapse supports HTTP/S, Mail (POP3, IMAP, SMTP), |
| JMS, TCP, UDP, VFS, SMS, XMPP and FIX. |
| </p> |
| <p> |
| Apache Synapse is free and open source software distributed under the |
| <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache Software License 2.0</a>. |
| The latest version of Synapse is <a href="download/3.0.1/download.cgi">v3.0.1</a>. |
| It is a patch release which contains bug fixes and library upgrades to |
| 3.0.0 major feature release. |
| </p> |
| <p> |
| Apache Synapse, Synapse, Apache, the Apache feather logo, and the Apache Synapse |
| project logo are trademarks of The <a href="http://www.apache.org">Apache Software |
| Foundation</a> |
| </p> |
| </section> |
| <section name="New in Version 3.0.0"> |
| <ul> |
| <li> |
| High-performing PassThrough HTTP transport support for all mediation scenarios |
| <ul><li>Ultra-fast, low latency mediation of HTTP requests</li></ul> |
| <ul><li>Supporting a very large number of inbound (client -> ESB) |
| and outbound (ESB -> server) connections concurrently</li></ul> |
| <ul><li>Intelligently handle message content and content awareness |
| built into the engine with shared buffer for handling data</li></ul> |
| <ul><li>Automatic throttling and graceful performance |
| degradation in the presence of slow or faulty clients and |
| servers</li></ul> |
| </li> |
| <li> |
| OCSP/CRL certificate validation support for HTTP transports |
| </li> |
| <li> |
| Respond Mediator - A Mediator for responding back to the client from anywhere in the mediation flow |
| </li> |
| <li> |
| Loopback Mediator - A Mediator for jumping from IN sequence to OUT sequence |
| </li> |
| <li> |
| Header Mediator improvements |
| <ul><li>Support for adding/removing transport headers</li></ul> |
| </li> |
| <li> |
| New xpath functions |
| <ul><li>url-encode xpath function</li></ul> |
| <ul><li>Access system properties from get-property function</li></ul> |
| <ul><li>base64 decode function</li></ul> |
| </li> |
| <li> |
| Message Processor improvements |
| <ul><li>Resequencing Message Processor</li></ul> |
| <ul><li>New blocking client implementation</li></ul> |
| </li> |
| <li> |
| Message Injector task improvements |
| <ul><li>Support for injecting a message to Proxy services</li></ul> |
| <ul><li>Support for injecting a message to named sequences</li></ul> |
| </li> |
| <li> |
| Callout Mediator improvements |
| <ul><li>Support for WS-Security</li></ul> |
| <ul><li>Inline Endpoint support</li></ul> |
| <ul><li>Ability to dynamically set the EPR using 'To' header</li></ul> |
| <ul><li>NTLM support</li></ul> |
| </li> |
| <li> |
| Script Mediator improvements |
| <ul><li>Support for removing properties</li></ul> |
| </li> |
| <li> |
| REST API improvements |
| <ul><li>Transport level access restriction</li></ul> |
| </li> |
| </ul> |
| </section> |
| <section name="Key Features"> |
| <ul> |
| <li>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)</li> |
| <li>Non-blocking HTTP/S transports for fast HTTP interactions and support for |
| thousands of concurrent connections</li> |
| <li>VFS transport for file manipulation and interaction with FTP, SFTP, CIFS |
| and WEBDAV</li> |
| <li>JMS support for binary, plain text, XML and SOAP payloads</li> |
| <li>Mail transport with extensive support for POP3, IMAP and SMTP</li> |
| <li>Support for industry driven <a href="http://www.fixprotocol.org/">Financial |
| Information eXchange (FIX)</a> protocol</li> |
| <li>Built-in Registry/Repository, facilitating dynamic reloading of the |
| configuration and associated resources (e.g. XSLTs, XSD, JS, ..)</li> |
| <li>Built-in support for scheduling tasks using the |
| <a target="_blank" href="http://www.opensymphony.com/quartz">Quartz</a> scheduler</li> |
| <li>Load-balancing (with or without sticky sessions) and fail-over routing</li> |
| <li>Support for many Web Services standards including WS-Addressing, WS-Security |
| and WS-Reliable Messaging</li> |
| <li>Policy based message throttling and caching (with special support for clustered |
| environments)</li> |
| <li>Message splitting and aggregation</li> |
| <li>Database lookup and update support with database connection pooling</li> |
| <li>Fine grained statistics collection over sequences, endpoints and proxy services</li> |
| <li>JMX monitoring and management</li> |
| <li>Easily extendable with Java, Spring, or BSF Scripting languages (Javascript, |
| Ruby, Groovy, etc.)</li> |
| </ul> |
| </section> |
| <section name="High Level Architecture"> |
| <p> |
| Apache Synapse is designed to be lightweight and fast. The non-blocking HTTP |
| transport, the multi-threaded mediation engine and the streaming XML infoset combine |
| to ensure that Synapse can mediate very high volumes of messages through the service |
| bus with minimum delay and resource usage. Synapse also comes with comprehensive |
| logging capabilities, statistics collection and JMX monitoring support which are |
| crucial in production deployments. |
| </p> |
| <img src="images/synapse-arch.png"/> |
| <p> |
| Synapse uses Apache Axis2 as the underlying Web Services engine. Therefore it |
| has outstanding support for Web Services and related standards such as SOAP and |
| WSDL. Tried and tested Axis2 modules like Apache Rampart and Apache Sandesha2 can be |
| used with Synapse with no configuration overhead. Using such external modules, |
| Apache Synapse supports a range of Web Services standards including WS-Security and |
| WS-Reliable Messaging. Synapse also makes use of the Axis2 clustering framework to |
| provide enterprise grade clustering support. |
| </p> |
| <p> |
| Synapse is configured using a simple, XML-based configuration language. The |
| configuration language and the related functional components are designed with SOA |
| best practices in mind. It is trivial to store configuration fragments in an external |
| SOA registry and import them to the mediation engine on demand. Synapse ships with a |
| large collection of mediators that can be used to implement even the most complex |
| enterprise integration scenarios. If necessary, the mediation engine can be extended |
| by developing custom mediators using Java or your favorite scripting language. |
| </p> |
| </section> |
| </body> |
| </document> |