SlideShare a Scribd company logo
1 of 32
Download to read offline
WSO2 ESB Integration with REST
Dushan Abeyruwan
Associate Tech Lead, Integration Tech Group
Ravi Undupitiya
Software Engineer, Integration Tech Group
About WSO2
•  Providing the only complete open source componentized cloud
platform
–  Dedicated to removing all the stumbling blocks to enterprise agility
–  Enabling you to focus on business logic and business value
•  Recognized by leading analyst firms as visionaries and leaders
–  Gartner cites WSO2 as visionaries in all 3 categories of application
infrastructure
–  Forrester places WSO2 in top 2 for API Management
•  Global corporation with offices in USA, UK & Sri Lanka
–  200+ employees and growing
•  Business model of selling comprehensive support &
maintenance for our products
150+ globally positioned support customers
Background	
  
•  Service	
  Oriented	
  Architecture	
  (SOA)	
  
–  A	
  style	
  of	
  so:ware	
  architecture	
  that	
  is	
  modular,	
  distributed	
  and	
  
loosely	
  coupled.	
  
–  ComponenBzaBon	
  –	
  The	
  main	
  driver	
  of	
  SOA	
  
–  Business	
  FuncBonaliBes	
  are	
  implemented	
  in	
  different	
  Business	
  
Components	
  
–  Business	
  Components	
  provide	
  their	
  funcBonality	
  to	
  its	
  consumers	
  
as	
  a	
  ‘Service’	
  with	
  the	
  well-­‐defined	
  service	
  interfaces.	
  
	
  
Background	
  
•  Enterprise	
  Service	
  Bus	
  (ESB)	
  
–  An	
  ESB	
  is	
  a	
  middleware	
  soluBon	
  that	
  enables	
  interoperability	
  
among	
  heterogeneous	
  environments	
  using	
  a	
  service-­‐oriented	
  
model.	
  
–  Stateless	
  and	
  Seamless	
  IntegraBon	
  
–  Standard	
  Protocols	
  –	
  SOAP,	
  REST,	
  JSON	
  etc.	
  
–  Transports	
  –	
  HTTP/S,	
  JMS,	
  TCP,	
  VFS	
  etc.	
  
	
  
Source : http://graegert.com/programming/no-soa-criticism-somewhere
Under	
  the	
  Hood:	
  Apache	
  Synapse	
  
•  A	
  lightweight,	
  open	
  source	
  ESB	
  implementaBon	
  from	
  the	
  
ASF	
  :	
  hXp://synapse.apache.org	
  
•  Makes	
  up	
  the	
  mediaBon	
  engine	
  of	
  WSO2	
  ESB	
  
•  MulBthreaded	
  and	
  asynchronous	
  message	
  processing	
  core	
  
•  Based	
  on	
  a	
  number	
  of	
  well	
  known	
  open	
  source	
  projects	
  (eg:	
  
Axis2,	
  HXp	
  Core)	
  
 
• 	
  	
  REpresentaBonal	
  State	
  Transfer	
  	
  
• 	
  	
  An	
  architectural	
  Style	
  –	
  Not	
  a	
  Standard	
  	
  
• 	
  	
  RESTful	
  applicaBons	
  use	
  HTTP	
  requests	
  to	
  	
  
•  post	
  data	
  (create	
  and/or	
  update)	
  	
  
•  read	
  data	
  (e.g.,	
  make	
  queries)	
  	
  
•  Delete	
  data.	
  	
  
• 	
  	
  REST	
  uses	
  HTTP	
  for	
  CRUD	
  (Create/Read/Update/Delete)	
  
operaBons.	
  	
  
Eg:	
  TwiXer	
  REST	
  API	
  	
  
•	
  	
  hXps://dev.twiXer.com/docs/api/1.1	
  	
  
	
  
What	
  is	
  REST?	
  
“How	
  OrganizaBons	
  thinks	
  RESTFul	
  Apps”	
  
“Hang	
  in	
  There	
  SOAP”	
  
Moral	
  of	
  the	
  Story…	
  
