- Apache Synapse
Infobox_Software
name = Apache Synapse
caption =
developer =Apache Software Foundation
latest_release_version = 1.2
latest_release_date = release_date|2008|06|10
latest_preview_version =
latest_preview_date =
operating_system =Cross-platform
programming_language = Java
genre = Enterprise Service Bus
license =Apache License 2.0
website = http://synapse.apache.org
Apache Synapse is a simple, lightweight and extremely high performance open sourceenterprise service bus (ESB) andmediation engine . It began incubation at theApache Software Foundation on the 22nd of August 2005 [ [http://incubator.apache.org/projects/index.html Apache Incubator] ] , and graduated as a sub project of the Apache Web Services project on the 2nd of January 2007. After implementing extensive support for legacy systems integration, it moved out from the Apache Web Services project as a Top Level Project (TLP) of theApache Software Foundation on the 5th of February 2008 [ [http://apache.sys-con.com/read/496070.htm TLP Graduation] ] . Apache Synapse is released under theApache License .Synapse supports the creation of Proxy Services, which allows users to easily 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, cifs etc), Mail systems (e.g. pop3, imap, smtp), Financial Information eXchange (FIX), Hessian, AMQP etc. The proxy services allows easy 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 very 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 easily 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 that can be executed out of the box.
The Synapse ESB engine is used by the commercially supported WSO2
Enterprise Service Bus (ESB) [ [http://wso2.org/esb WSO2 ESB] ] , which integrates Synapse with a graphical management and administration console, enhanced JMX management, and an integrated registry implementation with the WSO2 Registry.ee also
*
Enterprise Service Bus
*Service-oriented architecture References
External links
* [http://synapse.apache.org Synapse web site]
* [http://wso2.org/esb WSO2 Enterprise Service Bus (ESB) web site]
* [http://synapse.apache.org/Synapse_QuickStart.html Quick Start Guide]
* [http://synapse.apache.org/Synapse_Configuration_Language.html Configuration Language Synatax]
* [http://synapse.apache.org/Synapse_Samples.html Samples Guide]
Wikimedia Foundation. 2010.