SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
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




         

Mais conteúdo relacionado

Mais procurados

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
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB
WSO2
 
Restful Integration with WSO2 ESB
Restful Integration with WSO2 ESB Restful Integration with WSO2 ESB
Restful Integration with WSO2 ESB
WSO2
 
An Introduction to the WSO2 API Manager
An Introduction to the WSO2 API Manager An Introduction to the WSO2 API Manager
An Introduction to the WSO2 API Manager
WSO2
 

Mais procurados (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
 
Working with Dynamic Content and Adding Templating engines, MVC
Working with Dynamic Content and Adding Templating engines, MVCWorking with Dynamic Content and Adding Templating engines, MVC
Working with Dynamic Content and Adding Templating engines, MVC
 
Angular 2
Angular 2Angular 2
Angular 2
 
How to build a chat application with react js, nodejs, and socket.io
How to build a chat application with react js, nodejs, and socket.ioHow to build a chat application with react js, nodejs, and socket.io
How to build a chat application with react js, nodejs, and socket.io
 
WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview WSO2 API Manager 2.0 - Overview
WSO2 API Manager 2.0 - Overview
 
Wso2 tutorial
Wso2 tutorialWso2 tutorial
Wso2 tutorial
 
Mongoose getting started-Mongo Db with Node js
Mongoose getting started-Mongo Db with Node jsMongoose getting started-Mongo Db with Node js
Mongoose getting started-Mongo Db with Node js
 
Introducing Swagger
Introducing SwaggerIntroducing Swagger
Introducing Swagger
 
ASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with OverviewASP.NET Core MVC + Web API with Overview
ASP.NET Core MVC + Web API with Overview
 
WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101
 
Asp.net MVC training session
Asp.net MVC training sessionAsp.net MVC training session
Asp.net MVC training session
 
Real Time Communication using Node.js and Socket.io
Real Time Communication using Node.js and Socket.ioReal Time Communication using Node.js and Socket.io
Real Time Communication using Node.js and Socket.io
 
Introduction to WSO2 ESB
Introduction to WSO2 ESB Introduction to WSO2 ESB
Introduction to WSO2 ESB
 
Restful Integration with WSO2 ESB
Restful Integration with WSO2 ESB Restful Integration with WSO2 ESB
Restful Integration with WSO2 ESB
 
Introduction to AWS IoT
Introduction to AWS IoTIntroduction to AWS IoT
Introduction to AWS IoT
 
An Introduction to the WSO2 API Manager
An Introduction to the WSO2 API Manager An Introduction to the WSO2 API Manager
An Introduction to the WSO2 API Manager
 
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
CSV and JSON Transformation in WSO2 Micro Integrator 4.0 - WSO2 APIM Communit...
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product Overview
 
Angular PWA
Angular PWAAngular PWA
Angular PWA
 
Sample Template for Single Sign-On (SSO)
Sample Template for Single Sign-On (SSO)Sample Template for Single Sign-On (SSO)
Sample Template for Single Sign-On (SSO)
 

Destaque

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
 

Destaque (7)

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
 
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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de WSO2

Mais 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...
 

Último

+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@
 

Último (20)

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
 
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...
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
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
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+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...
 

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