SlideShare a Scribd company logo
REST Introduction
KUMAR GAURAV
K10GAURAV@GMAIL.COM
Agenda
 REST Concept
 REST Constrains
 REST Data Elements
 REST V.S. SOAP
 REST V.S. SOA
 How to be RESTful
 Q&A
REST Concept
REST is
 Representational State Transfer between Resourcebetween Resource
 A style of software architecture
 A Virtual state-machine
A network of web pages (a virtual state-machine),
where the user progresses through an application by selecting links (state
transitions), resulting in the next page (representing the next state of the
application) being transferred to the user and rendered for their use.
• Client-Server
• Separation principle
• Components Independent
• Stateless
• Session state on the client
• Visibility, reliability and scalability
• Trade off (network performance, etc.)
• Cacheable
• A response can be cacheable
• Efficiency but reduce reliability
• Layered system
• System scalability
• Code on demand (optional)
• Extension after deployment
• Uniform Interface
• Simple
REST Constraints
• Resources and Resource Identifiers
• Uniform Interface (GET, PUT, POST, DELETE)
• Resource Oriented
• Simple and simple is beautiful
REST Data Elements
HTTP Method CRUD Desc.
POST CREATE Create -
GET RETRIEVE Retrieve Safe,Idempotent,Cacheable
PUT UPDATE Update Idempotent
DELETE DELETE Delete Idempotent
Representations
• HTML / XML / images / sounds / …
REST Data Elements
SOAP
• Simple Object Access Protocol
• RPC protocol that go through firewalls
• Communication protocol between applications
• A format for sending messages
REST V.S. SOAP
REST
•“The Web is the universe of globally accessible information”
• Resource oriented
• User-driven interactions via forms
• Few operations (generic interface) on many resources
• URI: Consistent naming mechanism for resources
• Focus on scalability and performance of large scale distributed
hypermedia systems
SOAP
•“The Web is the universal transport for messages”
• Activity/Service oriented
• Orchestrated reliable event flows
• Many operations (service interface) on few resources
• Lack of standard naming mechanism
• Focus on design of integrated (distributed) applications
REST V.S. SOAP
Two of most common styles of use of Web Services
•Service-oriented architecture
• “Message oriented” (SOAP)
• Contract provided by WSDL
•REST
• Focus on interacting with stateful resources, rather than
messages or operations.
REST V.S. SOA
REST V.S. SOA
Correlation
• REST is an architectural style that inherently helps to attain some
of the basic SOA principles.
SOA principles
•Standardized Service Contracts
•Service Loose Coupling
•Service Abstraction
•Service Reusability
•Service Autonomy
•Service Statelessness
•Service Discoverability
•Service Composability
REST principles
•Unique identifiability of the
resources through URIs
•Uniform interface to access the
resources
•Navigability of the resource
representations through
hypermedia
•Statelessness
Thank you!
REST Introduction

More Related Content

What's hot

Understanding SOAP and REST basics and differences
Understanding SOAP and REST basics and differencesUnderstanding SOAP and REST basics and differences
Understanding SOAP and REST basics and differencesBhavendra Chavan
 
Web Services and OGSA
Web Services and OGSAWeb Services and OGSA
Web Services and OGSA
Tal Lavian Ph.D.
 
Web services
Web services Web services
Web services
UMA MAHESWARI
 
Group meeting may 16 2013
Group meeting   may 16 2013Group meeting   may 16 2013
Group meeting may 16 2013jalle6
 
Intro to FileCatalyst Direct v3.7
Intro to FileCatalyst Direct v3.7Intro to FileCatalyst Direct v3.7
Intro to FileCatalyst Direct v3.7
FileCatalyst
 
Webservices divya 1
Webservices divya 1Webservices divya 1
Webservices divya 1
rajamandava4
 
Webservices divya
Webservices divyaWebservices divya
Webservices divya
rajamandava4
 
Web services
Web servicesWeb services
Web services
Ankit Anand
 
Introduction to web services
Introduction to web servicesIntroduction to web services
Introduction to web services
Nitin Kumar Yadav
 
Mobile Web Network
Mobile Web NetworkMobile Web Network
Mobile Web Networkchenjennan
 
