Apache Synapse
Apache Synapse is a simple, lightweight and high performance open source enterprise service bus (ESB) and mediation engine. It began incubation at the Apache Software Foundation on August 22, 2005,[1] and became a sub project of the Apache Web Services project on January 2, 2007. After implementing extensive support for legacy systems integration, it moved to a Top Level Project of the Apache Software Foundation on the February 5, 2008.[2] Apache Synapse is released under the Apache License.
Developer(s) | Apache Software Foundation |
---|---|
Stable release | 3.0.1
/ December 7, 2017 |
Repository | Synapse Repository |
Written in | Java |
Operating system | Cross-platform |
Type | Enterprise Service Bus |
License | Apache License 2.0 |
Website | http://synapse.apache.org |
Synapse supports the creation of Proxy Services, which allows users to create virtual services on the ESB layer to front existing services. Existing services may be SOAP, POX/REST services over HTTP/S, as well as SOAP or legacy services over JMS, Apache VFS file systems (e.g. s/ftp, file, zip/tar/gz, webdav, SMB, etc.), Mail systems (e.g. pop3, imap, smtp), Financial Information eXchange (FIX), Hessian, AMQP etc. The proxy services allows switching of transport, interface (WSDL/Schema/Policy), message format (SOAP 1.1, 1.2/POX/REST, Text, Binary/Hessian etc.), QoS (WS-Addressing, WS-Security, WS-Reliable Messaging) and message optimization (MTOM/SwA) etc.
Synapse has implemented a non-blocking HTTP/S transport implementation over the Apache HttpComponents/NIO module to handle thousands of concurrent requests using little resources and threads. This implementation is capable of connection throttling to control the rate at which large messages are read and processed, and thus can handle heavy concurrent loads of large messages using constant memory.
Synapse also supports clustered deployments, with support for load balancing, throttling and caching over clustered deployments. The integration with an external Registry/Repository allows Synapse to use externally defined resources for mediation, as well as store its configuration into an externally managed Registry/Repository for SOA Governance. Synapse can be extended with custom Java extensions or POJO classes, or via Apache BFS scripting languages such as Javascript, Ruby, Groovy etc. Synapse ships with over 50 samples.
See also
- Enterprise Service Bus
- Service-oriented architecture
- Apache Axis2
- Web service
- Apache License