SlideShare a Scribd company logo
1 of 31
and being HAPI
Taking a REST
Chris Davenport
Joomla Production Leadership Team
Architectural Style of the Web
"The World Wide Web has succeeded in large
part because its software architecture has been
designed to meet the needs of an Internet-
scale distributed hypermedia system."
Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures.
Doctoral dissertation, University of California, Irvine, 2000.
Web experiences growing pains
Web standards adjusted
Fielding: Analysis of network-based software
architectures
● Key constraints give rise to desired
properties
● Internet-scale distributed hypermedia
Adjustments/corrections made
● HTTP/1.1 RFC 2616
● Uniform Resource Identifiers RFC 3986
● and others
Web saved! Hurray!
(2008: Google reaches 1 trillion unique URLs)
What is REST?
2000: Fielding's PhD dissertation
● REST (Representational State Transfer)
● Architectural style for building scalable,
distributed, hypermedia applications.
● The architectural style that has been used
to guide the design and development of
the World Wide Web's architecture.
REST constraints
● client-server
● stateless
● cache
● uniform interface
● layered system
● code-on-demand (optional)
The important point is to not unintentionally
violate these constraints.
Client-server
Client and server may be
● developed at different times
● by different people
● evolving at different rates
But they must always have a
Shared Understanding
Resource-based
Resources are identified by URIs:
www.example.com/articles/1234
Note: This might be the same resource at some point in time:
www.example.com/articles/latest-news
Manipulation of resources via
representations
Ceci n'est pas une pipe
Translation: "This is not a pipe"
Self-descriptive messages
There must be enough information in each
message for the recipient to understand it.
Self-contained messages have their limits.
There will always be out-of-band information
needed to understand messages. The problem
is where to draw the line.
Hypermedia constraint
Hypermedia as the engine of application state
● Clients drive application state by
○ following hypermedia links
○ or submitting forms
● Clients should treat URL's as opaque
○ except for URI Templates (RFC 6570)
● Fielding: "Servers must have the freedom to
control their own namespace"
○ Servers can change URIs without breaking clients
What about Joomla?
Shared
code
Site
Admin
Modules
Web
browser
HTML
Server (Joomla)Client
What about Joomla?
Shared
code
Site
Admin
Modules
Web
browser
HTML
Server (Joomla)Client
AJAX
JSON
What about Joomla?
● Mobile (and other) devices
● Internet of Things
● Open data
● Integrating business processes
● Electronic Data Interchange (EDI)
Joomla is an information silo
Components can't easily
communicate with each other
Joomla Hypermedia Services
● Break Joomla components/modules into
smaller "services".
● Services have a uniform interface
○ JInput for input
○ JSON, XML, HAL, etc. for output
● Services communicate using media types
○ application/vnd.joomla.*
○ Additional constraints using schemas/profiles
Joomla Next?
Services
Device
Server
HAL
HAL
HAPI
Server (Joomla)
application/hal+*
Resource representation
_embedded _links
rel href
rel href
rel href
Joomla Next?
Services
Site UI
Admin
UI
Web
browser
HTML
HTML
HAL
HAL
Server (Joomla)
Client
HAPI
Joomla Next?
Services
Site UI
Admin
UI
Web
browser
AJAX
HAL
HTML
HTML
HAL
HAL
Server (Joomla)
Client
HAPI
Joomla Next?
Services
Site UI
Admin
UI
HAL
HAL
Server (Joomla)Client
Web browser
HAPI
Joomla Next?
Services
Device
Server
HAL
HAL
Server (Joomla)
CLI
HAL
Daemon
HAL
HAPI HAPI
Joomla Next?
ServicesUI
Web browser
HTML HAL
Server (Joomla)Client
HAPI
Services
HAL
Another server
HAPI
UI
What's inside a service?
Services
Server (Joomla)
HAPI
C
M
V
RAD/SDK/FoF
CLI
Drupal 8
HAPI
Web Services Working Group
http://docs.joomla.org/Web_Services_Working_Group
● Web Services Specification
○ currently at second draft
● Sample code
○ based on new MVC in Joomla 3.x
○ structure allows it to be retrofitted to any component
without touching existing code
○ articles, weblinks, categories
○ can be browsed with any generic HAL client
application/vnd.joomla.*+hal+*
Resource representation
_embedded _links _meta
rel href
rel href
rel href
Hierarchy of media types
JSON
HAL
vnd.joomla.service
vnd.joomla.list
vnd.joomla.item
XML
Remember: Shared understanding
WSWG Next Steps
http://docs.joomla.org/Web_Services_Working_Group
● Web Services Specification
○ more people to read and comment
● Coding
○ more people to write code for a J3.x implementation
○ client SDK (JavaScript and PHP versions)
● Future
○ more people to work on an architecture for Joomla
beyond the 3.x cycle
Questions?
Play with a demo at
http://demo.davenporttechnology.com/api/hal-browser/browser.html#http://demo.davenporttechnology.com/api
Thank you for listening
Image credits
http://commons.wikimedia.org/wiki/File:Paris_-_Jardin_du_Luxembourg_-_le_soir.JPG License: GNU
FDL
http://en.wikipedia.org/wiki/File:Crying-girl.jpg License: CC-A-SA 2.0
http://www.veezzle.com/photo/1529836/Class-of-2007-USAF-Academy-Graduation-Hat-Hurray-Toss-
Thunderbird-Fly-Over License: CC-A 3.0
http://en.wikiversity.org/wiki/File:Alvano-Sabina-pipe.jpg License: GNU FDL
http://commons.wikimedia.org/wiki/File:Ralls_Texas_Grain_Silos_2010.jpg License: Public domain