Proxy server
Proxy serverProxy server
Proxy server
Dlovan Salih
 
Soa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web servicesSoa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web services
Vaibhav Khanna
 
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
PET Computação
 
Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8
Woodruff Solutions LLC
 
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013Woodruff Solutions LLC
 
Azure Bootcamp Louisville - Service bus
Azure Bootcamp Louisville - Service busAzure Bootcamp Louisville - Service bus
Azure Bootcamp Louisville - Service busAndrea Walker
 
Introduction to the Globus SaaS (GlobusWorld Tour - STFC)
Introduction to the Globus SaaS (GlobusWorld Tour - STFC)Introduction to the Globus SaaS (GlobusWorld Tour - STFC)
Introduction to the Globus SaaS (GlobusWorld Tour - STFC)
Globus
 
Rest webservice ppt
Rest webservice pptRest webservice ppt
Rest webservice ppt
sinhatanay
 
Service-Oriented Architecture
Service-Oriented ArchitectureService-Oriented Architecture
Service-Oriented Architecture
Samantha Geitz
 

What's hot (20)

Understanding SOAP and REST basics and differences
Understanding SOAP and REST basics and differencesUnderstanding SOAP and REST basics and differences
Understanding SOAP and REST basics and differences
 
Web Services and OGSA
Web Services and OGSAWeb Services and OGSA
Web Services and OGSA
 
Web services
Web services Web services
Web services
 
ReSTfulAPIs
ReSTfulAPIsReSTfulAPIs
ReSTfulAPIs
 
Group meeting may 16 2013
Group meeting   may 16 2013Group meeting   may 16 2013
Group meeting may 16 2013
 
Intro to FileCatalyst Direct v3.7
Intro to FileCatalyst Direct v3.7Intro to FileCatalyst Direct v3.7
Intro to FileCatalyst Direct v3.7
 
Webservices divya 1
Webservices divya 1Webservices divya 1
Webservices divya 1
 
Webservices divya
Webservices divyaWebservices divya
Webservices divya
 
Web services
Web servicesWeb services
Web services
 
Introduction to web services
Introduction to web servicesIntroduction to web services
Introduction to web services
 
Mobile Web Network
Mobile Web NetworkMobile Web Network
Mobile Web Network
 
Proxy server
Proxy serverProxy server
Proxy server
 
Soa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web servicesSoa 12 jax ws-xml Java API for web services
Soa 12 jax ws-xml Java API for web services
 
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
 
Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8Connecting to Data from Windows Phone 8
Connecting to Data from Windows Phone 8
 
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
Connecting to Data from Windows Phone 8 VSLive! Redmond 2013
 
Azure Bootcamp Louisville - Service bus
Azure Bootcamp Louisville - Service busAzure Bootcamp Louisville - Service bus
Azure Bootcamp Louisville - Service bus
 
Introduction to the Globus SaaS (GlobusWorld Tour - STFC)
Introduction to the Globus SaaS (GlobusWorld Tour - STFC)Introduction to the Globus SaaS (GlobusWorld Tour - STFC)
Introduction to the Globus SaaS (GlobusWorld Tour - STFC)
 
Rest webservice ppt
Rest webservice pptRest webservice ppt
Rest webservice ppt
 
Service-Oriented Architecture
Service-Oriented ArchitectureService-Oriented Architecture
Service-Oriented Architecture
 

Viewers also liked

Media institutions
Media institutions Media institutions
Media institutions
Jordz99
 
Presentations tips
Presentations tipsPresentations tips
Presentations tipsrioulrich
 
Y tú que haces estudias o aprehendes
Y tú que haces estudias o aprehendesY tú que haces estudias o aprehendes
Y tú que haces estudias o aprehendesenfermeriamisahuamam
 
Exceptions in java
Exceptions in javaExceptions in java
Exceptions in java
Manav Prasad
 
Sistemas operativos emilio
Sistemas operativos emilioSistemas operativos emilio
Sistemas operativos emilio
EmilioJoseRodriguezCanete
 
Sci fi film plan
Sci fi film planSci fi film plan
Sci fi film plan
EllieSchool123
 
