Apache Synapse

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Apache Synapse
Apache Synapse Logo
Developer(s)Apache Software Foundation
Stable release
3.0.1 / December 7, 2017; 4 years ago (2017-12-07)
RepositorySynapse Repository
Written inJava
Operating systemCross-platform
TypeEnterprise Service Bus
LicenseApache License 2.0

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.

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. SFTP, 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 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[edit]


External links[edit]