SlideShare a Scribd company logo
Introduction to Apache 
       Synapse
        Hiranya Jayathilaka
      (hiranya@apache.org)
What to Expect…
• The problem and the solution
  – Integration problems in enterprise
• Introducing Apache Synapse
  – Architecture and the functional components
• Case Studies
  – Synapse in action
• Finishing touches
  – Extension points and next steps
The Problem & The Solution
Software in Enterprise
• Large enterprises have many software 
  systems
  – Enterprise resource planning applications
  – Management information systems
  – Decision support systems
  – Executive support applications
• The systems are often independent
• But they are all parts of a larger business 
  process
Need for Enterprise Integration
• Individual software systems cannot 
  achieve much
• Systems should be integrated to work 
  together
  – Enables free data flow across the firm
  – Each application becomes aware of the ‘big 
    picture’
  – Improves operational and management 
    efficiency
Easier Said Than Done!
• Integrating a multitude of complex 
  applications is no child’s play
• Systems are diverse (way too diverse)
  – Different platforms (OS and program runtime)
  – Different programming languages
  – Different messaging standards and protocols
  – Different QoS requirements
Is It Possible at All?
ESB to the Rescue!
• A software architecture construct that 
  provides fundamental services for complex 
  architectures
  – Message routing
  – Message transformation
  – Protocol switching
  – Adding QoS to message flows
  – And everything else integration architects 
    would ever need
ESB Explained!
• An architectural style or an piece of 
  software that resembles a physical data 
  bus
• Applications communicate via the bus, 
  which acts as a message broker
• Replaces direct contact between software 
  – Reduces coupling
• Based on industry standards
ESB Saves the Day!
Introducing Apache 
      Synapse
What is Apache Synapse?
• A high performance ESB implementation
  – Fast
  – Lightweight
  – Low resource usage
• Easy to configure and deploy
• Developed as a middleware with many 
  extension points
• Very mature and stable code base
Key Features
• Supports many messaging standards 
  – SOAP 1.1/1.2 and WS­* standards
  – REST/POX
• A wide range of communication protocols
  – HTTP/S, JMS, Mail, VFS, FIX, AMQP
• Load balancing and fail over support
• Task scheduler and the eventing mode
• JMX monitoring support
Architecture
• Non blocking HTTP transport
  – Network IO do not hog server worker threads
  – Based on Apache HTTP Core NIO
• Multithreaded mediation engine
• Streaming model
  – The byte stream coming over the wire is 
    ‘streamed’ through the mediation engine
  – Powered by Apache AXIOM
Functional Components
• Responsible for processing messages 
  inside the ESB and coordinating bus 
  activities
• Can be combined, mixed and matched to 
  implement  complex message flows and 
  enterprise integration patterns
• The task of configuring Synapse is most of 
  the time putting the right set of functional 
  components together
Mediators




• The simplest functional component
• Takes an input message, performs some 
  action on it and outputs the processed 
  message
Sequences



• A cascading chain of mediators
• Input messages are sent through all the 
  child mediators of the sequence
• Resembles an industrial pipeline
Endpoints
• Defines an endpoint reference (EPR) to 
  which messages can be sent/forwarded 
  from Synapse
• Various operational constraints can be 
  enforced on endpoints
  – Timeout configuration
  – Message format (SOAP 1.1/1.2, POX)
  – QoS expectations (WS­Security, WS­RM)
Proxy Services
• Acts like a virtual service that can accept 
  requests from clients
• Received client requests are processed 
  and forwarded to an actual service 
  implementation 
• Response from the backend service is 
  processed and routed back to the clients
Other Components
• Scheduled Tasks
  – Used to run a programmed activity periodically
• Event sources
  – Enables Synapse to act as an event broker in an 
    event driven architecture
• Local entries
  – Used to store small configuration/data items
• Registry
  – A metadata store for your SOA
Configuration Model
• Synapse configuration language is used to 
  define, configure and combine functional 
  components
• XML based
• Very intuitive – Easy to learn, understand 
  and remember