Swisscom: Smart Homes & Security Risks
Swisscom: Smart Homes & Security RisksSwisscom: Smart Homes & Security Risks
Swisscom: Smart Homes & Security Risks
Lea-María Louzada
 
Inventory Valuation
Inventory ValuationInventory Valuation
Inventory Valuation
richards9696
 
Latihan pdf word
Latihan pdf wordLatihan pdf word
Latihan pdf word
SeptianKuntoro
 
Dergi tasarim dunyasi
Dergi  tasarim dunyasiDergi  tasarim dunyasi
Dergi tasarim dunyasi
Ertan SARIBAYRAKDAROĞLU
 
Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...
Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...
Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...
AWS Germany
 
' Rational Numbers ' - The Maths Quiz with a crappy title :-D
' Rational Numbers ' - The Maths Quiz with a crappy title :-D' Rational Numbers ' - The Maths Quiz with a crappy title :-D
' Rational Numbers ' - The Maths Quiz with a crappy title :-D
Muralikrishnan Padmakumar
 
An Introduction to Voice and SMS in LTE Networks
An Introduction to Voice and SMS in LTE NetworksAn Introduction to Voice and SMS in LTE Networks
An Introduction to Voice and SMS in LTE Networks
eXplanoTech
 
tema 1 los seres vivos 2 eso
 tema 1 los seres vivos 2 eso tema 1 los seres vivos 2 eso
tema 1 los seres vivos 2 eso
N Flores
 
Open Data als Chance für die IT-Branche
Open Data als Chance für die IT-BrancheOpen Data als Chance für die IT-Branche
Open Data als Chance für die IT-Branche
Robert Seyfriedsberger
 
Notbeleuchtung Normenänderungen 2015
Notbeleuchtung Normenänderungen 2015Notbeleuchtung Normenänderungen 2015
Notbeleuchtung Normenänderungen 2015
Lea-María Louzada
 

Viewers also liked (20)

Medio ambiente
Medio ambienteMedio ambiente
Medio ambiente
 
Media institutions
Media institutions Media institutions
Media institutions
 
Presentations tips
Presentations tipsPresentations tips
Presentations tips
 
Y tú que haces estudias o aprehendes
Y tú que haces estudias o aprehendesY tú que haces estudias o aprehendes
Y tú que haces estudias o aprehendes
 
Anish Mondal
Anish MondalAnish Mondal
Anish Mondal
 
Exceptions in java
Exceptions in javaExceptions in java
Exceptions in java
 
Sistemas operativos emilio
Sistemas operativos emilioSistemas operativos emilio
Sistemas operativos emilio
 
Sci fi film plan
Sci fi film planSci fi film plan
Sci fi film plan
 
Swisscom: Smart Homes & Security Risks
Swisscom: Smart Homes & Security RisksSwisscom: Smart Homes & Security Risks
Swisscom: Smart Homes & Security Risks
 
Inventory Valuation
Inventory ValuationInventory Valuation
Inventory Valuation
 
Latihan pdf word
Latihan pdf wordLatihan pdf word
Latihan pdf word
 
Dergi tasarim dunyasi
Dergi  tasarim dunyasiDergi  tasarim dunyasi
Dergi tasarim dunyasi
 
Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...
Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...
Internet der Ingenieure - reale und virtuelle Welten verschmelzen - AWS IoT W...
 
' Rational Numbers ' - The Maths Quiz with a crappy title :-D
' Rational Numbers ' - The Maths Quiz with a crappy title :-D' Rational Numbers ' - The Maths Quiz with a crappy title :-D
' Rational Numbers ' - The Maths Quiz with a crappy title :-D
 
An Introduction to Voice and SMS in LTE Networks
An Introduction to Voice and SMS in LTE NetworksAn Introduction to Voice and SMS in LTE Networks
An Introduction to Voice and SMS in LTE Networks
 
tema 1 los seres vivos 2 eso
 tema 1 los seres vivos 2 eso tema 1 los seres vivos 2 eso
tema 1 los seres vivos 2 eso
 
Webshop Analyse
Webshop Analyse Webshop Analyse
Webshop Analyse
 