• 	
  	
  Replacing	
  exisBng	
  technologies	
  is	
  not	
  easy	
  
• 	
  	
  Every	
  technology	
  has	
  its	
  own	
  strengths	
  and	
  
weaknesses	
  
– Despite	
  its	
  arcane	
  terminology,	
  the	
  structured	
  
descripBon	
  capabiliBes	
  of	
  the	
  WSDL	
  standard	
  is	
  
being	
  praised	
  even	
  by	
  hard-­‐core	
  fans	
  of	
  REST	
  
– No	
  technology	
  can	
  be	
  designated	
  “universally	
  
superior”	
  
	
  
REST API
•  Exposing	
  RESTful	
  APIs	
  	
  
•  A	
  easy	
  way	
  to	
  expose	
  exisBng	
  SOAP	
  services	
  over	
  REST	
  
•  REST	
  à	
  SOAP	
  conversion	
  
•  Mainly	
  used	
  in	
  WSO2	
  API	
  Manager	
  	
  
	
  
HTTP Based RESTful Interactions
IntegraBng	
  RESTful	
  ApplicaBons	
  
Demo	
  
REST APIs
l  An API is similar to a web application hosted on the
ESB
l  Anchored at a specific URL path (context)
l  /test
l  /dictionary
l  /foo/bar
l  Can be bound to a specific host and a port
l  Contains one or more resources
Resources
l  A RESTful resource exposed over HTTP
l  Similar to a proxy service but focuses on REST
l  Can be associated with
l  A set of HTTP methods
-  GET only, GET and POST only, All HTTP
methods
l  A specific content type
-  application/xml, application/json
l  A particular class of clients (user agents)
Dispatching Requests to a Resource
l  URL patterns
l  Reg-Ex match
l  /test/*
l  Extension match
l  *.jsp
l  Exact match
l  /test/index.jsp
l  URI templates
l  /dictionary/{character}/{word}
l  /accounts/{accountId}/{operation}
l  HTTP Verbs (GET/PUT/POST/OPTIONS)
APIs and Resources
APIs and Resources
/people
APIs and Resources
/people
GET
/staff/*
APIs and Resources
/people
GET
/staff/*
POST
/add/{name}
Resource Examples
API Example
API Demo: Coffee Shop
Coffee Shop: URL Schemes
l  /order/{order-id}
–  GET, POST
–  Add/Update/View orders
l  /orders/
–  GET
–  Retrieve Pending Order List
Coffee Shop: Add Order
• POST /order/
<?xml version="1.0" encoding="UTF-8"?>
<order>
<drink>Caffe Misto</drink>
</order>
curl -v -d @order.xml -H "Content-type: application/xml" http://127.0.0.1:8281/order
Coffee Shop: Get Order
• GET /order/{order-id}
curl –v http://127.0.0.1:8281/order/{order-id}
Coffee Shop: List Orders
• GET /orders/
curl -v http://127.0.0.1:8281/orders
API Demo: Coffee Shop
Complete Tutorial: http://bit.ly/PZz6RZ
HTTP Endpoint
•  New in WSO2ESB 4.7.0
•  Enhances RESTful support. Can be used with SOAP WS.
•  Support for HTTP verbs and URI-Template variables
•  An example:
•  Exposing Twitter Search API
OAuth: REST security done right
•  Adheres to statelessness in REST architecture.
API Management Goals
l  Service	
  provider	
  objecBves	
  
l  Define	
  APIs	
  
l  Define	
  security	
  requirements	
  and	
  SLAs	
  
l  Monitor	
  API	
  usage	
  and	
  SLAs	
  
	
  
l  Service	
  consumer	
  objecBves	
  
l  Discover	
  and	
  browse	
  APIs	
  
l  Sign	
  up	
  and	
  obtain	
  API	
  keys	
  
l  Consume	
  APIs	
  using	
  the	
  obtained	
  keys	
  
l  Monitor	
  API	
  usage	
  and	
  SLAs	
  
Engage with WSO2
•  Helping you get the most out of your deployments
•  From project evaluation and inception to development
and going into production, WSO2 is your partner in
ensuring 100% project success

More Related Content

What's hot

WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in DockerDocker, Inc.
 
Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow WSO2
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatAmazon Web Services
 
MuleSoft Offerings by BasilRoot Technologies
MuleSoft Offerings by BasilRoot TechnologiesMuleSoft Offerings by BasilRoot Technologies
MuleSoft Offerings by BasilRoot Technologiesjakobm
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해Terry Cho
 
Schemas Beyond The Edge
Schemas Beyond The EdgeSchemas Beyond The Edge
Schemas Beyond The Edgeconfluent
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaAraf Karsh Hamid
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentationJohn Lynch
 
Introducción a los contenedores Docker
Introducción a los contenedores DockerIntroducción a los contenedores Docker
Introducción a los contenedores DockerCarlos E. Vasquez P.
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web Appscothis
 
Authentication: Cookies vs JWTs and why you’re doing it wrong
Authentication: Cookies vs JWTs and why you’re doing it wrongAuthentication: Cookies vs JWTs and why you’re doing it wrong
Authentication: Cookies vs JWTs and why you’re doing it wrongDerek Perkins
 
Rest presentation
Rest  presentationRest  presentation
Rest presentationsrividhyau
 
Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)Opsta
 
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...Edureka!
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
 

What's hot (20)

WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product Overview
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow Introduction to ESB Architecture and Message Flow
Introduction to ESB Architecture and Message Flow
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
MuleSoft Offerings by BasilRoot Technologies
MuleSoft Offerings by BasilRoot TechnologiesMuleSoft Offerings by BasilRoot Technologies
MuleSoft Offerings by BasilRoot Technologies
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
Rest web services
Rest web servicesRest web services
Rest web services
 
Schemas Beyond The Edge
Schemas Beyond The EdgeSchemas Beyond The Edge
Schemas Beyond The Edge
 
Microservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and SagaMicroservices Architecture Part 2 Event Sourcing and Saga
Microservices Architecture Part 2 Event Sourcing and Saga
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Introducción a los contenedores Docker
Introducción a los contenedores DockerIntroducción a los contenedores Docker
Introducción a los contenedores Docker
 
Architecture of a Modern Web App
Architecture of a Modern Web AppArchitecture of a Modern Web App
Architecture of a Modern Web App
 
Authentication: Cookies vs JWTs and why you’re doing it wrong
Authentication: Cookies vs JWTs and why you’re doing it wrongAuthentication: Cookies vs JWTs and why you’re doing it wrong
Authentication: Cookies vs JWTs and why you’re doing it wrong
 
Rest presentation
Rest  presentationRest  presentation
Rest presentation
 
Jenkins with SonarQube
Jenkins with SonarQubeJenkins with SonarQube
Jenkins with SonarQube
 
Distributed fun with etcd
Distributed fun with etcdDistributed fun with etcd
Distributed fun with etcd
 
Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)Introduction to Kubernetes and Google Container Engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)
 
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
 
Understanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring BootUnderstanding MicroSERVICE Architecture with Java & Spring Boot
Understanding MicroSERVICE Architecture with Java & Spring Boot
 

Similar to WSO2 ESB Integration with REST

Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIWSO2
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25Jon Petter Hjulstad
 
REST-API's for architects and managers
REST-API's for architects and managersREST-API's for architects and managers
REST-API's for architects and managersPatrick Savalle
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB WSO2
 
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
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteJon Petter Hjulstad
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyAndrew Coleman
 
Understanding and Using Rest APIs (SocialDevCamp Chicago 2009)
Understanding and Using Rest APIs (SocialDevCamp Chicago 2009)Understanding and Using Rest APIs (SocialDevCamp Chicago 2009)
Understanding and Using Rest APIs (SocialDevCamp Chicago 2009)Pete Morano
 
Restful web services rule financial
Restful web services   rule financialRestful web services   rule financial
Restful web services rule financialRule_Financial
 
KaTe RESTful adapter for SAP Process Integration: Introduction
KaTe RESTful adapter for SAP Process Integration: IntroductionKaTe RESTful adapter for SAP Process Integration: Introduction
KaTe RESTful adapter for SAP Process Integration: IntroductionKate_RESTful
 
Build Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJSBuild Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJSTaiseer Joudeh
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slidesWSO2
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiTiago Knoch
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API RecommendationsJeelani Shaik
 

Similar to WSO2 ESB Integration with REST (20)

Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
 
REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25REST - Why, When and How? at AMIS25
REST - Why, When and How? at AMIS25
 
REST-API's for architects and managers
REST-API's for architects and managersREST-API's for architects and managers
REST-API's for architects and managers
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7
 
OUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA SuiteOUGN 2016: Experiences with REST support on OSB/SOA Suite
OUGN 2016: Experiences with REST support on OSB/SOA Suite
 
Hia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economyHia 1691-using iib-to_support_api_economy
Hia 1691-using iib-to_support_api_economy
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
Mini-Training: Let's have a rest
Mini-Training: Let's have a restMini-Training: Let's have a rest
Mini-Training: Let's have a rest
 
Understanding and Using Rest APIs (SocialDevCamp Chicago 2009)
Understanding and Using Rest APIs (SocialDevCamp Chicago 2009)Understanding and Using Rest APIs (SocialDevCamp Chicago 2009)
Understanding and Using Rest APIs (SocialDevCamp Chicago 2009)
 
Restful web services rule financial
Restful web services   rule financialRestful web services   rule financial
Restful web services rule financial
 
Unerstanding and Using RESTful APIs
Unerstanding and Using RESTful APIsUnerstanding and Using RESTful APIs
Unerstanding and Using RESTful APIs
 
KaTe RESTful adapter for SAP Process Integration: Introduction
KaTe RESTful adapter for SAP Process Integration: IntroductionKaTe RESTful adapter for SAP Process Integration: Introduction
KaTe RESTful adapter for SAP Process Integration: Introduction
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Build Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJSBuild Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJS
 
SharePoint 2013 - What's New
SharePoint 2013 - What's NewSharePoint 2013 - What's New
SharePoint 2013 - What's New
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slides
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
 

More from WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

More from WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

WSO2 ESB Integration with REST

  • 1. WSO2 ESB Integration with REST Dushan Abeyruwan Associate Tech Lead, Integration Tech Group Ravi Undupitiya Software Engineer, Integration Tech Group
  • 2. About WSO2 •  Providing the only complete open source componentized cloud platform –  Dedicated to removing all the stumbling blocks to enterprise agility –  Enabling you to focus on business logic and business value •  Recognized by leading analyst firms as visionaries and leaders –  Gartner cites WSO2 as visionaries in all 3 categories of application infrastructure –  Forrester places WSO2 in top 2 for API Management •  Global corporation with offices in USA, UK & Sri Lanka –  200+ employees and growing •  Business model of selling comprehensive support & maintenance for our products
  • 3. 150+ globally positioned support customers
  • 4. Background   •  Service  Oriented  Architecture  (SOA)   –  A  style  of  so:ware  architecture  that  is  modular,  distributed  and   loosely  coupled.   –  ComponenBzaBon  –  The  main  driver  of  SOA   –  Business  FuncBonaliBes  are  implemented  in  different  Business   Components   –  Business  Components  provide  their  funcBonality  to  its  consumers   as  a  ‘Service’  with  the  well-­‐defined  service  interfaces.    
  • 5. Background   •  Enterprise  Service  Bus  (ESB)   –  An  ESB  is  a  middleware  soluBon  that  enables  interoperability   among  heterogeneous  environments  using  a  service-­‐oriented   model.   –  Stateless  and  Seamless  IntegraBon   –  Standard  Protocols  –  SOAP,  REST,  JSON  etc.   –  Transports  –  HTTP/S,  JMS,  TCP,  VFS  etc.     Source : http://graegert.com/programming/no-soa-criticism-somewhere
  • 6. Under  the  Hood:  Apache  Synapse   •  A  lightweight,  open  source  ESB  implementaBon  from  the   ASF  :  hXp://synapse.apache.org   •  Makes  up  the  mediaBon  engine  of  WSO2  ESB   •  MulBthreaded  and  asynchronous  message  processing  core   •  Based  on  a  number  of  well  known  open  source  projects  (eg:   Axis2,  HXp  Core)  
  • 7.   •     REpresentaBonal  State  Transfer     •     An  architectural  Style  –  Not  a  Standard     •     RESTful  applicaBons  use  HTTP  requests  to     •  post  data  (create  and/or  update)     •  read  data  (e.g.,  make  queries)     •  Delete  data.     •     REST  uses  HTTP  for  CRUD  (Create/Read/Update/Delete)   operaBons.     Eg:  TwiXer  REST  API     •    hXps://dev.twiXer.com/docs/api/1.1       What  is  REST?  
  • 8. “How  OrganizaBons  thinks  RESTFul  Apps”  
  • 9. “Hang  in  There  SOAP”  
  • 10. Moral  of  the  Story…   •     Replacing  exisBng  technologies  is  not  easy   •     Every  technology  has  its  own  strengths  and   weaknesses   – Despite  its  arcane  terminology,  the  structured   descripBon  capabiliBes  of  the  WSDL  standard  is   being  praised  even  by  hard-­‐core  fans  of  REST   – No  technology  can  be  designated  “universally   superior”    
  • 11. REST API •  Exposing  RESTful  APIs     •  A  easy  way  to  expose  exisBng  SOAP  services  over  REST   •  REST  à  SOAP  conversion   •  Mainly  used  in  WSO2  API  Manager      
  • 12. HTTP Based RESTful Interactions
  • 14. REST APIs l  An API is similar to a web application hosted on the ESB l  Anchored at a specific URL path (context) l  /test l  /dictionary l  /foo/bar l  Can be bound to a specific host and a port l  Contains one or more resources
  • 15. Resources l  A RESTful resource exposed over HTTP l  Similar to a proxy service but focuses on REST l  Can be associated with l  A set of HTTP methods -  GET only, GET and POST only, All HTTP methods l  A specific content type -  application/xml, application/json l  A particular class of clients (user agents)
  • 16. Dispatching Requests to a Resource l  URL patterns l  Reg-Ex match l  /test/* l  Extension match l  *.jsp l  Exact match l  /test/index.jsp l  URI templates l  /dictionary/{character}/{word} l  /accounts/{accountId}/{operation} l  HTTP Verbs (GET/PUT/POST/OPTIONS)
  • 24. Coffee Shop: URL Schemes l  /order/{order-id} –  GET, POST –  Add/Update/View orders l  /orders/ –  GET –  Retrieve Pending Order List
  • 25. Coffee Shop: Add Order • POST /order/ <?xml version="1.0" encoding="UTF-8"?> <order> <drink>Caffe Misto</drink> </order> curl -v -d @order.xml -H "Content-type: application/xml" http://127.0.0.1:8281/order
  • 26. Coffee Shop: Get Order • GET /order/{order-id} curl –v http://127.0.0.1:8281/order/{order-id}
  • 27. Coffee Shop: List Orders • GET /orders/ curl -v http://127.0.0.1:8281/orders
  • 28. API Demo: Coffee Shop Complete Tutorial: http://bit.ly/PZz6RZ
  • 29. HTTP Endpoint •  New in WSO2ESB 4.7.0 •  Enhances RESTful support. Can be used with SOAP WS. •  Support for HTTP verbs and URI-Template variables •  An example: •  Exposing Twitter Search API
  • 30. OAuth: REST security done right •  Adheres to statelessness in REST architecture.
  • 31. API Management Goals l  Service  provider  objecBves   l  Define  APIs   l  Define  security  requirements  and  SLAs   l  Monitor  API  usage  and  SLAs     l  Service  consumer  objecBves   l  Discover  and  browse  APIs   l  Sign  up  and  obtain  API  keys   l  Consume  APIs  using  the  obtained  keys   l  Monitor  API  usage  and  SLAs  
  • 32. Engage with WSO2 •  Helping you get the most out of your deployments •  From project evaluation and inception to development and going into production, WSO2 is your partner in ensuring 100% project success