SlideShare a Scribd company logo
6
Most read
7
Most read
8
Most read
Resource Oriented Architecture
Sep-15-2015
Nuwan Bandara
@nuwanbando
Solutions Architect, WSO2
Software/Computer Systems & Humans
➡ Single most connected artificial entity to
humans at present
➡ Rapidly changing and progressing
➡ Increasingly becoming a ubiquitous
entity to consume information and act
on it
➡ Rules are rapidly changing: Industrial
revolution for the software industry is
yet to happen
Human Interaction
➡ With Humans: People are Identified by a
name and can be associated to a location,
place of work/study, a profession etc.
➡ With objects: People identify objects by a
name and can be associated to a location,
type, use of, owned by etc.
➡ The interaction: Change of state -
“become a friend” or “buy a caramel latte”
The Common Factor
➡ Any kind of an interaction is defined by a simple protocol
➡ You identify something (i.e: name)
➡ You associate it to something to derive meaning (i.e: location)
➡ You change the state (aka interact)
Building A Connected Information System
➡ If interaction is the key thing in any system
➡ We need to define the entities, their associations and interactions
➡ In an HR system employee is an entity, “department”, “salary”,
“bio” are descriptors or associations to that entity
➡ In an abstract sense we interact with a resource based ecosystem
➡ Every entity and a descriptor can be represented as a resource
Resource Orientation Is Not A Leapfrog
➡ Object Oriented Architecture
‣ Every entity is defined as an object
‣ Objects have attributes and actions
‣ Objects have a state
➡ Service Oriented Architecture
‣ Entities are services
‣ Service has a description and a contract
‣ Interacts over the network with a defined location (address)
Resource Oriented Architecture (ROA)
➡ The rest of “REST”
➡ Foundations of the Semantic Web
➡ Building a ubiquitous computing ecosystem
➡ Describing a system as a self discoverable entity
➡ Modeling a system based on its logical form (as oppose to the
technical form)
ROA Fundamentals
➡ Uses Representational State Transfer (REST) as the primary design
pattern
➡ Data is independent of the server and the client - The server
implementation can change over time and there can be many
clients.
➡ Loose coupling is one of the objectives of the architecture
➡ “State” is treated as actions performed against the resource
URLs Are The Identifiers Of Resources
➡ Resources are uniquely identifiable
‣ Uniform Resource Name (URN) is a good example
of a uniquely identifiable resource name
‣ ISBN is a classic example
➡ URN alone cannot identify a resource, there needs
to be a discovery mechanism
urn:isbn:9780345376596
https://library.org/books/9780345376596
http://wso2.com/customer/fin23324
or
How A URL Should Look Like In ROA
➡ Has to be a logical representation of the resource
‣ The only requirement: A resource identifier has to be an indefinite
constant
From following patterns which creates an indefinite constant ?
http://wso2.com/customer.jsp?id=fin233245
http://wso2.com/customer/v1/fin233245
http://wso2.com/customer/fin233245
Lets Examine
➡ {.jsp} is implantation detail
➡ Implementations change over time
http://wso2.com/customer.jsp?id=fin233245
http://wso2.com/customer/v1/fin233245
➡ {v1} is a contractual detail
➡ The resource format (structure) should not define the resource identifier
➡ However the version is an important detail, hence
http://wso2.com/customer/fin233245?version:v1
Identifier Information & Meta Information
➡ URL parameters as meta information
➡ Meta information do not identify the resource but add more
context/flexibility for the consumer
http://wso2.com/customer/fin233245?version:v1
http://wso2.com/report/sales/2009/qtr/3?sort=ascending
Freedom Of Form
➡ The format of the resource can be of many forms
http://wso2.com/customer/fin233245/book.xml
http://wso2.com/customer/fin233245/book.json
http://wso2.com/customer/fin233245/book.html
http://wso2.com/customer/fin233245
Accept: application/json
curl -H "Accept: application/json" -O http://wso2.com/customer/fin233245
vs
Late Binding
➡ Named references (aka “Pointers” in ROA)
‣ Actual resource is not retrieved unless its explicitly asked for
‣ A reference to the resource is passed in an orchestration
curl -H "Accept: application/json" -O http://wso2.com/customers
[“http://wso2.com/customer/fin233245”, “http://wso2.com/customer/ecom233246”]
➡ This methodology allows a system built with ROA enforce granular
level of entitlement
Loosely Coupled & Logically Connected
➡ Resources are identified by it’s logical meaning - URL construction (ROA
101)
‣ Independent of the server implementation - Greater flexibility for change
‣ Clients are intact - Clients are wired to the resource
➡ Following Postel's Law - Be strict in what you provide (Resource identifier,
data formats etc) but be flexible when receiving (different clients should be
able to send data in different formats)
Hypermedia As The Engine Of Application State
(HATEOAS)
➡ Client does not have any meaningful idea about the data sent by the
server
➡ Client can only render it
➡ Client interact with the server only via hypermedia
➡ No prior contract, client will discover possible actions by understating
the resource representation sent by the server
➡ The resource representation is state-full and sent across the hypermedia
Understanding HATEOAS
➡ Listing a book in the library
GET /book/9780345376596 HTTP/1.1
Host: library.org
Accept: application/json
..
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: …
{
"name": "the pale blue dot",
"ISBN": "9780345376596",
"author": "carl sagan",
"borrow": "http://library.org/book/9780345376596/borrow"
}
GET /book/9780345376596 HTTP/1.1
Host: library.org
Accept: application/json
..
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: …
{
"name": "the pale blue dot",
"ISBN": "9780345376596",
"author": "carl sagan",
"return": "http://library.org/book/9780345376596/return"
}
➡ Listing a book after its been
borrowed
Semantic Web & ROA
➡ Defines a structured relationship of resources (over the web)
➡ Defines the means of querying an exact resource vs arbitrary
discovery
➡ Identifies resources as edges and nodes
‣ An edge represent a data element
‣ A node describe more nodes & edges
Micro-Services & ROA
➡ “Micro-Services Architecture” is properly Implements SOA
➡ Micro Services complements ROA
➡ Micro service in essence is a service with the right level of granularity
performing a specific business task
➡ In a high level a “micro service” is the implementation of a resource with its
contextual details
‣ The library example: The book is a resource in the library, you can borrow
and return a book and that encapsulate the logical book in a library which
can be implemented as a micro service
References
➡ http://www.infoq.com/articles/roa-rest-of-rest#anch50927
➡ https://www.ics.uci.edu/~fielding/pubs/dissertation/
rest_arch_style.htm#sec_5_1
➡ https://www.ics.uci.edu/~fielding/pubs/dissertation/
rest_arch_style.htm#sec_5_2
➡ http://www.w3.org/standards/semanticweb/
Image References
➡ https://www.bestthinking.com/articles/computers_and_technology/
software/software_architecture/designed-for-humans
➡ http://www.socialsongbird.com/2014/08/social-media-and-human-
interaction.html
➡ https://jlmhenson20xs.wordpress.com/2013/10/22/a-great-
interaction/
➡ http://theviewinside.me/if-you-want-peace-of-mind-defeat-your-
past-by-climbing-your-own-mount-everest/