Arbeiterbewegung Natur Technik
Arbeiterbewegung Natur TechnikArbeiterbewegung Natur Technik
Arbeiterbewegung Natur Technik
 
Open Data als Chance für die IT-Branche
Open Data als Chance für die IT-BrancheOpen Data als Chance für die IT-Branche
Open Data als Chance für die IT-Branche
 
Notbeleuchtung Normenänderungen 2015
Notbeleuchtung Normenänderungen 2015Notbeleuchtung Normenänderungen 2015
Notbeleuchtung Normenänderungen 2015
 

Similar to Introduction to REST

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
Betclic Everest Group Tech Team
 
REST Introduction.ppt
REST Introduction.pptREST Introduction.ppt
REST Introduction.ppt
KGSCSEPSGCT
 
Web Service Testing By Sheshadri Mishra
Web Service Testing By Sheshadri MishraWeb Service Testing By Sheshadri Mishra
Web Service Testing By Sheshadri Mishra
Sheshadri Mishra
 
Unit 2
Unit 2Unit 2
Unit 2
Ravi Kumar
 
Impact of Restful Web Architecture on Performance and Scalability
Impact of Restful Web Architecture on Performance and ScalabilityImpact of Restful Web Architecture on Performance and Scalability
Impact of Restful Web Architecture on Performance and Scalability
Sanchit Gera
 
Web services for banks
Web services for banksWeb services for banks
Web services for banks
Sreekanth Narendran
 
REST & RESTful Web Services
REST & RESTful Web ServicesREST & RESTful Web Services
REST & RESTful Web Services
Halil Burak Cetinkaya
 
REST - Representational state transfer
REST - Representational state transferREST - Representational state transfer
REST - Representational state transferTricode (part of Dept)
 
RESTful services
RESTful servicesRESTful services
RESTful services
Pedram Bashiri
 
Introduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web ServicesIntroduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web Services
ecosio GmbH
 
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
Pankaj Bajaj
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
Gagandeep Singh
 
unit -4 spring web services like SOA Arch
unit -4 spring web services like SOA Archunit -4 spring web services like SOA Arch
unit -4 spring web services like SOA Arch
sudharani127782
 
Java Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesJava Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web Services
IMC Institute
 
REST & SOAP.pptx
REST & SOAP.pptxREST & SOAP.pptx
REST & SOAP.pptx
ZawLwinTun2
 
Автоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающихАвтоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающих
COMAQA.BY
 
Java Web services
Java Web servicesJava Web services
Java Web servicesSujit Kumar
 

Similar to Introduction to REST (20)

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
 
REST Introduction.ppt
REST Introduction.pptREST Introduction.ppt
REST Introduction.ppt
 
Web Service Testing By Sheshadri Mishra
Web Service Testing By Sheshadri MishraWeb Service Testing By Sheshadri Mishra
Web Service Testing By Sheshadri Mishra
 
Unit 2
Unit 2Unit 2
Unit 2
 
Ntg web services
Ntg   web servicesNtg   web services
Ntg web services
 
Impact of Restful Web Architecture on Performance and Scalability
Impact of Restful Web Architecture on Performance and ScalabilityImpact of Restful Web Architecture on Performance and Scalability
Impact of Restful Web Architecture on Performance and Scalability
 
Web services for banks
Web services for banksWeb services for banks
Web services for banks
 
REST & RESTful Web Services
REST & RESTful Web ServicesREST & RESTful Web Services
REST & RESTful Web Services
 
REST - Representational state transfer
REST - Representational state transferREST - Representational state transfer
REST - Representational state transfer
 
RESTful services
RESTful servicesRESTful services
RESTful services
 
Introduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful Web ServicesIntroduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to SOAP/WSDL Web Services and RESTful 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
 
Introduction to webservices
Introduction to webservicesIntroduction to webservices
Introduction to webservices
 
unit -4 spring web services like SOA Arch
unit -4 spring web services like SOA Archunit -4 spring web services like SOA Arch
unit -4 spring web services like SOA Arch
 
Java Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web ServicesJava Web Services [1/5]: Introduction to Web Services
Java Web Services [1/5]: Introduction to Web Services
 
Wt unit 6 ppts web services
Wt unit 6 ppts web servicesWt unit 6 ppts web services
Wt unit 6 ppts web services
 
