SlideShare a Scribd company logo
1 of 14
API Façade Pattern with
Apache Synapse
Hiranya Jayathilaka
hiranya@apache.org
Apache Synapse
 A lightweight, open source Enterprise Service Bus (ESB)
 Visit http://synapse.apache.org
 Connect and integrate heterogeneous systems
What is an ESB?
Key Features of Synapse
 Message routing
 Message filtering
 Message transformation
 Message enrichment
 Protocol switching
 Load balancing
 Fail-over routing
 QoS enforcement
 Service virtualization
 Traffic throttling
 Task scheduling
Supported Protocol/Standards
 Communication protocols (Transports)
 HTTP/S, E-Mail (POP/IMAP), JMS,AMQP, FIX, FTP and other file
transfer protocols, RawTCP and UDP and more…
 Message formats (Content exchange formats)
 XML, SOAP, JSON, HTML, Plain text, Hessian, HL7,Various
binary formats and more…
 Other
 JDBC/SQL,WSDL and otherWS-* standards, REST, SNMP, JMX
Synapse Messaging Model
 Several types of configurable and composable constructs
 Mediators
 Sequences
 Proxy Services
 APIs
 Endpoints
 Templates
 Message stores and processors
Mediators
 Smallest configurable message processing unit in Synapse
 Synapse ships with a wide range of built-in mediators
Mediator
Input
Message
Output
Message
Config
Sequences
 An ordered list of mediators
 Provides the “message flow” abstraction
Log
Mediator
Header
Mediator
Send
Mediator
APIs/Proxy Services
 Connects a client application to a backend service
 Comprised of several sequences
 In sequence – Processes requests from client
 Out sequence – Processes responses from the service
 Fault sequence – Handles errors
Client
Application
Backend
Service
API/Proxy Service
In Sequence
Out Sequence
Synapse Configuration
 XML-based metalanguage
 Simple and intuitive – Protocol and message format agnostic
programming model
 Supports the familiar constructs of a programming language
 If-Then, Switch-Case,Try-Catch
 Reusable function-like constructs
 Hot deploy and hot update
API Façade Pattern
 Expose a non-RESTful application through a REST API
 Example use cases
 Expose a SOAP service as a RESTful service
 Expose a database as a service
 Expose a legacy system as a service
Demo
RESTClient
SOAP
Service
Synapse/ESB
Questions?
References
 Apache Synapse – http://synapse.apache.org
 WSO2 ESB - http://wso2.com/products/enterprise-service-bus/
 Demo artifacts - https://github.com/hiranya911/rest-gateway-
demo
 Demo documentation - https://rest-gateway-
demo.readthedocs.org/en/latest/
 API façade pattern -
http://asanka.abeysinghe.org/2013/04/pragmatic-approach-to-api-
facade-pattern.html

More Related Content

What's hot

3.2 Streaming and Messaging
3.2 Streaming and Messaging3.2 Streaming and Messaging
3.2 Streaming and Messaging振东 刘
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchangesSon Nguyen
 
What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021
What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021
What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021StreamNative
 
Stream-Native Processing with Pulsar Functions
Stream-Native Processing with Pulsar FunctionsStream-Native Processing with Pulsar Functions
Stream-Native Processing with Pulsar FunctionsStreamlio
 
Mule concepts components
Mule concepts componentsMule concepts components
Mule concepts componentskunal vishe
 
Muletransformers
MuletransformersMuletransformers
Muletransformersvijaynerd
 
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre ZembBuilding a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre ZembStreamNative
 
Shipping your logs to elk from mule app/cloudhub part 1
Shipping  your logs to elk from mule app/cloudhub   part 1Shipping  your logs to elk from mule app/cloudhub   part 1
Shipping your logs to elk from mule app/cloudhub part 1Alex Fernandez
 
Mule and web services
Mule and web servicesMule and web services
Mule and web servicesManav Prasad
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration PatternsOleg Tsal-Tsalko
 
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...StreamNative
 