More Related Content

ODP
Resource Oriented Architecture
PDF
SQOOP PPT
PPTX
Hadoop Tutorial For Beginners
PDF
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
PPTX
Hadoop File system (HDFS)
PDF
Introduction to apache spark
PDF
Introduction to Azure Data Lake
PPTX
Distributed Shared Memory
Resource Oriented Architecture
SQOOP PPT
Hadoop Tutorial For Beginners
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
Hadoop File system (HDFS)
Introduction to apache spark
Introduction to Azure Data Lake
Distributed Shared Memory

What's hot (20)

PDF
PDF
Introduction to Spark Streaming
PPT
AI Lecture 3 (solving problems by searching)
PPTX
Introduction to Pig
PPTX
Troubleshooting Kerberos in Hadoop: Taming the Beast
PDF
Apache Kafka Architecture & Fundamentals Explained
ODP
Presto
PDF
Architect’s Open-Source Guide for a Data Mesh Architecture
PDF
Découverte de Elastic search
PDF
Apache Iceberg - A Table Format for Hige Analytic Datasets
PPTX
Hadoop Architecture
PPTX
Introduction to microservices
PPTX
Replication in Distributed Systems
PDF
Basic communication operations - One to all Broadcast
PDF
Chapter 6 network security
PPT
Data mining-primitives-languages-and-system-architectures2641
PDF
Elk - An introduction
PDF
NoSQL databases
PDF
CS8080 INFORMATION RETRIEVAL TECHNIQUES - IRT - UNIT - I PPT IN PDF
PPT
Synchronization in distributed systems
Introduction to Spark Streaming
AI Lecture 3 (solving problems by searching)
Introduction to Pig
Troubleshooting Kerberos in Hadoop: Taming the Beast
Apache Kafka Architecture & Fundamentals Explained
Presto
Architect’s Open-Source Guide for a Data Mesh Architecture
Découverte de Elastic search
Apache Iceberg - A Table Format for Hige Analytic Datasets
Hadoop Architecture
Introduction to microservices
Replication in Distributed Systems
Basic communication operations - One to all Broadcast
Chapter 6 network security
Data mining-primitives-languages-and-system-architectures2641
Elk - An introduction
NoSQL databases
CS8080 INFORMATION RETRIEVAL TECHNIQUES - IRT - UNIT - I PPT IN PDF
Synchronization in distributed systems
Ad