REST & SOAP.pptx
REST & SOAP.pptxREST & SOAP.pptx
REST & SOAP.pptx
 
Автоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающихАвтоматизация тестирования API для начинающих
Автоматизация тестирования API для начинающих
 
Lab7 paper
Lab7 paperLab7 paper
Lab7 paper
 
Java Web services
Java Web servicesJava Web services
Java Web services
 

More from kumar gaurav

Need Of Enterprise Integration
Need Of Enterprise IntegrationNeed Of Enterprise Integration
Need Of Enterprise Integration
kumar gaurav
 
Mulesoft file connector
Mulesoft file connectorMulesoft file connector
Mulesoft file connector
kumar gaurav
 
Mulesoft http connector
Mulesoft http connectorMulesoft http connector
Mulesoft http connector
kumar gaurav
 
Reason to connect with Mulesoft
Reason to connect with MulesoftReason to connect with Mulesoft
Reason to connect with Mulesoft
kumar gaurav
 
Mulesoft idempotent Message Filter
Mulesoft idempotent Message FilterMulesoft idempotent Message Filter
Mulesoft idempotent Message Filter
kumar gaurav
 
Mulesoft Using Groovy Component
Mulesoft Using Groovy ComponentMulesoft Using Groovy Component
Mulesoft Using Groovy Component
kumar gaurav
 
Mulesoft vm transport reference
Mulesoft vm transport referenceMulesoft vm transport reference
Mulesoft vm transport reference
kumar gaurav
 
Mulesoft Calling Flow of Other Applications
Mulesoft Calling Flow of Other ApplicationsMulesoft Calling Flow of Other Applications
Mulesoft Calling Flow of Other Applications
kumar gaurav
 
Mulesoft Solutions for Mobile
Mulesoft Solutions for MobileMulesoft Solutions for Mobile
Mulesoft Solutions for Mobile
kumar gaurav
 
Mulesoft Solutions for SOA
Mulesoft Solutions for SOAMulesoft Solutions for SOA
Mulesoft Solutions for SOA
kumar gaurav
 
Mulesoft Solutions for IoT
Mulesoft Solutions for IoTMulesoft Solutions for IoT
Mulesoft Solutions for IoT
kumar gaurav
 
Mulesoft Anypoint platform for APIs
Mulesoft Anypoint platform for APIsMulesoft Anypoint platform for APIs
Mulesoft Anypoint platform for APIs
kumar gaurav
 
Oracle Managed Files Transfer- Key based authentication
Oracle Managed Files Transfer- Key based authenticationOracle Managed Files Transfer- Key based authentication
Oracle Managed Files Transfer- Key based authentication
kumar gaurav
 
Java collections concept
Java collections conceptJava collections concept
Java collections concept
kumar gaurav
 
Struggle that counts
Struggle that countsStruggle that counts
Struggle that counts
kumar gaurav
 
Team Work
Team WorkTeam Work
Team Work
kumar gaurav
 
MySQL index optimization techniques
MySQL index optimization techniquesMySQL index optimization techniques
MySQL index optimization techniques
kumar gaurav
 
Security guidelines for web development
Security guidelines for web developmentSecurity guidelines for web development
Security guidelines for web development
kumar gaurav
 
Java web services
Java web servicesJava web services
Java web services
kumar gaurav
 
Oracle web center suit
Oracle web center suitOracle web center suit
Oracle web center suit
kumar gaurav
 

More from kumar gaurav (20)

Need Of Enterprise Integration
Need Of Enterprise IntegrationNeed Of Enterprise Integration
Need Of Enterprise Integration
 
Mulesoft file connector
Mulesoft file connectorMulesoft file connector
Mulesoft file connector
 
Mulesoft http connector
Mulesoft http connectorMulesoft http connector
Mulesoft http connector
 
Reason to connect with Mulesoft
Reason to connect with MulesoftReason to connect with Mulesoft
Reason to connect with Mulesoft
 
Mulesoft idempotent Message Filter
Mulesoft idempotent Message FilterMulesoft idempotent Message Filter
Mulesoft idempotent Message Filter
 