• Entire configuration goes into the 
  synapse.xml file
Case Studies
Case Study 01
• Problem:
  – How to expose an existing service over a 
    different schema?


• Solution:
  – All the incoming requests should be transformed 
    into the format expected by the service
  – All the responses should be transformed to the 
    format expected by the client
Solution Structure
Demonstration
Case Study 02
• Problem:
  – How to expose an existing HTTP service over 
    JMS?

• Solution:
  – A new (virtual) service should be created to 
    accept messages over JMS
  – The virtual service should forward the 
    messages to the existing service over HTTP
Solution Structure
Demonstration
Want to Try More?
• Apache Synapse is shipped with a large 
  number of sample configurations that you 
  can try out of the box
• Follow the samples guide included in the 
  distribution or refer the online version of it: 
  – http://synapse.apache.org/Synapse_Samples.html
• Java and Apache ANT are required to try 
  out the samples
Finishing Touches
Extension Points
•   Custom mediators
•   Custom tasks
•   Script mediator
•   POJO command mediator
•   Spring mediator
•   Transport receivers and senders
•   Load balance algorithms
•   Message formatters and builders
Feel Like Contributing?
• Project website
  – http://synapse.apache.org
• Code base
  – https://svn.apache.org/repos/asf/synapse
• Mailing lists
  – http://synapse.apache.org/mail­lists.html
• JIRA Issue tracker
  – http://issues.apache.org/jira/browse/SYNAPSE
Questions?
Thank You!

More Related Content

PPTX
What is an API Gateway?
PPTX
API Testing for everyone.pptx
PPTX
Api security
PDF
[GDSC-ADYPU] APIs 101 with Postman
PDF
Kubecon 2023 EU - KServe - The State and Future of Cloud-Native Model Serving
PDF
WSO2 ESB Introduction to Inbound Endpoints
PDF
How to Deploy WSO2 Enterprise Integrator in Containers
PDF
Introduction to Event Driven Architecture
What is an API Gateway?
API Testing for everyone.pptx
Api security
[GDSC-ADYPU] APIs 101 with Postman
Kubecon 2023 EU - KServe - The State and Future of Cloud-Native Model Serving
WSO2 ESB Introduction to Inbound Endpoints
How to Deploy WSO2 Enterprise Integrator in Containers
Introduction to Event Driven Architecture

What's hot (20)

PPTX
API Management in Digital Transformation
PDF
Introduction to WSO2 ESB
PDF
Restful Integration with WSO2 ESB
PPTX
What is an API
PPTX
Api testing
PDF
What is REST API? REST API Concepts and Examples | Edureka
PPTX
Maven ppt
PPTX
REST API Design & Development
PDF
REST API and CRUD
PDF
WSO2 ESB Integration with REST
PPT
ODP
API Testing With Katalon Studio
PPTX
Rabbit MQ introduction
PDF
An Introduction To Automated API Testing
PDF
The Architecture of an API Platform
PPTX
OAuth - Don’t Throw the Baby Out with the Bathwater
PPTX
Soap vs rest
PDF
IBM API Connect - overview
PPTX
An Introduction to Maven
API Management in Digital Transformation
Introduction to WSO2 ESB
Restful Integration with WSO2 ESB
What is an API
Api testing
What is REST API? REST API Concepts and Examples | Edureka
Maven ppt
REST API Design & Development
REST API and CRUD
WSO2 ESB Integration with REST
API Testing With Katalon Studio
Rabbit MQ introduction
An Introduction To Automated API Testing
The Architecture of an API Platform
OAuth - Don’t Throw the Baby Out with the Bathwater
Soap vs rest
IBM API Connect - overview
An Introduction to Maven
Ad

Viewers also liked (20)

