Coder Social home page Coder Social logo

isabella232 / synapse-2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/synapse

0.0 0.0 0.0 42.4 MB

Apache Synapse is a lightweight and high-performance Enterprise Service Bus (ESB)

Java 98.80% XSLT 0.34% Batchfile 0.22% Shell 0.50% DIGITAL Command Language 0.03% Ruby 0.02% JavaScript 0.03% Python 0.04% XQuery 0.02%

synapse-2's Introduction

Synapse

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.

Apache Synapse is free and open source software distributed under the Apache Software License 2.0.

Key Features

  • 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)
  • Non-blocking HTTP/S transports for fast HTTP interactions and support for thousands of concurrent connections
  • VFS transport for file manipulation and interaction with FTP, SFTP, CIFS and WEBDAV
  • JMS support for binary, plain text, XML and SOAP payloads
  • Mail transport with extensive support for POP3, IMAP and SMTP
  • Support for industry driven Financial Information eXchange (FIX) protocol
  • Built-in Registry/Repository, facilitating dynamic reloading of the configuration and associated resources (e.g. XSLTs, XSD, JS, ..)
  • Built-in support for scheduling tasks using the Quartz scheduler
  • Load-balancing (with or without sticky sessions) and fail-over routing
  • Support for many Web Services standards including WS-Addressing, WS-Security and WS-Reliable Messaging
  • Policy based message throttling and caching (with special support for clustered environments)
  • Message splitting and aggregation
  • Database lookup and update support with database connection pooling
  • Fine grained statistics collection over sequences, endpoints and proxy services
  • JMX monitoring and management
  • Easily extendable with Java, Spring, or BSF Scripting languages (Javascript, Ruby, Groovy, etc.)

High Level Architecture

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.

Image of Synapse Architecture

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.

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.

Apache Synapse, Synapse, Apache, the Apache feather logo, and the Apache Synapse project logo are trademarks of The Apache Software Foundation

synapse-2's People

Contributors

auke- avatar dims avatar farseerfc avatar isudana avatar jimmycasey avatar madhawa-gunasekara avatar n-jay avatar ok2c avatar raviu avatar shafreenanfar avatar vanjikumaran avatar veithen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.