Mulesoft Using Groovy Component
Mulesoft Using Groovy ComponentMulesoft Using Groovy Component
Mulesoft Using Groovy Component
 
Mulesoft vm transport reference
Mulesoft vm transport referenceMulesoft vm transport reference
Mulesoft vm transport reference
 
Mulesoft Calling Flow of Other Applications
Mulesoft Calling Flow of Other ApplicationsMulesoft Calling Flow of Other Applications
Mulesoft Calling Flow of Other Applications
 
Mulesoft Solutions for Mobile
Mulesoft Solutions for MobileMulesoft Solutions for Mobile
Mulesoft Solutions for Mobile
 
Mulesoft Solutions for SOA
Mulesoft Solutions for SOAMulesoft Solutions for SOA
Mulesoft Solutions for SOA
 
Mulesoft Solutions for IoT
Mulesoft Solutions for IoTMulesoft Solutions for IoT
Mulesoft Solutions for IoT
 
Mulesoft Anypoint platform for APIs
Mulesoft Anypoint platform for APIsMulesoft Anypoint platform for APIs
Mulesoft Anypoint platform for APIs
 
Oracle Managed Files Transfer- Key based authentication
Oracle Managed Files Transfer- Key based authenticationOracle Managed Files Transfer- Key based authentication
Oracle Managed Files Transfer- Key based authentication
 
Java collections concept
Java collections conceptJava collections concept
Java collections concept
 
Struggle that counts
Struggle that countsStruggle that counts
Struggle that counts
 
Team Work
Team WorkTeam Work
Team Work
 
MySQL index optimization techniques
MySQL index optimization techniquesMySQL index optimization techniques
MySQL index optimization techniques
 
Security guidelines for web development
Security guidelines for web developmentSecurity guidelines for web development
Security guidelines for web development
 
Java web services
Java web servicesJava web services
Java web services
 
Oracle web center suit
Oracle web center suitOracle web center suit
Oracle web center suit
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 

Introduction to REST

  • 2. Agenda  REST Concept  REST Constrains  REST Data Elements  REST V.S. SOAP  REST V.S. SOA  How to be RESTful  Q&A
  • 3. REST Concept REST is  Representational State Transfer between Resourcebetween Resource  A style of software architecture  A Virtual state-machine A network of web pages (a virtual state-machine), where the user progresses through an application by selecting links (state transitions), resulting in the next page (representing the next state of the application) being transferred to the user and rendered for their use.
  • 4. • Client-Server • Separation principle • Components Independent • Stateless • Session state on the client • Visibility, reliability and scalability • Trade off (network performance, etc.) • Cacheable • A response can be cacheable • Efficiency but reduce reliability • Layered system • System scalability • Code on demand (optional) • Extension after deployment • Uniform Interface • Simple REST Constraints
  • 5. • Resources and Resource Identifiers • Uniform Interface (GET, PUT, POST, DELETE) • Resource Oriented • Simple and simple is beautiful REST Data Elements HTTP Method CRUD Desc. POST CREATE Create - GET RETRIEVE Retrieve Safe,Idempotent,Cacheable PUT UPDATE Update Idempotent DELETE DELETE Delete Idempotent
  • 6. Representations • HTML / XML / images / sounds / … REST Data Elements
  • 7. SOAP • Simple Object Access Protocol • RPC protocol that go through firewalls • Communication protocol between applications • A format for sending messages REST V.S. SOAP
  • 8. REST •“The Web is the universe of globally accessible information” • Resource oriented • User-driven interactions via forms • Few operations (generic interface) on many resources • URI: Consistent naming mechanism for resources • Focus on scalability and performance of large scale distributed hypermedia systems SOAP •“The Web is the universal transport for messages” • Activity/Service oriented • Orchestrated reliable event flows • Many operations (service interface) on few resources • Lack of standard naming mechanism • Focus on design of integrated (distributed) applications REST V.S. SOAP
  • 9. Two of most common styles of use of Web Services •Service-oriented architecture • “Message oriented” (SOAP) • Contract provided by WSDL •REST • Focus on interacting with stateful resources, rather than messages or operations. REST V.S. SOA
  • 10. REST V.S. SOA Correlation • REST is an architectural style that inherently helps to attain some of the basic SOA principles. SOA principles •Standardized Service Contracts •Service Loose Coupling •Service Abstraction •Service Reusability •Service Autonomy •Service Statelessness •Service Discoverability •Service Composability REST principles •Unique identifiability of the resources through URIs •Uniform interface to access the resources •Navigability of the resource representations through hypermedia •Statelessness