Similar to Resource-Oriented Architecture (ROA) (20)

PDF
Events and microservices
PPTX
Events & Microservices
PPT
Design And Implementation Of Web Service Testing Framework Mit Template
PPTX
Web of things introduction
PPTX
Introduction To REST
PPTX
Towards Interoperability between W3C Web of Things and NGSI-LD
PPTX
REST: So What's It All About? (SAP TechEd 2011, MOB107)
PDF
OrientDB Intro & HTTP REST API Tutorial
PDF
Pattern Driven Enterprise Architecture
PDF
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program
PDF
Events on the outside, on the inside and at the core - Chris Richardson
PDF
Events on the outside, on the inside and at the core (jaxlondon)
PDF
One Ontology, One Data Set, Multiple Shapes with SHACL
PPT
Persistently identifying website content
PDF
Introduction to Linked Data and Web Payments
PPT
REST vs WS-*: Myths Facts and Lies
PDF
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
PDF
JSON-LD and NGSI-LD
PDF
FIWARE Training: JSON-LD and NGSI-LD
PPT
Modified REST Presentation
Events and microservices
Events & Microservices
Design And Implementation Of Web Service Testing Framework Mit Template
Web of things introduction
Introduction To REST
Towards Interoperability between W3C Web of Things and NGSI-LD
REST: So What's It All About? (SAP TechEd 2011, MOB107)
OrientDB Intro & HTTP REST API Tutorial
Pattern Driven Enterprise Architecture
Session 2 - NGSI-LD primer & Smart Data Models | Train the Trainers Program
Events on the outside, on the inside and at the core - Chris Richardson
Events on the outside, on the inside and at the core (jaxlondon)
One Ontology, One Data Set, Multiple Shapes with SHACL
Persistently identifying website content
Introduction to Linked Data and Web Payments
REST vs WS-*: Myths Facts and Lies
FIWARE Global Summit - The Way Towards Interoperability between Web Of Things...
JSON-LD and NGSI-LD
FIWARE Training: JSON-LD and NGSI-LD
Modified REST Presentation
Ad

More from WSO2 (20)