FileCatalyst January 2016 Webinar: TransferAgent is coming to FileCatalyst Wo...
FileCatalyst January 2016 Webinar: TransferAgent is coming to FileCatalyst Wo...FileCatalyst January 2016 Webinar: TransferAgent is coming to FileCatalyst Wo...
FileCatalyst January 2016 Webinar: TransferAgent is coming to FileCatalyst Wo...FileCatalyst
 
Server Load Balancing
Server Load BalancingServer Load Balancing
Server Load Balancingalluwanted
 

What's hot (19)

3.2 Streaming and Messaging
3.2 Streaming and Messaging3.2 Streaming and Messaging
3.2 Streaming and Messaging
 
Anypoint mq queues and exchanges
Anypoint mq queues and exchangesAnypoint mq queues and exchanges
Anypoint mq queues and exchanges
 
What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021
What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021
What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021
 
Mule esb introduction
Mule esb introductionMule esb introduction
Mule esb introduction
 
Stream-Native Processing with Pulsar Functions
Stream-Native Processing with Pulsar FunctionsStream-Native Processing with Pulsar Functions
Stream-Native Processing with Pulsar Functions
 
Mule concepts components
Mule concepts componentsMule concepts components
Mule concepts components
 
Muletransformers
MuletransformersMuletransformers
Muletransformers
 
Mule ESB Fundamentals
Mule ESB FundamentalsMule ESB Fundamentals
Mule ESB Fundamentals
 
Mule Requester Usage Demo
Mule Requester Usage DemoMule Requester Usage Demo
Mule Requester Usage Demo
 
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre ZembBuilding a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
Building a Messaging Solutions for OVHcloud with Apache Pulsar_Pierre Zemb
 
Spring integration
Spring integrationSpring integration
Spring integration
 
Shipping your logs to elk from mule app/cloudhub part 1
Shipping  your logs to elk from mule app/cloudhub   part 1Shipping  your logs to elk from mule app/cloudhub   part 1
Shipping your logs to elk from mule app/cloudhub part 1
 
Mule and web services
Mule and web servicesMule and web services
Mule and web services
 
Enterprise Integration Patterns
Enterprise Integration PatternsEnterprise Integration Patterns
Enterprise Integration Patterns
 
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
Using Apache Pulsar as a Modern, Scalable, High Performing JMS Platform - Pus...
 
FileCatalyst January 2016 Webinar: TransferAgent is coming to FileCatalyst Wo...
FileCatalyst January 2016 Webinar: TransferAgent is coming to FileCatalyst Wo...FileCatalyst January 2016 Webinar: TransferAgent is coming to FileCatalyst Wo...
FileCatalyst January 2016 Webinar: TransferAgent is coming to FileCatalyst Wo...
 
Server Load Balancing
Server Load BalancingServer Load Balancing
Server Load Balancing
 
Mule TCP Component
Mule TCP ComponentMule TCP Component
Mule TCP Component
 
Mule esb
Mule esbMule esb
Mule esb
 

Similar to API Facade Pattern with Apache Synapse

LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST APIstephenbhadran
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 WSO2
 
jkljklj
jkljkljjkljklj
jkljkljhoefo
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Jason Townsend, MBA
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web servicesNeil Ghosh
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonAdnan Masood
 
Sending mail,web services
Sending mail,web servicesSending mail,web services
Sending mail,web servicesDevang Patel
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webserviceDong Ngoc
 
Past, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web AppsPast, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web AppsSmartBear
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Service Oriented Development With Windows Communication Foundation   Tulsa DnugService Oriented Development With Windows Communication Foundation   Tulsa Dnug
Service Oriented Development With Windows Communication Foundation Tulsa DnugJason Townsend, MBA
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniquesguest8899ec02
 
Rest vs soap
Rest vs soapRest vs soap
Rest vs soapNaseers
 
Presentation
PresentationPresentation
PresentationVideoguy
 

Similar to API Facade Pattern with Apache Synapse (20)

LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST API
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7
 