Editor's Notes

  1. The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them. Examples: Client-server model Event-driven architecture Service-oriented architecture Three-tier model For distributed hypermedia systems such as the World Wide Web. Is not limited to the HTTP protocol. RESTful architectures can be based on other Application Layer protocols if they already provide a rich and uniform vocabulary for applications based on the transfer of meaningful representational state. A style is a named set of constraints on architectural elements that induces the set of properties desired of the architecture.
  2. Client-Server Improve the portability of the user interface across multiple platforms Improve scalability by simplifying the server components. supporting the Internet-scale Stateless (to server) Request from client to server must contain all of the information necessary to understand the request, Session state is therefore kept entirely on the client. Induces the properties of visibility, reliability, and scalability. Visibility is improved because a monitoring system does not have to look beyond a single request datum in order to determine the full nature of the request. Reliability is improved because it eases the task of recovering from partial failures. Scalability is improved because not having to store state between requests allows the server component to quickly free resources, and further simplifies implementation because the server doesn't have to manage resource usage across requests. Cacheable A response to a request be implicitly or explicitly labeled as cacheable or non-cacheable. The advantage of adding cache constraints is that they have the potential to partially or completely eliminate some interactions, improving efficiency, scalability, and user-perceived performance by reducing the average latency of a series of interactions. The trade-off, however, is that a cache can decrease reliability if stale data within the cache differs significantly from the data that would have been obtained had the request been sent directly to the server. Code on Demand REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts. This simplifies clients by reducing the number of features required to be pre-implemented. Allowing features to be downloaded after deployment improves system extensibility. However, it also reduces visibility, and thus is only an optional constraint within REST. Layered The layered system style allows an architecture to be composed of hierarchical layers by constraining component behavior such that each component cannot "see" beyond the immediate layer with which they are interacting. Layers can be used to encapsulate legacy services and to protect new services from legacy clients, simplifying components by moving infrequently used functionality to a shared intermediary. Intermediaries can also be used to improve system scalability by enabling load balancing of services across multiple networks and processors.
  3. Each Resource has a URI A "collection of resources" may, in itself, be a whole new resource. E.g. a search result collection. In a system for maintaining an employee contact, each user should have their own URI with an appropriate representation. The collection of all employees is another resource.  Dereferencing the URI: Agents may use a URI to access the referenced resource. safe : no side effect, The word "safe" means that if a given HTTP method is invoked, the resource state on the server remains unchanged The word "idempotent" means that, regardless of how many times a given method is invoked, the end result is the same. GET is always safe. No matter how many times you download this web page, the contents of it will not change due to your repeated downloads, since you cannot change the web page in that way. PUT is not safe, because if you store something on the server, then you are creating a new resource or you are modifying a resource. (Of course, one might modify a resource to contain the same representation, but that is a corner case and not the general rule we apply to PUT.) DELETE is clearly not safe. POST is not safe. However, if POST is used to send an e-mail, then why would it not be considered safe?  GET and HEAD are idempotent.  PUT is also idempotent. If you issue PUT 100 times, the resource state on the server is exactly the same as if you use the PUT method one time. DELETE is also idempotent. If you delete a resource once, it is gone. One cannot delete it again and, if one tried, it would have obviously not make state changes to the resource, since there is no resource to change.
  4. Applications running on different operating systems, with different technologies and programming languages Original RPC can not go through firewalls
  5. - Applications running on different operating systems, with different technologies and programming languages
  6. non-RESTful Web services often complain that they are too complex By contract, non-RESTful Web services easy to define new interfaces for remote interaction, often relying on introspection to extract the WSDL, since a minor change on the server (even an upgrade of the SOAP stack) can result in different WSDL and a different service interface Overlap?? SOA using RESTful Web Services