SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
REST and API Management
              with


              Hiranya Jayathilaka
         Product Manager – WSO2 ESB



                      
What is REST?
    ●   REpresentational State Transfer
    ●   Lightweight, Client­Server architecture
    ●   Interactions are based on the transfer of 
        resource state representations
    ●   Systems exchange state representations and 
        perform application state transitions
    ●   Mostly implemented using HTTP but can be 
        based on other protocols
                                
Origin and Growth
    ●   First introduced by Roy Fielding in his doctoral 
        dissertation
    ●   Developed in parallel with HTTP/1.1
    ●   WWW is the largest known implementation of a 
        RESTful architecture
    ●   Widely used in modern days as an alternative to 
        technologies like CORBA and SOAP


                                
REST By Example...
    ●   Learning Management System for a school
    ●   A number of fundamental concepts
        ●   Student
        ●   Course
        ●   Teacher
    ●   In a RESTful design these concepts are likely to 
        become the 'resources' managed by the LMS


                               
The 'Student' Resource State
    ●   Name
    ●   Index number
    ●   Age
    ●   Date of birth
    ●   Contact information
    ●   GPA
    ●   ...
                               
State Representation ­ XML




                 
State Representation ­ JSON




                  
Application State
    ●   Applications have states
        ●   Number of students in the system
        ●   Number of associations between students and 
            courses
        ●   Number of teachers
    ●   Application state transitions may occur as a 
        result of a resource state transfer
    ●   Application state can also be represented using 
        some data format or hyper text references
                                   
Representational State Transfer
    ●   Clients and servers interact with each other by 
        exchanging 
        ●   Resource state representations
        ●   Application state representations
        ●   Other control information




                                    
RESTful Interactions




              
Why HTTP?
    ●   Rich vocabulary and powerful tools that are 
        ideal for representing resource states, 
        application states and control data
        ●   Application state – Status code + Links
        ●   Resource state – HTTP entity
        ●   Control data – HTTP method
    ●   CRUD operations map nicely into HTTP 
        methods

                                    
HTTP Based RESTful Interactions




                    
Advantages
    ●   Simple and lightweight
        ●   Easy to implement
        ●   Very little processing at the application level
        ●   Small amount of data to pass around
    ●   Support any content type
    ●   Leverage built­in application layer protocol 
        semantics without reinventing the wheel


                                     
Notable Deployments
    ●   Amazon AWS (Over 90% of the clients are 
        using the RESTful API)
    ●   Google Maps
    ●   Yahoo!
    ●   eBay
        ●   Sastry Malladi on service orientation ­ 
            http://www.youtube.com/watch?v=O­9osZGXDok


                                
WSO2 ESB
    ●   A lightweight, high­performance ESB
    ●   Feature rich and standards compliant
        ●   SOAP and WS­* standards
        ●   REST support
        ●   Variety of protocols and message formats
    ●   User friendly and highly extensible
    ●   100% free and open source with commercial 
        support
                                   
Under the Hood
    ●   WSO2 ESB is based on a number of well 
        known Apache projects
        ●   Synapse ­ http://synapse.apache.org
        ●   Axis2­ http://axis.apache.org/axis2/java/core
        ●   Web Services ­ http://ws.apache.org
    ●   REST support of WSO2 ESB stems from the 
        REST support offered by Axis2


                                    
REST Support in Axis2
    ●   Axis2 provides a REST binding for each 
        deployed web service
    ●   This enables clients to invoke any Axis2 service 
        via REST calls
        ●   GET /services/HelloService/sayHello
        ●   GET /services/MathService/add?a=5&b=10




                                   
REST Support in WSO2 ESB
    ●   WSO2 ESB can receive and mediate REST 
        calls just like any other request
    ●   The same mediators that work with SOAP can 
        be used to manipulate REST invocations
        ●   Log, Send, Filter, Switch, XSLT, DBLookup....
    ●   Additional handles provided by the ESB in the 
        form of properties
    ●   Easily switch between SOAP and REST
                                    
Exposing a SOAP Service via REST




                
Sample Proxy Configuration




                 
Exposing a REST/POX Service via 
                 SOAP




                    
Sample Proxy Configuration




                 
Exercising More Control Over REST
    ●   Manipulate REST calls based on
        ●   HTTP method
        ●   Status code
        ●   Content type
        ●   HTTP headers




                             
