SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
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




         

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Simplilearn
 

Was ist angesagt? (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
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing Swagger
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 
Prometheus in openstack-helm
Prometheus in openstack-helmPrometheus in openstack-helm
Prometheus in openstack-helm
 
Monitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheusMonitoring on Kubernetes using prometheus
Monitoring on Kubernetes using prometheus
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
ESB integration for node.js
ESB integration for node.js ESB integration for node.js
ESB integration for node.js
 
Kubernetes #1 intro
Kubernetes #1   introKubernetes #1   intro
Kubernetes #1 intro
 
REST API
REST APIREST API
REST API
 
Top 50 .NET Interview Questions and Answers 2019 | Edureka
Top 50 .NET Interview Questions and Answers 2019 | EdurekaTop 50 .NET Interview Questions and Answers 2019 | Edureka
Top 50 .NET Interview Questions and Answers 2019 | Edureka
 
What is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | EdurekaWhat is REST API? REST API Concepts and Examples | Edureka
What is REST API? REST API Concepts and Examples | Edureka
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product Overview
 
Ansible-cours .pdf
Ansible-cours .pdfAnsible-cours .pdf
Ansible-cours .pdf
 
Azure kubernetes service (aks) part 3
Azure kubernetes service (aks)   part 3Azure kubernetes service (aks)   part 3
Azure kubernetes service (aks) part 3
 
Introduction to laravel framework
Introduction to laravel frameworkIntroduction to laravel framework
Introduction to laravel framework
 
Kubernetes Helm: Why It Matters
Kubernetes Helm: Why It MattersKubernetes Helm: Why It Matters
Kubernetes Helm: Why It Matters
 
API 101 - Understanding APIs
API 101 - Understanding APIsAPI 101 - Understanding APIs
API 101 - Understanding APIs
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von WSO2

Mehr von 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...
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+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@
 

Kürzlich hochgeladen (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
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
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 
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...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
+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...
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

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