PDF
Demystifying CMS-0057-F - Compliance Made Seamless with WSO2
PDF
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
PDF
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
PDF
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
PDF
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
PDF
Platformless Modernization with Choreo.pdf
PDF
Application Modernization with Choreo for the BFSI Sector
PDF
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
PDF
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
PPTX
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
PPTX
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
PPTX
WSO2Con 2025 - Building Secure Customer Experience Apps
PPTX
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
PPTX
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
PPTX
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
PPTX
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
PPTX
WSO2Con 2025 - Architecting Cloud-Native Applications
PDF
Mastering Intelligent Digital Experiences with Platformless Modernization
PDF
Accelerate Enterprise Software Engineering with Platformless
PDF
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
Demystifying CMS-0057-F - Compliance Made Seamless with WSO2
Quantum Threats Are Closer Than You Think – Act Now to Stay Secure
Modern Platform Engineering with Choreo - The AI-Native Internal Developer Pl...
Application Modernization with Choreo - The AI-Native Internal Developer Plat...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Platformless Modernization with Choreo.pdf
Application Modernization with Choreo for the BFSI Sector
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - Architecting Cloud-Native Applications
Mastering Intelligent Digital Experiences with Platformless Modernization
Accelerate Enterprise Software Engineering with Platformless
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
cuic standard and advanced reporting.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Machine learning based COVID-19 study performance prediction
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Spectral efficient network and resource selection model in 5G networks
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Encapsulation_ Review paper, used for researhc scholars
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Understanding_Digital_Forensics_Presentation.pptx
Encapsulation theory and applications.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Review of recent advances in non-invasive hemoglobin estimation
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
MYSQL Presentation for SQL database connectivity
cuic standard and advanced reporting.pdf
Digital-Transformation-Roadmap-for-Companies.pptx