jkljklj
jkljkljjkljklj
jkljklj
 
SOAP Services
SOAP ServicesSOAP Services
SOAP Services
 
Web Service
Web ServiceWeb Service
Web Service
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003
 
Rest web service
Rest web serviceRest web service
Rest web service
 
Websphere - overview and introduction
Websphere - overview and introduction Websphere - overview and introduction
Websphere - overview and introduction
 
SOA and web services
SOA and web servicesSOA and web services
SOA and web services
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
 
Sending mail,web services
Sending mail,web servicesSending mail,web services
Sending mail,web services
 
Soap and restful webservice
Soap and restful webserviceSoap and restful webservice
Soap and restful webservice
 
Past, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web AppsPast, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web Apps
 
Web service
Web serviceWeb service
Web service
 
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
Service Oriented Development With Windows Communication Foundation   Tulsa DnugService Oriented Development With Windows Communication Foundation   Tulsa Dnug
Service Oriented Development With Windows Communication Foundation Tulsa Dnug
 
Riding with camel
Riding with camelRiding with camel
Riding with camel
 
Web Server-Side Programming Techniques
Web Server-Side Programming TechniquesWeb Server-Side Programming Techniques
Web Server-Side Programming Techniques
 
Rest vs soap
Rest vs soapRest vs soap
Rest vs soap
 
Presentation
PresentationPresentation
Presentation
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

API Facade Pattern with Apache Synapse

  • 1. API Façade Pattern with Apache Synapse Hiranya Jayathilaka hiranya@apache.org
  • 2. Apache Synapse  A lightweight, open source Enterprise Service Bus (ESB)  Visit http://synapse.apache.org  Connect and integrate heterogeneous systems
  • 3. What is an ESB?
  • 4. Key Features of Synapse  Message routing  Message filtering  Message transformation  Message enrichment  Protocol switching  Load balancing  Fail-over routing  QoS enforcement  Service virtualization  Traffic throttling  Task scheduling
  • 5. Supported Protocol/Standards  Communication protocols (Transports)  HTTP/S, E-Mail (POP/IMAP), JMS,AMQP, FIX, FTP and other file transfer protocols, RawTCP and UDP and more…  Message formats (Content exchange formats)  XML, SOAP, JSON, HTML, Plain text, Hessian, HL7,Various binary formats and more…  Other  JDBC/SQL,WSDL and otherWS-* standards, REST, SNMP, JMX
  • 6. Synapse Messaging Model  Several types of configurable and composable constructs  Mediators  Sequences  Proxy Services  APIs  Endpoints  Templates  Message stores and processors
  • 7. Mediators  Smallest configurable message processing unit in Synapse  Synapse ships with a wide range of built-in mediators Mediator Input Message Output Message Config
  • 8. Sequences  An ordered list of mediators  Provides the “message flow” abstraction Log Mediator Header Mediator Send Mediator
  • 9. APIs/Proxy Services  Connects a client application to a backend service  Comprised of several sequences  In sequence – Processes requests from client  Out sequence – Processes responses from the service  Fault sequence – Handles errors Client Application Backend Service API/Proxy Service In Sequence Out Sequence
  • 10. Synapse Configuration  XML-based metalanguage  Simple and intuitive – Protocol and message format agnostic programming model  Supports the familiar constructs of a programming language  If-Then, Switch-Case,Try-Catch  Reusable function-like constructs  Hot deploy and hot update
  • 11. API Façade Pattern  Expose a non-RESTful application through a REST API  Example use cases  Expose a SOAP service as a RESTful service  Expose a database as a service  Expose a legacy system as a service
  • 14. References  Apache Synapse – http://synapse.apache.org  WSO2 ESB - http://wso2.com/products/enterprise-service-bus/  Demo artifacts - https://github.com/hiranya911/rest-gateway- demo  Demo documentation - https://rest-gateway- demo.readthedocs.org/en/latest/  API façade pattern - http://asanka.abeysinghe.org/2013/04/pragmatic-approach-to-api- facade-pattern.html