Accessing HTTP Method




               
Examples




        
Accessing HTTP Status Codes




                  
Examples




        
Manipulating HTTP Headers




                 
Examples




        
REST APIs
    ●   An API is similar to a web application hosted on 
        the ESB
    ●   Anchored at a specific URL path (context)
        ●   /test
        ●   /dictionary
        ●   /foo/bar
    ●   Can be bound to a specific host and a port
    ●   Contains one or more resources
                                
Resources
    ●   A RESTful resource exposed over HTTP
    ●   Similar to a proxy service but focuses on REST
    ●   Can be associated with
        ●   A set of HTTP methods
            –   GET only, GET and POST only, All HTTP methods
        ●   A specific content type
            –   application/xml, application/json
        ●   A particular class of clients (user agents)

                                         
Dispatching Requests to a Resource
    ●   URL patterns
        ●   Reg­Ex match (/test/*)
        ●   Extension match (*.jsp)
        ●   Exact match (/test/index.jsp)
    ●   URI templates
        ●   /dictionary/{character}/{word}
        ●   /accounts/{accountId}/{operation}


                                      
APIs and Resources




             
Resource Examples




             
API Example




          
APIs in Action




           
API Management Goals
    ●   Service provider objectives
        ●   Define APIs
        ●   Define security requirements and SLAs
        ●   Monitor API usage and SLAs
    ●   Service consumer objectives
        ●   Discover and browse APIs
        ●   Sign up and obtain API keys
        ●   Consume APIs using the obtained keys
        ●   Monitor API usage and SLAs
                                     
Solution Architecture




               
WSO2 Product Mapping




              
Summary and Recap
    ●   REST is a lightweight, client­server architecture for building 
        distributed systems
    ●   RESTful designs are concerned with resources, states and 
        transfer of representational state between systems
    ●   WSO2 ESB provides excellent support for receiving, processing 
        and intermediating REST (HTTP) calls
    ●   The new API concept is a powerful feature which allows 
        developers to define REST APIs in the ESB without writing any 
        additional code
    ●   WSO2 platform is ideally suited for developing comprehensive and 
        flexible API management solutions based on open standards

                                          
Questions?




         
Selected Customers




             
WSO2 Engagement Model
    ●   Quick Start
    ●   Development Support
    ●   Development Services
    ●   Production Support
    ●   Turnkey Solutions
        ●   WSO2 Mobile Services Solution
        ●   WSO2 FIX Gateway Solution
        ●   WSO2 SAP Gateway Solution
                                  
Thank You




         

Contenu connexe

Tendances

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
 
RESTful services
RESTful servicesRESTful services
RESTful services
gouthamrv
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB
WSO2
 

Tendances (20)

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
 
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
 
OAuth 2.0 with IBM WebSphere DataPower
OAuth 2.0 with IBM WebSphere DataPowerOAuth 2.0 with IBM WebSphere DataPower
OAuth 2.0 with IBM WebSphere DataPower
 
02 api gateway
02 api gateway02 api gateway
02 api gateway
 
Cognito Customer Deep Dive
Cognito Customer Deep DiveCognito Customer Deep Dive
Cognito Customer Deep Dive
 
Introduction to Spring Cloud
Introduction to Spring Cloud           Introduction to Spring Cloud
Introduction to Spring Cloud
 
RESTful services
RESTful servicesRESTful services
RESTful services
 
OAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep DiveOAuth & OpenID Connect Deep Dive
OAuth & OpenID Connect Deep Dive
 
OpenID Connect Explained
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect Explained
 
Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)Reporting with Oracle Application Express (APEX)
Reporting with Oracle Application Express (APEX)
 
OAuth2 and Spring Security
OAuth2 and Spring SecurityOAuth2 and Spring Security
OAuth2 and Spring Security
 
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
[WSO2 API Manager Community Call] Mastering JWTs with WSO2 API Manager
 
Integration Patterns With Spring integration
Integration Patterns With Spring integrationIntegration Patterns With Spring integration
Integration Patterns With Spring integration
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB
 
Declarative Clients in Spring
Declarative Clients in SpringDeclarative Clients in Spring
Declarative Clients in Spring
 
Le CSP en IT, est-ce une solution adaptée ?
Le CSP en IT, est-ce une solution adaptée ?Le CSP en IT, est-ce une solution adaptée ?
Le CSP en IT, est-ce une solution adaptée ?
 
ConcourseCi overview
ConcourseCi  overviewConcourseCi  overview
ConcourseCi overview
 
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
 
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트:: A...
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트::  A...실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트::  A...
실전! AWS 하이브리드 네트워킹 (AWS Direct Connect 및 VPN 데모 세션) - 강동환, AWS 솔루션즈 아키텍트:: A...
 
API Gatewayご紹介
API Gatewayご紹介API Gatewayご紹介
API Gatewayご紹介
 

En vedette

Improved JSON Support of WSO2 ESB 4.8
Improved JSON Support of WSO2 ESB 4.8Improved JSON Support of WSO2 ESB 4.8
Improved JSON Support of WSO2 ESB 4.8
WSO2
 
Understanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and TechnologyUnderstanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and Technology
WSO2
 

En vedette (8)

Improved JSON Support of WSO2 ESB 4.8
Improved JSON Support of WSO2 ESB 4.8Improved JSON Support of WSO2 ESB 4.8
Improved JSON Support of WSO2 ESB 4.8
 
Best Practices for API Management
Best Practices for API Management Best Practices for API Management
Best Practices for API Management
 
Wso2 tutorial
Wso2 tutorialWso2 tutorial
Wso2 tutorial
 
Why API Management is Not Enough
Why API Management is Not EnoughWhy API Management is Not Enough
Why API Management is Not Enough
 
Understanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and TechnologyUnderstanding the WSO2 Platform and Technology
Understanding the WSO2 Platform and Technology
 
Definitive Guide to API Management
Definitive Guide to API ManagementDefinitive Guide to API Management
Definitive Guide to API Management
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
 

Similaire à REST & API Management with the WSO2 ESB

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
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
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
Jeelani Shaik
 
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2
 

Similaire à REST & API Management with the WSO2 ESB (20)

RESTful Architecture
RESTful ArchitectureRESTful Architecture
RESTful Architecture
 
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
 
Wt unit 6 ppts web services
Wt unit 6 ppts web servicesWt unit 6 ppts web services
Wt unit 6 ppts web services
 
Overview of Rest Service and ASP.NET WEB API
Overview of Rest Service and ASP.NET WEB APIOverview of Rest Service and ASP.NET WEB API
Overview of Rest Service and ASP.NET WEB API
 
Building Software Backend (Web API)
Building Software Backend (Web API)Building Software Backend (Web API)
Building Software Backend (Web API)
 
Restful web services by Sreeni Inturi
Restful web services by Sreeni InturiRestful web services by Sreeni Inturi
Restful web services by Sreeni Inturi
 
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
 
Developing and Hosting REST APIs 3.7
Developing and Hosting REST APIs 3.7Developing and Hosting REST APIs 3.7
Developing and Hosting REST APIs 3.7
 
Restful web services with java
Restful web services with javaRestful web services with java
Restful web services with java
 
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
apidays LIVE Hong Kong 2021 - Multi-Protocol APIs at Scale in Adidas by Jesus...
 
REST and RESTful Services
REST and RESTful ServicesREST and RESTful Services
REST and RESTful Services
 
Rest web service
Rest web serviceRest web service
Rest web service
 
Cloud Native API Design and Management
Cloud Native API Design and ManagementCloud Native API Design and Management
Cloud Native API Design and Management
 
Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7 Exploring the WSO2 ESB 4.7
Exploring the WSO2 ESB 4.7
 
REST Introduction.ppt
REST Introduction.pptREST Introduction.ppt
REST Introduction.ppt
 
REST API Recommendations
REST API RecommendationsREST API Recommendations
REST API Recommendations
 
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0WSO2 Product Release webinar - The WSO2 ESB 4.8.0
WSO2 Product Release webinar - The WSO2 ESB 4.8.0
 
SpringPeople Introduction to JAVA Web Services
SpringPeople Introduction to JAVA Web ServicesSpringPeople Introduction to JAVA Web Services
SpringPeople Introduction to JAVA Web Services
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
Web service Introduction
Web service IntroductionWeb service Introduction
Web service Introduction
 

Plus de WSO2

Plus de WSO2 (20)

Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 

REST & API Management with the WSO2 ESB

  • 1. REST and API Management with Hiranya Jayathilaka Product Manager – WSO2 ESB    
  • 2. What is REST? ● REpresentational State Transfer ● Lightweight, Client­Server architecture ● Interactions are based on the transfer of  resource state representations ● Systems exchange state representations and  perform application state transitions ● Mostly implemented using HTTP but can be  based on other protocols    
  • 3. Origin and Growth ● First introduced by Roy Fielding in his doctoral  dissertation ● Developed in parallel with HTTP/1.1 ● WWW is the largest known implementation of a  RESTful architecture ● Widely used in modern days as an alternative to  technologies like CORBA and SOAP    
  • 4. REST By Example... ● Learning Management System for a school ● A number of fundamental concepts ● Student ● Course ● Teacher ● In a RESTful design these concepts are likely to  become the 'resources' managed by the LMS    
  • 5. The 'Student' Resource State ● Name ● Index number ● Age ● Date of birth ● Contact information ● GPA ● ...    
  • 8. Application State ● Applications have states ● Number of students in the system ● Number of associations between students and  courses ● Number of teachers ● Application state transitions may occur as a  result of a resource state transfer ● Application state can also be represented using  some data format or hyper text references    
  • 9. Representational State Transfer ● Clients and servers interact with each other by  exchanging  ● Resource state representations ● Application state representations ● Other control information    
  • 11. Why HTTP? ● Rich vocabulary and powerful tools that are  ideal for representing resource states,  application states and control data ● Application state – Status code + Links ● Resource state – HTTP entity ● Control data – HTTP method ● CRUD operations map nicely into HTTP  methods    
  • 13. Advantages ● Simple and lightweight ● Easy to implement ● Very little processing at the application level ● Small amount of data to pass around ● Support any content type ● Leverage built­in application layer protocol  semantics without reinventing the wheel    
  • 14. Notable Deployments ● Amazon AWS (Over 90% of the clients are  using the RESTful API) ● Google Maps ● Yahoo! ● eBay ● Sastry Malladi on service orientation ­  http://www.youtube.com/watch?v=O­9osZGXDok    
  • 15. WSO2 ESB ● A lightweight, high­performance ESB ● Feature rich and standards compliant ● SOAP and WS­* standards ● REST support ● Variety of protocols and message formats ● User friendly and highly extensible ● 100% free and open source with commercial  support    
  • 16. Under the Hood ● WSO2 ESB is based on a number of well  known Apache projects ● Synapse ­ http://synapse.apache.org ● Axis2­ http://axis.apache.org/axis2/java/core ● Web Services ­ http://ws.apache.org ● REST support of WSO2 ESB stems from the  REST support offered by Axis2    
  • 17. REST Support in Axis2 ● Axis2 provides a REST binding for each  deployed web service ● This enables clients to invoke any Axis2 service  via REST calls ● GET /services/HelloService/sayHello ● GET /services/MathService/add?a=5&b=10    
  • 18. REST Support in WSO2 ESB ● WSO2 ESB can receive and mediate REST  calls just like any other request ● The same mediators that work with SOAP can  be used to manipulate REST invocations ● Log, Send, Filter, Switch, XSLT, DBLookup.... ● Additional handles provided by the ESB in the  form of properties ● Easily switch between SOAP and REST    
  • 23. Exercising More Control Over REST ● Manipulate REST calls based on ● HTTP method ● Status code ● Content type ● HTTP headers    
  • 30. REST APIs ● An API is similar to a web application hosted on  the ESB ● Anchored at a specific URL path (context) ● /test ● /dictionary ● /foo/bar ● Can be bound to a specific host and a port ● Contains one or more resources    
  • 31. Resources ● A RESTful resource exposed over HTTP ● Similar to a proxy service but focuses on REST ● Can be associated with ● A set of HTTP methods – GET only, GET and POST only, All HTTP methods ● A specific content type – application/xml, application/json ● A particular class of clients (user agents)    
  • 32. Dispatching Requests to a Resource ● URL patterns ● Reg­Ex match (/test/*) ● Extension match (*.jsp) ● Exact match (/test/index.jsp) ● URI templates ● /dictionary/{character}/{word} ● /accounts/{accountId}/{operation}    
  • 37. API Management Goals ● Service provider objectives ● Define APIs ● Define security requirements and SLAs ● Monitor API usage and SLAs ● Service consumer objectives ● Discover and browse APIs ● Sign up and obtain API keys ● Consume APIs using the obtained keys ● Monitor API usage and SLAs    
  • 40. Summary and Recap ● REST is a lightweight, client­server architecture for building  distributed systems ● RESTful designs are concerned with resources, states and  transfer of representational state between systems ● WSO2 ESB provides excellent support for receiving, processing  and intermediating REST (HTTP) calls ● The new API concept is a powerful feature which allows  developers to define REST APIs in the ESB without writing any  additional code ● WSO2 platform is ideally suited for developing comprehensive and  flexible API management solutions based on open standards    
  • 43. WSO2 Engagement Model ● Quick Start ● Development Support ● Development Services ● Production Support ● Turnkey Solutions ● WSO2 Mobile Services Solution ● WSO2 FIX Gateway Solution ● WSO2 SAP Gateway Solution