Resource-Oriented Architecture (ROA)

  • 1. Resource Oriented Architecture Sep-15-2015 Nuwan Bandara @nuwanbando Solutions Architect, WSO2
  • 2. Software/Computer Systems & Humans ➡ Single most connected artificial entity to humans at present ➡ Rapidly changing and progressing ➡ Increasingly becoming a ubiquitous entity to consume information and act on it ➡ Rules are rapidly changing: Industrial revolution for the software industry is yet to happen
  • 3. Human Interaction ➡ With Humans: People are Identified by a name and can be associated to a location, place of work/study, a profession etc. ➡ With objects: People identify objects by a name and can be associated to a location, type, use of, owned by etc. ➡ The interaction: Change of state - “become a friend” or “buy a caramel latte”
  • 4. The Common Factor ➡ Any kind of an interaction is defined by a simple protocol ➡ You identify something (i.e: name) ➡ You associate it to something to derive meaning (i.e: location) ➡ You change the state (aka interact)
  • 5. Building A Connected Information System ➡ If interaction is the key thing in any system ➡ We need to define the entities, their associations and interactions ➡ In an HR system employee is an entity, “department”, “salary”, “bio” are descriptors or associations to that entity ➡ In an abstract sense we interact with a resource based ecosystem ➡ Every entity and a descriptor can be represented as a resource
  • 6. Resource Orientation Is Not A Leapfrog ➡ Object Oriented Architecture ‣ Every entity is defined as an object ‣ Objects have attributes and actions ‣ Objects have a state ➡ Service Oriented Architecture ‣ Entities are services ‣ Service has a description and a contract ‣ Interacts over the network with a defined location (address)
  • 7. Resource Oriented Architecture (ROA) ➡ The rest of “REST” ➡ Foundations of the Semantic Web ➡ Building a ubiquitous computing ecosystem ➡ Describing a system as a self discoverable entity ➡ Modeling a system based on its logical form (as oppose to the technical form)
  • 8. ROA Fundamentals ➡ Uses Representational State Transfer (REST) as the primary design pattern ➡ Data is independent of the server and the client - The server implementation can change over time and there can be many clients. ➡ Loose coupling is one of the objectives of the architecture ➡ “State” is treated as actions performed against the resource
  • 9. URLs Are The Identifiers Of Resources ➡ Resources are uniquely identifiable ‣ Uniform Resource Name (URN) is a good example of a uniquely identifiable resource name ‣ ISBN is a classic example ➡ URN alone cannot identify a resource, there needs to be a discovery mechanism urn:isbn:9780345376596 https://library.org/books/9780345376596 http://wso2.com/customer/fin23324 or
  • 10. How A URL Should Look Like In ROA ➡ Has to be a logical representation of the resource ‣ The only requirement: A resource identifier has to be an indefinite constant From following patterns which creates an indefinite constant ? http://wso2.com/customer.jsp?id=fin233245 http://wso2.com/customer/v1/fin233245 http://wso2.com/customer/fin233245
  • 11. Lets Examine ➡ {.jsp} is implantation detail ➡ Implementations change over time http://wso2.com/customer.jsp?id=fin233245 http://wso2.com/customer/v1/fin233245 ➡ {v1} is a contractual detail ➡ The resource format (structure) should not define the resource identifier ➡ However the version is an important detail, hence http://wso2.com/customer/fin233245?version:v1
  • 12. Identifier Information & Meta Information ➡ URL parameters as meta information ➡ Meta information do not identify the resource but add more context/flexibility for the consumer http://wso2.com/customer/fin233245?version:v1 http://wso2.com/report/sales/2009/qtr/3?sort=ascending
  • 13. Freedom Of Form ➡ The format of the resource can be of many forms http://wso2.com/customer/fin233245/book.xml http://wso2.com/customer/fin233245/book.json http://wso2.com/customer/fin233245/book.html http://wso2.com/customer/fin233245 Accept: application/json curl -H "Accept: application/json" -O http://wso2.com/customer/fin233245 vs
  • 14. Late Binding ➡ Named references (aka “Pointers” in ROA) ‣ Actual resource is not retrieved unless its explicitly asked for ‣ A reference to the resource is passed in an orchestration curl -H "Accept: application/json" -O http://wso2.com/customers [“http://wso2.com/customer/fin233245”, “http://wso2.com/customer/ecom233246”] ➡ This methodology allows a system built with ROA enforce granular level of entitlement
  • 15. Loosely Coupled & Logically Connected ➡ Resources are identified by it’s logical meaning - URL construction (ROA 101) ‣ Independent of the server implementation - Greater flexibility for change ‣ Clients are intact - Clients are wired to the resource ➡ Following Postel's Law - Be strict in what you provide (Resource identifier, data formats etc) but be flexible when receiving (different clients should be able to send data in different formats)
  • 16. Hypermedia As The Engine Of Application State (HATEOAS) ➡ Client does not have any meaningful idea about the data sent by the server ➡ Client can only render it ➡ Client interact with the server only via hypermedia ➡ No prior contract, client will discover possible actions by understating the resource representation sent by the server ➡ The resource representation is state-full and sent across the hypermedia
  • 17. Understanding HATEOAS ➡ Listing a book in the library GET /book/9780345376596 HTTP/1.1 Host: library.org Accept: application/json .. HTTP/1.1 200 OK Content-Type: application/json Content-Length: … { "name": "the pale blue dot", "ISBN": "9780345376596", "author": "carl sagan", "borrow": "http://library.org/book/9780345376596/borrow" } GET /book/9780345376596 HTTP/1.1 Host: library.org Accept: application/json .. HTTP/1.1 200 OK Content-Type: application/json Content-Length: … { "name": "the pale blue dot", "ISBN": "9780345376596", "author": "carl sagan", "return": "http://library.org/book/9780345376596/return" } ➡ Listing a book after its been borrowed
  • 18. Semantic Web & ROA ➡ Defines a structured relationship of resources (over the web) ➡ Defines the means of querying an exact resource vs arbitrary discovery ➡ Identifies resources as edges and nodes ‣ An edge represent a data element ‣ A node describe more nodes & edges
  • 19. Micro-Services & ROA ➡ “Micro-Services Architecture” is properly Implements SOA ➡ Micro Services complements ROA ➡ Micro service in essence is a service with the right level of granularity performing a specific business task ➡ In a high level a “micro service” is the implementation of a resource with its contextual details ‣ The library example: The book is a resource in the library, you can borrow and return a book and that encapsulate the logical book in a library which can be implemented as a micro service
  • 20. References ➡ http://www.infoq.com/articles/roa-rest-of-rest#anch50927 ➡ https://www.ics.uci.edu/~fielding/pubs/dissertation/ rest_arch_style.htm#sec_5_1 ➡ https://www.ics.uci.edu/~fielding/pubs/dissertation/ rest_arch_style.htm#sec_5_2 ➡ http://www.w3.org/standards/semanticweb/
  • 21. Image References ➡ https://www.bestthinking.com/articles/computers_and_technology/ software/software_architecture/designed-for-humans ➡ http://www.socialsongbird.com/2014/08/social-media-and-human- interaction.html ➡ https://jlmhenson20xs.wordpress.com/2013/10/22/a-great- interaction/ ➡ http://theviewinside.me/if-you-want-peace-of-mind-defeat-your- past-by-climbing-your-own-mount-everest/