More Related Content

What's hot

Web 2 0 Fullfeatures
Web 2 0 FullfeaturesWeb 2 0 Fullfeatures
Web 2 0 Fullfeatures
vsnmurthy
 
Website Designing Services | Web Development Vizag | Web Solutions Visakhapatnam
Website Designing Services | Web Development Vizag | Web Solutions VisakhapatnamWebsite Designing Services | Web Development Vizag | Web Solutions Visakhapatnam
Website Designing Services | Web Development Vizag | Web Solutions Visakhapatnam
Gods Grace Technologies
 
A JBoss Enterprise Middleware Solution to Improving Business Execution
A JBoss Enterprise Middleware Solution to Improving Business ExecutionA JBoss Enterprise Middleware Solution to Improving Business Execution
A JBoss Enterprise Middleware Solution to Improving Business Execution
CITYTECH, Inc.
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slide
Fabio Franzini
 

What's hot (19)

Stc Presentation2010
Stc Presentation2010Stc Presentation2010
Stc Presentation2010
 
Web 2 0 Fullfeatures
Web 2 0 FullfeaturesWeb 2 0 Fullfeatures
Web 2 0 Fullfeatures
 
Web 2 0 Fullfeatures
Web 2 0 FullfeaturesWeb 2 0 Fullfeatures
Web 2 0 Fullfeatures
 
Life ray training
Life ray training Life ray training
Life ray training
 
Website Designing Services | Web Development Vizag | Web Solutions Visakhapatnam
Website Designing Services | Web Development Vizag | Web Solutions VisakhapatnamWebsite Designing Services | Web Development Vizag | Web Solutions Visakhapatnam
Website Designing Services | Web Development Vizag | Web Solutions Visakhapatnam
 
A JBoss Enterprise Middleware Solution to Improving Business Execution
A JBoss Enterprise Middleware Solution to Improving Business ExecutionA JBoss Enterprise Middleware Solution to Improving Business Execution
A JBoss Enterprise Middleware Solution to Improving Business Execution
 
Liferay as solution for legacy applications
Liferay as solution for legacy applicationsLiferay as solution for legacy applications
Liferay as solution for legacy applications
 
Sviluppare app per office
Sviluppare app per officeSviluppare app per office
Sviluppare app per office
 
Flex vs. HTML5 for RIAS
Flex vs. HTML5 for RIASFlex vs. HTML5 for RIAS
Flex vs. HTML5 for RIAS
 
Oracle web center
Oracle web centerOracle web center
Oracle web center
 
Oracle WebCenter Content User Training
Oracle WebCenter Content User Training Oracle WebCenter Content User Training
Oracle WebCenter Content User Training
 
Liferay portal advantages
Liferay portal advantagesLiferay portal advantages
Liferay portal advantages
 
A Case for Grails
A Case for GrailsA Case for Grails
A Case for Grails
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Interactive Mobile Applications in the Enterprise: Are You Ready?
Interactive Mobile Applications in the Enterprise: Are You Ready?Interactive Mobile Applications in the Enterprise: Are You Ready?
Interactive Mobile Applications in the Enterprise: Are You Ready?
 
Liferay portal – moving beyond content management
Liferay portal – moving beyond content managementLiferay portal – moving beyond content management
Liferay portal – moving beyond content management
 
