| <?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 Synaspe is <a href="download/2.1/download.cgi">v2.1</a>. |
| This release comes with a horde of new features, bug fixes, performance and |
| stability improvements. |
| </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 2.1"> |
| <ul> |
| <li> |
| Support for creating and managing REST APIs with URL patterns and URI templates |
| </li> |
| <li> |
| Define sequences and endpoints as templates and reuse seamlessly across the |
| whole configuration |
| </li> |
| <li> |
| Payload factory mediator for constructing custom XML payloads |
| </li> |
| <li> |
| Recipient list endpoint |
| </li> |
| <li> |
| HTTPD like access logging capability in the NHTTP transport |
| </li> |
| <li> |
| Message stores and message processors for implementing complex integration |
| patterns and advanced messaging scenarios |
| </li> |
| <li> |
| Receiving sequence support in the send mediator to make service chaining |
| easier |
| </li> |
| <li> |
| Conditional router mediator for implementing complex routing scenarios with |
| many conditions and rules |
| </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> |