PPT
Fast SOA with Apache Synapse
PPTX
API Facade Pattern with Apache Synapse
PPTX
Microservices Server - MSS Workshop
PDF
An Introduction to WSO2 Microservices Framework for Java
PPTX
Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0
PDF
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
PDF
Atlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
PDF
Modern Web App Development using ClojureScript & React.js / Baishampayan “BG”...
PDF
OpenStack Deployment with Chef Workshop
PPTX
Event Driven Architecture - MeshU - Ilya Grigorik
PDF
Best Practice for Deploying Application with Heat
PDF
TXLF: Automated Deployment of OpenStack with Chef
PDF
Are We Done Yet ? Testing Your OpenStack Deployment
PDF
React.jsでHowManyPizza
PPTX
Mirantis open stack deployment automation
PPTX
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
PDF
Rest in flask
PDF
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
PDF
An introduction to React.js
PDF
OpenStack Architecture: Past and Future
Fast SOA with Apache Synapse
API Facade Pattern with Apache Synapse
Microservices Server - MSS Workshop
An Introduction to WSO2 Microservices Framework for Java
Introduction to WSO2 Microservices Framework for Java (MSF4J) 2.0
WSO2Con ASIA 2016: Creating Microservices with WSO2 Microservices Framework f...
Atlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
Modern Web App Development using ClojureScript & React.js / Baishampayan “BG”...
OpenStack Deployment with Chef Workshop
Event Driven Architecture - MeshU - Ilya Grigorik
Best Practice for Deploying Application with Heat
TXLF: Automated Deployment of OpenStack with Chef
Are We Done Yet ? Testing Your OpenStack Deployment
React.jsでHowManyPizza
Mirantis open stack deployment automation
REST Coder: Auto Generating Client Stubs and Documentation for REST APIs
Rest in flask
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
An introduction to React.js
OpenStack Architecture: Past and Future
Ad

Similar to Introduction to Apache Synapse (20)

PDF
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
PDF
Enterprise Integration with the WSO2 ESB
PPT
Webbinar slides
PDF
Architecting systems for continuous delivery
PPTX
API-driven Legacy Migration: Results from Project Winterfell
PDF
Hia 1693-effective application-development_in_iib
PDF
Blasting Out of the Past with OSGi - Keith McFarlane
ODP
Birmingham-20060705
PDF
Esb buyers guide_final
PDF
A Buyers Guide to an Enterprise Service Bus (ESB)
PPTX
Exp framework for this type of communica
PDF
Effective admin and development in iib
PPTX
Micro service architecture
PPTX
The Overview of Microservices Architecture
PPTX
JavaOne: Efficiently building and deploying microservices
PDF
Integration Solution Patterns
PPTX
The Role of Enterprise Integration in Digital Transformation
PPTX
Introduction to Microservices
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
Enterprise Integration with the WSO2 ESB
Webbinar slides
Architecting systems for continuous delivery
API-driven Legacy Migration: Results from Project Winterfell
Hia 1693-effective application-development_in_iib
Blasting Out of the Past with OSGi - Keith McFarlane
Birmingham-20060705
Esb buyers guide_final
A Buyers Guide to an Enterprise Service Bus (ESB)
Exp framework for this type of communica
Effective admin and development in iib
Micro service architecture
The Overview of Microservices Architecture
JavaOne: Efficiently building and deploying microservices
Integration Solution Patterns
The Role of Enterprise Integration in Digital Transformation
Introduction to Microservices

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Empathic Computing: Creating Shared Understanding
PPTX
A Presentation on Artificial Intelligence
PDF
Encapsulation theory and applications.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPT
Teaching material agriculture food technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Machine Learning_overview_presentation.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
Reach Out and Touch Someone: Haptics and Empathic Computing
Empathic Computing: Creating Shared Understanding
A Presentation on Artificial Intelligence
Encapsulation theory and applications.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Spectral efficient network and resource selection model in 5G networks
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Teaching material agriculture food technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Machine Learning_overview_presentation.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
The AUB Centre for AI in Media Proposal.docx
NewMind AI Weekly Chronicles - August'25-Week II
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
sap open course for s4hana steps from ECC to s4
Advanced methodologies resolving dimensionality complications for autism neur...

Introduction to Apache Synapse