Moved to https://slidr.io/azzazzel/what-is-a-portal
Moved to https://slidr.io/azzazzel/what-is-a-portalMoved to https://slidr.io/azzazzel/what-is-a-portal
Moved to https://slidr.io/azzazzel/what-is-a-portal
 
sMash_for_zOS-users
sMash_for_zOS-userssMash_for_zOS-users
sMash_for_zOS-users
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slide
 

Similar to Taking a REST and being HAPI

WEB-DBMS A quick reference
WEB-DBMS A quick referenceWEB-DBMS A quick reference
WEB-DBMS A quick reference
Marc Dy
 

Similar to Taking a REST and being HAPI (20)

9 10 july2020
9 10 july20209 10 july2020
9 10 july2020
 
Fundamental of-web design-trends-20142
Fundamental of-web design-trends-20142Fundamental of-web design-trends-20142
Fundamental of-web design-trends-20142
 
Angular jS Introduction by Google
Angular jS Introduction by GoogleAngular jS Introduction by Google
Angular jS Introduction by Google
 
Cross platform development - Rhomobile
Cross platform development - RhomobileCross platform development - Rhomobile
Cross platform development - Rhomobile
 
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management SystemBarcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
Barcamp Hong Kong 2014 - Commercial Use of OSS Web Content Management System
 
Web development using html and wordpress
Web development using html and wordpressWeb development using html and wordpress
Web development using html and wordpress
 
WEB-DBMS A quick reference
WEB-DBMS A quick referenceWEB-DBMS A quick reference
WEB-DBMS A quick reference
 
1. web technology basics
1. web technology basics1. web technology basics
1. web technology basics
 
nptl cc video.pptx
nptl cc video.pptxnptl cc video.pptx
nptl cc video.pptx
 
What is the difference between an api and web services
What is the difference between an api and web servicesWhat is the difference between an api and web services
What is the difference between an api and web services
 
Web Landscape - updated in Jan 2016
Web Landscape - updated in Jan 2016Web Landscape - updated in Jan 2016
Web Landscape - updated in Jan 2016
 
Entando datasheet
Entando datasheetEntando datasheet
Entando datasheet
 
Developing with HTML5
Developing with HTML5Developing with HTML5
Developing with HTML5
 
Week2 cloud computing week2
Week2 cloud computing week2Week2 cloud computing week2
Week2 cloud computing week2
 
REST and REST-fulness
REST and REST-fulnessREST and REST-fulness
REST and REST-fulness
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to Microservices
 
01 web 2.0 - more than a pretty face for soa
01   web 2.0 - more than a pretty face for soa01   web 2.0 - more than a pretty face for soa
01 web 2.0 - more than a pretty face for soa
 
Service Oriented Architecture
Service Oriented Architecture Service Oriented Architecture
Service Oriented Architecture
 
POLITEKNIK MALAYSIA
POLITEKNIK MALAYSIAPOLITEKNIK MALAYSIA
POLITEKNIK MALAYSIA
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
 

More from Chris Davenport

More from Chris Davenport (9)

JoomlaDay UK 2016 Presentation
JoomlaDay UK 2016 PresentationJoomlaDay UK 2016 Presentation
JoomlaDay UK 2016 Presentation
 
Leave this to me. I'm British. I know how to queue.
Leave this to me.  I'm British.  I know how to queue.Leave this to me.  I'm British.  I know how to queue.
Leave this to me. I'm British. I know how to queue.
 
JAB2012 Smart Search Presentation
JAB2012 Smart Search PresentationJAB2012 Smart Search Presentation
JAB2012 Smart Search Presentation
 
Template changes for Joomla 1.6
Template changes for Joomla 1.6Template changes for Joomla 1.6
Template changes for Joomla 1.6
 
Joomla PLT Summit Feedback
Joomla PLT Summit FeedbackJoomla PLT Summit Feedback
Joomla PLT Summit Feedback
 
Template tuning for high performance
Template tuning for high performanceTemplate tuning for high performance
Template tuning for high performance
 
Joomla Day UK 2009 Template Design Presentation
Joomla Day UK 2009 Template Design PresentationJoomla Day UK 2009 Template Design Presentation
Joomla Day UK 2009 Template Design Presentation
 
Joomla Day UK 2009 Menus Presentation
Joomla Day UK 2009 Menus PresentationJoomla Day UK 2009 Menus Presentation
Joomla Day UK 2009 Menus Presentation
 
Joomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic TemplatesJoomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic Templates
 

Recently uploaded

+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@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

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
 
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?
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
+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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
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...
 
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
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Taking a REST and being HAPI