SlideShare a Scribd company logo
1 of 40
Download to read offline
REST in AEM
Roy T. Fielding

Senior Principal Scientist, Adobe
REST
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Why talk about REST?
2
What is REST Anyway?
Copyright © 2012, ZapThink, a Dovèl Technologies Company
• Representational State
Transfer (REST) is a style of
software architecture for
distributed hypermedia
systems such as the
World Wide Web
• Roy Fielding
looked at the Web
and saw that it was good
BUZZWORD
Because
has become a
There’s nothing particularly wrong with that…
unless you happen to be me…
or working with me
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Warning
3
Ph.D. Dissertation

© 2015 Adobe Systems Incorporated. All Rights Reserved.
Three (very different) perspectives of the Web
4
Information
http://www.w3.org/TR/html4/
4/2/08 12:09 AM
next table of contents elements attributes index
HTML 4.01 Specification
W3C Recommendation 24 December 1999
This version:
http://www.w3.org/TR/1999/REC-html401-19991224
(plain text [794Kb], gzip'ed tar archive of HTML files [371Kb], a .zip archive of HTML files
[405Kb], gzip'ed Postscript file [746Kb, 389 pages], gzip'ed PDF file [963Kb])
Latest version of HTML 4.01:
http://www.w3.org/TR/html401
Latest version of HTML 4:
http://www.w3.org/TR/html4
Latest version of HTML:
http://www.w3.org/TR/html
Previous version of HTML 4.01:
http://www.w3.org/TR/1999/PR-html40-19990824
Previous HTML 4 Recommendation:
http://www.w3.org/TR/1998/REC-html40-19980424
Editors:
Dave Raggett <dsr@w3.org>
Arnaud Le Hors, W3C
Ian Jacobs, W3C
Copyright ©1997-1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use
and software licensing rules apply.
Abstract
This specification defines the HyperText Markup Language (HTML), the publishing language of the
World Wide Web. This specification defines HTML 4.01, which is a subversion of HTML 4. In addition
to the text, multimedia, and hyperlink features of the previous versions of HTML (HTML 3.2 [HTML32]
and HTML 2.0 [RFC1866]), HTML 4 supports more multimedia options, scripting languages, style
sheets, better printing facilities, and documents that are more accessible to users with disabilities.
HTML 4 also takes great strides towards the internationalization of documents, with the goal of making
the Web truly World Wide.
HTML 4 is an SGML application conforming to International Standard ISO 8879 -- Standard
Generalized Markup Language [ISO8879].
Status of this document
This section describes the status of this document at the time of its publication. Other documents may
supersede this document. The latest status of this document series is maintained at the W3C.
Fielding, et al Standards Track [Page 1]
Network Working Group R. Fielding
Request for Comments: 2068 UC Irvine
Category: Standards Track J. Gettys
J. C. Mogul
DEC
H. Frystyk
T. Berners-Lee
MIT/LCS
January 1997
Hypertext Transfer Protocol -- HTTP/1.1
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community, and requests
discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official
Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this
memo is unlimited.
Abstract
The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative,
hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for
many tasks, such as name servers and distributed object management systems, through extension of its
request methods. A feature of HTTP is the typing and negotiation of data representation, allowing systems
to be built independently of the data being transferred.
HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification
defines the protocol referred to as “HTTP/1.1”.
file://localhost/Users/fielding/ws/labs-webarch/uri/rfc/rfc3986.html
4/2/08 12:16 AM
Network Working Group T. Berners-Lee
Request for Comments: 3986 W3C/MIT
Obsoletes: 2732, 2396, 1808 R. Fielding
STD: 66 Day Software
Updates: 1738 L. Masinter
Category: Standards Track Adobe Systems
January 2005
Uniform Resource Identifier (URI):
Generic Syntax
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community,
and requests discussion and suggestions for improvements. Please refer to the current
edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright © The Internet Society (2005). All Rights Reserved.
Abstract
A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an
abstract or physical resource. This specification defines the generic URI syntax and a
process for resolving URI references that might be in relative form, along with guidelines
and security considerations for the use of URIs on the Internet. The URI syntax defines a
grammar that is a superset of all valid URIs, allowing an implementation to parse the
common components of a URI reference without knowing the scheme-specific
requirements of every possible identifier. This specification does not define a generative
grammar for URIs; that task is performed by the individual specifications of each URI
scheme.
ProtocolsBrowsers
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Web Implementation (user view)
5
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Web Implementation (origin view)
6
Application Servers

Dynamic Content
Centralized Data
RDBMS, NFS, SAN
Webservers/Gateways

Accelerator Cache
User Agents
Intermediary

Proxy Cache
© 2015 Adobe Systems Incorporated. All Rights Reserved.
So, is REST in AEM because it builds Web implementations?
7
© 2015 Adobe Systems Incorporated. All Rights Reserved.
So, is REST in AEM because it builds Web implementations?
7
REST

is NOT an

implementation
No, because
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Original proposal for the World Wide Web
8
This
document
"Hypertext"
Linked
information
Hypermedia
CERNDOC
ENQUIRE
Tim
Berners-Lee
section
group
C.E.R.N
wrote
division
Hierarchical
systems
for example
for example
describes
includes
for example
A
Proposal
"Mesh"
Hyper
Card uucp
News
IBM
GroupTalk
VAX/
NOTES
Computer
conferencing
describes
includes
includes
Comms
ACM
describes
refers
to
describes
etc
group
unifies
[Berners-Lee, 1989]
Linked
information
CERNDOC
ENQUIRE
Hierarchical
systems
for example
for examplefor example
A
Proposal
"Mesh"
Hyper
Card uucp
News
IBM
GroupTalk
VAX/
NOTES
Computer
conferencing
describes
unifies
© 2015 Adobe Systems Incorporated. All Rights Reserved.
The Web is an application integration system
9
[Berners-Lee, 1989]
Linked
information
CERNDOC
ENQUIRE
Hierarchical
systems
for example
for examplefor example
A
Proposal
"Mesh"
Hyper
Card uucp
News
IBM
GroupTalk
VAX/
NOTES
Computer
conferencing
describes
unifies
© 2015 Adobe Systems Incorporated. All Rights Reserved.
The Web is an application integration system
9
[Berners-Lee, 1989]
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Web Architecture
10
$
$
$
$
$
$
$
$User Agents
Proxies Gateways Origin Servers
Architecture is a vertical abstraction on implementation
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Web Architecture
11
http://www.w3.org/TR/html4/
4/2/08 12:09 AM
next table of contents elements attributes index
HTML 4.01 Specification
W3C Recommendation 24 December 1999
This version:
http://www.w3.org/TR/1999/REC-html401-19991224
(plain text [794Kb], gzip'ed tar archive of HTML files [371Kb], a .zip archive of HTML files
[405Kb], gzip'ed Postscript file [746Kb, 389 pages], gzip'ed PDF file [963Kb])
Latest version of HTML 4.01:
http://www.w3.org/TR/html401
Latest version of HTML 4:
http://www.w3.org/TR/html4
Latest version of HTML:
http://www.w3.org/TR/html
Previous version of HTML 4.01:
http://www.w3.org/TR/1999/PR-html40-19990824
Previous HTML 4 Recommendation:
http://www.w3.org/TR/1998/REC-html40-19980424
Editors:
Dave Raggett <dsr@w3.org>
Arnaud Le Hors, W3C
Ian Jacobs, W3C
Copyright ©1997-1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use
and software licensing rules apply.
Abstract
This specification defines the HyperText Markup Language (HTML), the publishing language of the
World Wide Web. This specification defines HTML 4.01, which is a subversion of HTML 4. In addition
to the text, multimedia, and hyperlink features of the previous versions of HTML (HTML 3.2 [HTML32]
and HTML 2.0 [RFC1866]), HTML 4 supports more multimedia options, scripting languages, style
sheets, better printing facilities, and documents that are more accessible to users with disabilities.
HTML 4 also takes great strides towards the internationalization of documents, with the goal of making
the Web truly World Wide.
HTML 4 is an SGML application conforming to International Standard ISO 8879 -- Standard
Generalized Markup Language [ISO8879].
Status of this document
This section describes the status of this document at the time of its publication. Other documents may
supersede this document. The latest status of this document series is maintained at the W3C.
Fielding, et al Standards Track [Page 1]
Network Working Group R. Fielding
Request for Comments: 2068 UC Irvine
Category: Standards Track J. Gettys
J. C. Mogul
DEC
H. Frystyk
T. Berners-Lee
MIT/LCS
January 1997
Hypertext Transfer Protocol -- HTTP/1.1
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community, and requests
discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official
Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this
memo is unlimited.
Abstract
The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative,
hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for
many tasks, such as name servers and distributed object management systems, through extension of its
request methods. A feature of HTTP is the typing and negotiation of data representation, allowing systems
to be built independently of the data being transferred.
HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification
defines the protocol referred to as “HTTP/1.1”.
file://localhost/Users/fielding/ws/labs-webarch/uri/rfc/rfc3986.html
4/2/08 12:16 AM
Network Working Group T. Berners-Lee
Request for Comments: 3986 W3C/MIT
Obsoletes: 2732, 2396, 1808 R. Fielding
STD: 66 Day Software
Updates: 1738 L. Masinter
Category: Standards Track Adobe Systems
January 2005
Uniform Resource Identifier (URI):
Generic Syntax
Status of this Memo
This document specifies an Internet standards track protocol for the Internet community,
and requests discussion and suggestions for improvements. Please refer to the current
edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright © The Internet Society (2005). All Rights Reserved.
Abstract
A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an
abstract or physical resource. This specification defines the generic URI syntax and a
process for resolving URI references that might be in relative form, along with guidelines
and security considerations for the use of URIs on the Internet. The URI syntax defines a
grammar that is a superset of all valid URIs, allowing an implementation to parse the
common components of a URI reference without knowing the scheme-specific
requirements of every possible identifier. This specification does not define a generative
grammar for URIs; that task is performed by the individual specifications of each URI
scheme.
Protocols
Web protocols define that vertical abstraction on implementation
© 2015 Adobe Systems Incorporated. All Rights Reserved.
So, is REST in AEM because it uses Web Architecture?
12
© 2015 Adobe Systems Incorporated. All Rights Reserved.
So, is REST in AEM because it uses Web Architecture?
12
REST

is NOT an

architecture!
No, because
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Architectural Styles
§ A horizontal abstraction across multiple architectures (vertical abstractions)
§ names a repeated architectural pattern
§ defined by its design constraints
§ chosen for the properties they induce
§ REST is an architectural style
§ For network-based applications
§ To induce the same architectural properties

as the World Wide Web
13
Ionic Order
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Network-based Applications
• Application
§ short for “applying a computer to accomplish a given purpose”
§ examples: finding a document, reading a poem, or buying a book, travel ticket, or stock
• Network-based
§ operating over the network with full knowledge of the user
§ i.e., unlike distributed, which intentionally hides the network
14
© 2015 Adobe Systems Incorporated. All Rights Reserved.
REST is an accumulation of design constraints to induce architectural properties
15
Figure 5-9. REST Derivation by Style Constraints
RR CS LS VM U
CSS LCS COD$
C$SS LC$SS LCODC$SS REST
replicated
on-demand
separated
layered
mobile
uniform interface
stateless
shared
intermediate
processing
cacheable
extensible
simple
reusable
scalable
reliable
multi-
org.
visible
programmable
© 2015 Adobe Systems Incorporated. All Rights Reserved.
REST is an accumulation of design constraints to induce architectural properties
15
Figure 5-9. REST Derivation by Style Constraints
RR CS LS VM U
CSS LCS COD$
C$SS LC$SS LCODC$SS REST
replicated
on-demand
separated
layered
mobile
uniform interface
stateless
shared
intermediate
processing
cacheable
extensible
simple
reusable
scalable
reliable
multi-
org.
visible
programmable
Constraint
© 2015 Adobe Systems Incorporated. All Rights Reserved.
REST is an accumulation of design constraints to induce architectural properties
15
Figure 5-9. REST Derivation by Style Constraints
RR CS LS VM U
CSS LCS COD$
C$SS LC$SS LCODC$SS REST
replicated
on-demand
separated
layered
mobile
uniform interface
stateless
shared
intermediate
processing
cacheable
extensible
simple
reusable
scalable
reliable
multi-
org.
visible
programmable
Property
[photobydhester:http://mrg.bz/xVLmr1]
[photobyEmmiP:http://mrg.bz/P7BJRi]
[photobyrupertjefferies:http://mrg.bz/Y9XThf]
© 2015 Adobe Systems Incorporated. All Rights Reserved.
REST’s Five Uniform Interface Constraints
§ All important resources are identified by one resource identifier mechanism
§ induces simple, visible, reusable, stateless communication
§ Access methods have the same semantics for all resources
§ induces visible, scalable, available through layered system, cacheable, and shared caches
§ Resources are manipulated through the exchange of representations
§ induces simple, visible, reusable, cacheable, and evolvable (information hiding)
§ Representations are exchanged via self-descriptive messages
§ induces visible, scalable, available through layered system, cacheable, and shared caches
§ induces evolvable via extensible communication
§ Hypertext as the engine of application state
§ induces simple, visible, reusable, and cacheable through data-oriented integration
§ induces evolvable (loose coupling) via late binding of application transitions
19
© 2015 Adobe Systems Incorporated. All Rights Reserved.
State Machines
Hypertext as the Engine of Application State


each state can be dynamic

each transition can be redirected
20
S0 S2S1 S3
R o y
*
*
© 2015 Adobe Systems Incorporated. All Rights Reserved.
The client only needs to know one state and its transitions!
Follow Your Nose
21
S0 SS1 SR o y
*
*
© 2015 Adobe Systems Incorporated. All Rights Reserved.
The client only needs to know one state and its transitions!
Follow Your Nose
22
S0 S2S1 SR o y
*
*
© 2015 Adobe Systems Incorporated. All Rights Reserved.
The client only needs to know one state and its transitions!
Follow Your Nose
23
S0 S2S S3
R o y
*
*
© 2015 Adobe Systems Incorporated. All Rights Reserved.
The client only needs to know one state and its transitions!
Follow Your Nose
24
S SS S3
R o y
*
*
© 2015 Adobe Systems Incorporated. All Rights Reserved.
So, is that what I mean by REST in AEM?
25
AEM

is a RESTful

network-based

application!
Yes, because
© 2015 Adobe Systems Incorporated. All Rights Reserved.
What is the most common question about REST in AEM?
31
REST

API?
So, where is your …
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Don’t over-think the problem space
a RESTful API is just a website

for users with a limited vocabulary

(machine to machine interaction)
32
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Don’t under-think the problem space
building a good website

is not easy

(but it has been done before)
33
© 2015 Adobe Systems Incorporated. All Rights Reserved.
Know Your Audience
REST

emphasizes evolvability
to sustain an uncontrollable system
If you think you have control over the system
or aren’t interested in evolvability,
don’t waste your time arguing about REST
34
For more information contact:
Roy T. Fielding

@fielding | fielding@adobe.com
Thank you

More Related Content

What's hot

Mastering the Sling Rewriter
Mastering the Sling RewriterMastering the Sling Rewriter
Mastering the Sling RewriterJustin Edelson
 
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트Amazon Web Services Korea
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) Amazon Web Services Korea
 
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWSKRUG - AWS한국사용자모임
 
Cross-domain requests with CORS
Cross-domain requests with CORSCross-domain requests with CORS
Cross-domain requests with CORSVladimir Dzhuvinov
 
Angular 11 google social login or sign in tutorial using angularx social-login
Angular 11 google social login or sign in tutorial using angularx social-loginAngular 11 google social login or sign in tutorial using angularx social-login
Angular 11 google social login or sign in tutorial using angularx social-loginKaty Slemon
 
AWS를 이용한 렌더링 아키텍처 및 사용 사례 :: 박철수 솔루션즈 아키텍트 :: AWS Media Day
AWS를 이용한 렌더링 아키텍처 및 사용 사례 :: 박철수 솔루션즈 아키텍트 :: AWS Media DayAWS를 이용한 렌더링 아키텍처 및 사용 사례 :: 박철수 솔루션즈 아키텍트 :: AWS Media Day
AWS를 이용한 렌더링 아키텍처 및 사용 사례 :: 박철수 솔루션즈 아키텍트 :: AWS Media DayAmazon Web Services Korea
 
Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Hyun-Mook Choi
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정Arawn Park
 
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016Amazon Web Services Korea
 
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDYCloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDYAmazon Web Services Korea
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesIBM Rational software
 
Spring introduction
Spring introductionSpring introduction
Spring introductionManav Prasad
 
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAn introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAmazon Web Services
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Amazon Web Services Korea
 
AWS Enterprise Summit :: 하이브리드 클라우드 인프라를 통한 데이터센터 확장과 마이그레이션 방안 (조성진 매니저)
AWS Enterprise Summit :: 하이브리드 클라우드 인프라를 통한 데이터센터 확장과 마이그레이션 방안 (조성진 매니저)AWS Enterprise Summit :: 하이브리드 클라우드 인프라를 통한 데이터센터 확장과 마이그레이션 방안 (조성진 매니저)
AWS Enterprise Summit :: 하이브리드 클라우드 인프라를 통한 데이터센터 확장과 마이그레이션 방안 (조성진 매니저)Amazon Web Services Korea
 
Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017
Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017
Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017Amazon Web Services Korea
 
진화하는 CloudFront 의 이해와 글로벌 서비스 활용 - 안수일 시니어 솔루션즈 아키텍트, GS NEOTEK :: AWS Summit...
진화하는 CloudFront 의 이해와 글로벌 서비스 활용 - 안수일 시니어 솔루션즈 아키텍트, GS NEOTEK :: AWS Summit...진화하는 CloudFront 의 이해와 글로벌 서비스 활용 - 안수일 시니어 솔루션즈 아키텍트, GS NEOTEK :: AWS Summit...
진화하는 CloudFront 의 이해와 글로벌 서비스 활용 - 안수일 시니어 솔루션즈 아키텍트, GS NEOTEK :: AWS Summit...Amazon Web Services Korea
 

What's hot (20)

Mastering the Sling Rewriter
Mastering the Sling RewriterMastering the Sling Rewriter
Mastering the Sling Rewriter
 
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
다양한 배포 기법과 AWS에서 구축하는 CI/CD 파이프라인 l 안효빈 솔루션즈 아키텍트
 
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트) 마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
마이크로서비스 기반 클라우드 아키텍처 구성 모범 사례 - 윤석찬 (AWS 테크에반젤리스트)
 
Osgi
OsgiOsgi
Osgi
 
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020 AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
 
Cross-domain requests with CORS
Cross-domain requests with CORSCross-domain requests with CORS
Cross-domain requests with CORS
 
Angular 11 google social login or sign in tutorial using angularx social-login
Angular 11 google social login or sign in tutorial using angularx social-loginAngular 11 google social login or sign in tutorial using angularx social-login
Angular 11 google social login or sign in tutorial using angularx social-login
 
AWS를 이용한 렌더링 아키텍처 및 사용 사례 :: 박철수 솔루션즈 아키텍트 :: AWS Media Day
AWS를 이용한 렌더링 아키텍처 및 사용 사례 :: 박철수 솔루션즈 아키텍트 :: AWS Media DayAWS를 이용한 렌더링 아키텍처 및 사용 사례 :: 박철수 솔루션즈 아키텍트 :: AWS Media Day
AWS를 이용한 렌더링 아키텍처 및 사용 사례 :: 박철수 솔루션즈 아키텍트 :: AWS Media Day
 
Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부
 
이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정이벤트 기반 분산 시스템을 향한 여정
이벤트 기반 분산 시스템을 향한 여정
 
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
 
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDYCloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
CloudFront와 S3를 이용한 컨텐츠 배포 전략 - 박현우 CTO, SMARTSTUDY
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
Ansible 101
Ansible 101Ansible 101
Ansible 101
 
Spring introduction
Spring introductionSpring introduction
Spring introduction
 
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAn introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
 
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기Aws glue를 통한 손쉬운 데이터 전처리 작업하기
Aws glue를 통한 손쉬운 데이터 전처리 작업하기
 
AWS Enterprise Summit :: 하이브리드 클라우드 인프라를 통한 데이터센터 확장과 마이그레이션 방안 (조성진 매니저)
AWS Enterprise Summit :: 하이브리드 클라우드 인프라를 통한 데이터센터 확장과 마이그레이션 방안 (조성진 매니저)AWS Enterprise Summit :: 하이브리드 클라우드 인프라를 통한 데이터센터 확장과 마이그레이션 방안 (조성진 매니저)
AWS Enterprise Summit :: 하이브리드 클라우드 인프라를 통한 데이터센터 확장과 마이그레이션 방안 (조성진 매니저)
 
Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017
Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017
Amazon S3 이미지 온디맨드 리사이징을 통한 70% 서버 비용 줄이기 - AWS Summit Seoul 2017
 
진화하는 CloudFront 의 이해와 글로벌 서비스 활용 - 안수일 시니어 솔루션즈 아키텍트, GS NEOTEK :: AWS Summit...
진화하는 CloudFront 의 이해와 글로벌 서비스 활용 - 안수일 시니어 솔루션즈 아키텍트, GS NEOTEK :: AWS Summit...진화하는 CloudFront 의 이해와 글로벌 서비스 활용 - 안수일 시니어 솔루션즈 아키텍트, GS NEOTEK :: AWS Summit...
진화하는 CloudFront 의 이해와 글로벌 서비스 활용 - 안수일 시니어 솔루션즈 아키텍트, GS NEOTEK :: AWS Summit...
 

Similar to REST in AEM Explained

Day: Open Development
Day: Open DevelopmentDay: Open Development
Day: Open DevelopmentDay Software
 
Web programming by Najeeb ullahAzad(1)
Web programming by Najeeb ullahAzad(1)Web programming by Najeeb ullahAzad(1)
Web programming by Najeeb ullahAzad(1)azadmcs
 
Computer and internet applications in medicine
Computer and internet applications in medicineComputer and internet applications in medicine
Computer and internet applications in medicineAhmed-Refat Refat
 
Activity 1 ece 583L Data Comm
Activity 1 ece 583L Data CommActivity 1 ece 583L Data Comm
Activity 1 ece 583L Data Commmoodymind
 
shobhit training report (3) (4).pdf report
shobhit training report (3) (4).pdf reportshobhit training report (3) (4).pdf report
shobhit training report (3) (4).pdf reportpoojaranga2911
 
Meetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceMeetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceJean Tunis
 
Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in WebJussi Pohjolainen
 
IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW
 
www.webre24h.com - [O`reilly] html and xhtml. pocket reference, 4th ed. - [...
www.webre24h.com - [O`reilly]   html and xhtml. pocket reference, 4th ed. - [...www.webre24h.com - [O`reilly]   html and xhtml. pocket reference, 4th ed. - [...
www.webre24h.com - [O`reilly] html and xhtml. pocket reference, 4th ed. - [...webre24h
 
IWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologiesIWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologiesIWMW
 
3.2.4.7 lab researching rf cs
3.2.4.7 lab   researching rf cs3.2.4.7 lab   researching rf cs
3.2.4.7 lab researching rf csAmir Hamzah
 
Standards Through Interoperability? Really?
Standards Through Interoperability? Really?Standards Through Interoperability? Really?
Standards Through Interoperability? Really?lisbk
 

Similar to REST in AEM Explained (20)

A Bit of REST
A Bit of RESTA Bit of REST
A Bit of REST
 
Day: Open Development
Day: Open DevelopmentDay: Open Development
Day: Open Development
 
Web technology Unit-II Part A
Web technology Unit-II Part AWeb technology Unit-II Part A
Web technology Unit-II Part A
 
Web standards
Web standards Web standards
Web standards
 
Web programming by Najeeb ullahAzad(1)
Web programming by Najeeb ullahAzad(1)Web programming by Najeeb ullahAzad(1)
Web programming by Najeeb ullahAzad(1)
 
Computer and internet applications in medicine
Computer and internet applications in medicineComputer and internet applications in medicine
Computer and internet applications in medicine
 
Activity 1 ece 583L Data Comm
Activity 1 ece 583L Data CommActivity 1 ece 583L Data Comm
Activity 1 ece 583L Data Comm
 
shobhit training report (3) (4).pdf report
shobhit training report (3) (4).pdf reportshobhit training report (3) (4).pdf report
shobhit training report (3) (4).pdf report
 
HTTP & HTML & Web
HTTP & HTML & WebHTTP & HTML & Web
HTTP & HTML & Web
 
Meetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceMeetup Tech Talk on Web Performance
Meetup Tech Talk on Web Performance
 
Introduction to Basic Concepts in Web
Introduction to Basic Concepts in WebIntroduction to Basic Concepts in Web
Introduction to Basic Concepts in Web
 
IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)IWMW 2002: Web standards briefing (session C2)
IWMW 2002: Web standards briefing (session C2)
 
Internet
InternetInternet
Internet
 
www.webre24h.com - [O`reilly] html and xhtml. pocket reference, 4th ed. - [...
www.webre24h.com - [O`reilly]   html and xhtml. pocket reference, 4th ed. - [...www.webre24h.com - [O`reilly]   html and xhtml. pocket reference, 4th ed. - [...
www.webre24h.com - [O`reilly] html and xhtml. pocket reference, 4th ed. - [...
 
IWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologiesIWMW 1998: Deploying new web technologies
IWMW 1998: Deploying new web technologies
 
Html1
Html1Html1
Html1
 
Html5
Html5Html5
Html5
 
3.2.4.7 lab researching rf cs
3.2.4.7 lab   researching rf cs3.2.4.7 lab   researching rf cs
3.2.4.7 lab researching rf cs
 
Standards Through Interoperability? Really?
Standards Through Interoperability? Really?Standards Through Interoperability? Really?
Standards Through Interoperability? Really?
 
History of tcp
History of tcpHistory of tcp
History of tcp
 

More from AEM HUB

Microservices for AEM by Maciej Majchrzak
Microservices for AEM by Maciej MajchrzakMicroservices for AEM by Maciej Majchrzak
Microservices for AEM by Maciej MajchrzakAEM HUB
 
When dispatcher caching is not enough by Jakub Wądołowski
When dispatcher caching is not enough by Jakub WądołowskiWhen dispatcher caching is not enough by Jakub Wądołowski
When dispatcher caching is not enough by Jakub WądołowskiAEM HUB
 
Sling Models Using Sightly and JSP by Deepak Khetawat
Sling Models Using Sightly and JSP by Deepak KhetawatSling Models Using Sightly and JSP by Deepak Khetawat
Sling Models Using Sightly and JSP by Deepak KhetawatAEM HUB
 
PhoneGap Enterprise Viewer by Anthony Rumsey
PhoneGap Enterprise Viewer by Anthony RumseyPhoneGap Enterprise Viewer by Anthony Rumsey
PhoneGap Enterprise Viewer by Anthony RumseyAEM HUB
 
Integrating Apache Wookie with AEM by Rima Mittal and Ankit Gubrani
Integrating Apache Wookie with AEM by Rima Mittal and Ankit GubraniIntegrating Apache Wookie with AEM by Rima Mittal and Ankit Gubrani
Integrating Apache Wookie with AEM by Rima Mittal and Ankit GubraniAEM HUB
 
Mastering the Sling Rewriter by Justin Edelson
Mastering the Sling Rewriter by Justin EdelsonMastering the Sling Rewriter by Justin Edelson
Mastering the Sling Rewriter by Justin EdelsonAEM HUB
 
Building Quality into the AEM Publication Workflow with Active Standards by D...
Building Quality into the AEM Publication Workflow with Active Standards by D...Building Quality into the AEM Publication Workflow with Active Standards by D...
Building Quality into the AEM Publication Workflow with Active Standards by D...AEM HUB
 
Touching the AEM component dialog by Mateusz Chromiński
Touching the AEM component dialog by Mateusz ChromińskiTouching the AEM component dialog by Mateusz Chromiński
Touching the AEM component dialog by Mateusz ChromińskiAEM HUB
 
How to build a Social Intranet with Adobe Sites and 3rd Party products ... us...
How to build a Social Intranet with Adobe Sites and 3rd Party products ... us...How to build a Social Intranet with Adobe Sites and 3rd Party products ... us...
How to build a Social Intranet with Adobe Sites and 3rd Party products ... us...AEM HUB
 
How do you build flexible platforms that focuses on business needs? by Fahim...
How do you build flexible platforms that focuses on business needs?  by Fahim...How do you build flexible platforms that focuses on business needs?  by Fahim...
How do you build flexible platforms that focuses on business needs? by Fahim...AEM HUB
 
AEM Apps Enhanced: In-app Messaging and Beacons by John Fait
AEM Apps Enhanced: In-app Messaging and Beacons by John FaitAEM Apps Enhanced: In-app Messaging and Beacons by John Fait
AEM Apps Enhanced: In-app Messaging and Beacons by John FaitAEM HUB
 
Effectively Scale and Operate AEM with MongoDB by Norberto Leite
Effectively Scale and Operate AEM with MongoDB by Norberto LeiteEffectively Scale and Operate AEM with MongoDB by Norberto Leite
Effectively Scale and Operate AEM with MongoDB by Norberto LeiteAEM HUB
 
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...AEM HUB
 
Adobe Marketing Cloud Integrations: Myth or Reality? by Holger Marsen
Adobe Marketing Cloud Integrations: Myth or Reality? by Holger MarsenAdobe Marketing Cloud Integrations: Myth or Reality? by Holger Marsen
Adobe Marketing Cloud Integrations: Myth or Reality? by Holger MarsenAEM HUB
 
Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt AEM HUB
 
When Sightly Meets Slice by Tomasz Niedźwiedź
When Sightly Meets Slice by Tomasz NiedźwiedźWhen Sightly Meets Slice by Tomasz Niedźwiedź
When Sightly Meets Slice by Tomasz NiedźwiedźAEM HUB
 
Creativity without comprise by Cleve Gibbon
Creativity without comprise by Cleve Gibbon Creativity without comprise by Cleve Gibbon
Creativity without comprise by Cleve Gibbon AEM HUB
 
Adobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
Adobe Summit 2015 - Penguin Random House - Accelerating Digital TransformationAdobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
Adobe Summit 2015 - Penguin Random House - Accelerating Digital TransformationAEM HUB
 
Socialize your Exceptional Web Experience – Adobe AEM & IBM Connections by He...
Socialize your Exceptional Web Experience – Adobe AEM & IBM Connections by He...Socialize your Exceptional Web Experience – Adobe AEM & IBM Connections by He...
Socialize your Exceptional Web Experience – Adobe AEM & IBM Connections by He...AEM HUB
 
Sightly Beautiful Markup by Senol Tas
Sightly Beautiful Markup by Senol Tas Sightly Beautiful Markup by Senol Tas
Sightly Beautiful Markup by Senol Tas AEM HUB
 

More from AEM HUB (20)

Microservices for AEM by Maciej Majchrzak
Microservices for AEM by Maciej MajchrzakMicroservices for AEM by Maciej Majchrzak
Microservices for AEM by Maciej Majchrzak
 
When dispatcher caching is not enough by Jakub Wądołowski
When dispatcher caching is not enough by Jakub WądołowskiWhen dispatcher caching is not enough by Jakub Wądołowski
When dispatcher caching is not enough by Jakub Wądołowski
 
Sling Models Using Sightly and JSP by Deepak Khetawat
Sling Models Using Sightly and JSP by Deepak KhetawatSling Models Using Sightly and JSP by Deepak Khetawat
Sling Models Using Sightly and JSP by Deepak Khetawat
 
PhoneGap Enterprise Viewer by Anthony Rumsey
PhoneGap Enterprise Viewer by Anthony RumseyPhoneGap Enterprise Viewer by Anthony Rumsey
PhoneGap Enterprise Viewer by Anthony Rumsey
 
Integrating Apache Wookie with AEM by Rima Mittal and Ankit Gubrani
Integrating Apache Wookie with AEM by Rima Mittal and Ankit GubraniIntegrating Apache Wookie with AEM by Rima Mittal and Ankit Gubrani
Integrating Apache Wookie with AEM by Rima Mittal and Ankit Gubrani
 
Mastering the Sling Rewriter by Justin Edelson
Mastering the Sling Rewriter by Justin EdelsonMastering the Sling Rewriter by Justin Edelson
Mastering the Sling Rewriter by Justin Edelson
 
Building Quality into the AEM Publication Workflow with Active Standards by D...
Building Quality into the AEM Publication Workflow with Active Standards by D...Building Quality into the AEM Publication Workflow with Active Standards by D...
Building Quality into the AEM Publication Workflow with Active Standards by D...
 
Touching the AEM component dialog by Mateusz Chromiński
Touching the AEM component dialog by Mateusz ChromińskiTouching the AEM component dialog by Mateusz Chromiński
Touching the AEM component dialog by Mateusz Chromiński
 
How to build a Social Intranet with Adobe Sites and 3rd Party products ... us...
How to build a Social Intranet with Adobe Sites and 3rd Party products ... us...How to build a Social Intranet with Adobe Sites and 3rd Party products ... us...
How to build a Social Intranet with Adobe Sites and 3rd Party products ... us...
 
How do you build flexible platforms that focuses on business needs? by Fahim...
How do you build flexible platforms that focuses on business needs?  by Fahim...How do you build flexible platforms that focuses on business needs?  by Fahim...
How do you build flexible platforms that focuses on business needs? by Fahim...
 
AEM Apps Enhanced: In-app Messaging and Beacons by John Fait
AEM Apps Enhanced: In-app Messaging and Beacons by John FaitAEM Apps Enhanced: In-app Messaging and Beacons by John Fait
AEM Apps Enhanced: In-app Messaging and Beacons by John Fait
 
Effectively Scale and Operate AEM with MongoDB by Norberto Leite
Effectively Scale and Operate AEM with MongoDB by Norberto LeiteEffectively Scale and Operate AEM with MongoDB by Norberto Leite
Effectively Scale and Operate AEM with MongoDB by Norberto Leite
 
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
 
Adobe Marketing Cloud Integrations: Myth or Reality? by Holger Marsen
Adobe Marketing Cloud Integrations: Myth or Reality? by Holger MarsenAdobe Marketing Cloud Integrations: Myth or Reality? by Holger Marsen
Adobe Marketing Cloud Integrations: Myth or Reality? by Holger Marsen
 
Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt Responsive Websites and Grid-Based Layouts by Gabriel Walt
Responsive Websites and Grid-Based Layouts by Gabriel Walt
 
When Sightly Meets Slice by Tomasz Niedźwiedź
When Sightly Meets Slice by Tomasz NiedźwiedźWhen Sightly Meets Slice by Tomasz Niedźwiedź
When Sightly Meets Slice by Tomasz Niedźwiedź
 
Creativity without comprise by Cleve Gibbon
Creativity without comprise by Cleve Gibbon Creativity without comprise by Cleve Gibbon
Creativity without comprise by Cleve Gibbon
 
Adobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
Adobe Summit 2015 - Penguin Random House - Accelerating Digital TransformationAdobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
Adobe Summit 2015 - Penguin Random House - Accelerating Digital Transformation
 
Socialize your Exceptional Web Experience – Adobe AEM & IBM Connections by He...
Socialize your Exceptional Web Experience – Adobe AEM & IBM Connections by He...Socialize your Exceptional Web Experience – Adobe AEM & IBM Connections by He...
Socialize your Exceptional Web Experience – Adobe AEM & IBM Connections by He...
 
Sightly Beautiful Markup by Senol Tas
Sightly Beautiful Markup by Senol Tas Sightly Beautiful Markup by Senol Tas
Sightly Beautiful Markup by Senol Tas
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

REST in AEM Explained

  • 1. REST in AEM Roy T. Fielding
 Senior Principal Scientist, Adobe
  • 2. REST © 2015 Adobe Systems Incorporated. All Rights Reserved. Why talk about REST? 2 What is REST Anyway? Copyright © 2012, ZapThink, a Dovèl Technologies Company • Representational State Transfer (REST) is a style of software architecture for distributed hypermedia systems such as the World Wide Web • Roy Fielding looked at the Web and saw that it was good BUZZWORD Because has become a There’s nothing particularly wrong with that… unless you happen to be me… or working with me
  • 3. © 2015 Adobe Systems Incorporated. All Rights Reserved. Warning 3 Ph.D. Dissertation

  • 4. © 2015 Adobe Systems Incorporated. All Rights Reserved. Three (very different) perspectives of the Web 4 Information http://www.w3.org/TR/html4/ 4/2/08 12:09 AM next table of contents elements attributes index HTML 4.01 Specification W3C Recommendation 24 December 1999 This version: http://www.w3.org/TR/1999/REC-html401-19991224 (plain text [794Kb], gzip'ed tar archive of HTML files [371Kb], a .zip archive of HTML files [405Kb], gzip'ed Postscript file [746Kb, 389 pages], gzip'ed PDF file [963Kb]) Latest version of HTML 4.01: http://www.w3.org/TR/html401 Latest version of HTML 4: http://www.w3.org/TR/html4 Latest version of HTML: http://www.w3.org/TR/html Previous version of HTML 4.01: http://www.w3.org/TR/1999/PR-html40-19990824 Previous HTML 4 Recommendation: http://www.w3.org/TR/1998/REC-html40-19980424 Editors: Dave Raggett <dsr@w3.org> Arnaud Le Hors, W3C Ian Jacobs, W3C Copyright ©1997-1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Abstract This specification defines the HyperText Markup Language (HTML), the publishing language of the World Wide Web. This specification defines HTML 4.01, which is a subversion of HTML 4. In addition to the text, multimedia, and hyperlink features of the previous versions of HTML (HTML 3.2 [HTML32] and HTML 2.0 [RFC1866]), HTML 4 supports more multimedia options, scripting languages, style sheets, better printing facilities, and documents that are more accessible to users with disabilities. HTML 4 also takes great strides towards the internationalization of documents, with the goal of making the Web truly World Wide. HTML 4 is an SGML application conforming to International Standard ISO 8879 -- Standard Generalized Markup Language [ISO8879]. Status of this document This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C. Fielding, et al Standards Track [Page 1] Network Working Group R. Fielding Request for Comments: 2068 UC Irvine Category: Standards Track J. Gettys J. C. Mogul DEC H. Frystyk T. Berners-Lee MIT/LCS January 1997 Hypertext Transfer Protocol -- HTTP/1.1 Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred. HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as “HTTP/1.1”. file://localhost/Users/fielding/ws/labs-webarch/uri/rfc/rfc3986.html 4/2/08 12:16 AM Network Working Group T. Berners-Lee Request for Comments: 3986 W3C/MIT Obsoletes: 2732, 2396, 1808 R. Fielding STD: 66 Day Software Updates: 1738 L. Masinter Category: Standards Track Adobe Systems January 2005 Uniform Resource Identifier (URI): Generic Syntax Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright © The Internet Society (2005). All Rights Reserved. Abstract A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. ProtocolsBrowsers
  • 5. © 2015 Adobe Systems Incorporated. All Rights Reserved. Web Implementation (user view) 5
  • 6. © 2015 Adobe Systems Incorporated. All Rights Reserved. Web Implementation (origin view) 6 Application Servers
 Dynamic Content Centralized Data RDBMS, NFS, SAN Webservers/Gateways
 Accelerator Cache User Agents Intermediary
 Proxy Cache
  • 7. © 2015 Adobe Systems Incorporated. All Rights Reserved. So, is REST in AEM because it builds Web implementations? 7
  • 8. © 2015 Adobe Systems Incorporated. All Rights Reserved. So, is REST in AEM because it builds Web implementations? 7 REST
 is NOT an
 implementation No, because
  • 9. © 2015 Adobe Systems Incorporated. All Rights Reserved. Original proposal for the World Wide Web 8 This document "Hypertext" Linked information Hypermedia CERNDOC ENQUIRE Tim Berners-Lee section group C.E.R.N wrote division Hierarchical systems for example for example describes includes for example A Proposal "Mesh" Hyper Card uucp News IBM GroupTalk VAX/ NOTES Computer conferencing describes includes includes Comms ACM describes refers to describes etc group unifies [Berners-Lee, 1989]
  • 10. Linked information CERNDOC ENQUIRE Hierarchical systems for example for examplefor example A Proposal "Mesh" Hyper Card uucp News IBM GroupTalk VAX/ NOTES Computer conferencing describes unifies © 2015 Adobe Systems Incorporated. All Rights Reserved. The Web is an application integration system 9 [Berners-Lee, 1989]
  • 11. Linked information CERNDOC ENQUIRE Hierarchical systems for example for examplefor example A Proposal "Mesh" Hyper Card uucp News IBM GroupTalk VAX/ NOTES Computer conferencing describes unifies © 2015 Adobe Systems Incorporated. All Rights Reserved. The Web is an application integration system 9 [Berners-Lee, 1989]
  • 12. © 2015 Adobe Systems Incorporated. All Rights Reserved. Web Architecture 10 $ $ $ $ $ $ $ $User Agents Proxies Gateways Origin Servers Architecture is a vertical abstraction on implementation
  • 13. © 2015 Adobe Systems Incorporated. All Rights Reserved. Web Architecture 11 http://www.w3.org/TR/html4/ 4/2/08 12:09 AM next table of contents elements attributes index HTML 4.01 Specification W3C Recommendation 24 December 1999 This version: http://www.w3.org/TR/1999/REC-html401-19991224 (plain text [794Kb], gzip'ed tar archive of HTML files [371Kb], a .zip archive of HTML files [405Kb], gzip'ed Postscript file [746Kb, 389 pages], gzip'ed PDF file [963Kb]) Latest version of HTML 4.01: http://www.w3.org/TR/html401 Latest version of HTML 4: http://www.w3.org/TR/html4 Latest version of HTML: http://www.w3.org/TR/html Previous version of HTML 4.01: http://www.w3.org/TR/1999/PR-html40-19990824 Previous HTML 4 Recommendation: http://www.w3.org/TR/1998/REC-html40-19980424 Editors: Dave Raggett <dsr@w3.org> Arnaud Le Hors, W3C Ian Jacobs, W3C Copyright ©1997-1999 W3C® (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply. Abstract This specification defines the HyperText Markup Language (HTML), the publishing language of the World Wide Web. This specification defines HTML 4.01, which is a subversion of HTML 4. In addition to the text, multimedia, and hyperlink features of the previous versions of HTML (HTML 3.2 [HTML32] and HTML 2.0 [RFC1866]), HTML 4 supports more multimedia options, scripting languages, style sheets, better printing facilities, and documents that are more accessible to users with disabilities. HTML 4 also takes great strides towards the internationalization of documents, with the goal of making the Web truly World Wide. HTML 4 is an SGML application conforming to International Standard ISO 8879 -- Standard Generalized Markup Language [ISO8879]. Status of this document This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C. Fielding, et al Standards Track [Page 1] Network Working Group R. Fielding Request for Comments: 2068 UC Irvine Category: Standards Track J. Gettys J. C. Mogul DEC H. Frystyk T. Berners-Lee MIT/LCS January 1997 Hypertext Transfer Protocol -- HTTP/1.1 Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. It is a generic, stateless, object-oriented protocol which can be used for many tasks, such as name servers and distributed object management systems, through extension of its request methods. A feature of HTTP is the typing and negotiation of data representation, allowing systems to be built independently of the data being transferred. HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as “HTTP/1.1”. file://localhost/Users/fielding/ws/labs-webarch/uri/rfc/rfc3986.html 4/2/08 12:16 AM Network Working Group T. Berners-Lee Request for Comments: 3986 W3C/MIT Obsoletes: 2732, 2396, 1808 R. Fielding STD: 66 Day Software Updates: 1738 L. Masinter Category: Standards Track Adobe Systems January 2005 Uniform Resource Identifier (URI): Generic Syntax Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright © The Internet Society (2005). All Rights Reserved. Abstract A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. Protocols Web protocols define that vertical abstraction on implementation
  • 14. © 2015 Adobe Systems Incorporated. All Rights Reserved. So, is REST in AEM because it uses Web Architecture? 12
  • 15. © 2015 Adobe Systems Incorporated. All Rights Reserved. So, is REST in AEM because it uses Web Architecture? 12 REST
 is NOT an
 architecture! No, because
  • 16. © 2015 Adobe Systems Incorporated. All Rights Reserved. Architectural Styles § A horizontal abstraction across multiple architectures (vertical abstractions) § names a repeated architectural pattern § defined by its design constraints § chosen for the properties they induce § REST is an architectural style § For network-based applications § To induce the same architectural properties
 as the World Wide Web 13 Ionic Order
  • 17. © 2015 Adobe Systems Incorporated. All Rights Reserved. Network-based Applications • Application § short for “applying a computer to accomplish a given purpose” § examples: finding a document, reading a poem, or buying a book, travel ticket, or stock • Network-based § operating over the network with full knowledge of the user § i.e., unlike distributed, which intentionally hides the network 14
  • 18. © 2015 Adobe Systems Incorporated. All Rights Reserved. REST is an accumulation of design constraints to induce architectural properties 15 Figure 5-9. REST Derivation by Style Constraints RR CS LS VM U CSS LCS COD$ C$SS LC$SS LCODC$SS REST replicated on-demand separated layered mobile uniform interface stateless shared intermediate processing cacheable extensible simple reusable scalable reliable multi- org. visible programmable
  • 19. © 2015 Adobe Systems Incorporated. All Rights Reserved. REST is an accumulation of design constraints to induce architectural properties 15 Figure 5-9. REST Derivation by Style Constraints RR CS LS VM U CSS LCS COD$ C$SS LC$SS LCODC$SS REST replicated on-demand separated layered mobile uniform interface stateless shared intermediate processing cacheable extensible simple reusable scalable reliable multi- org. visible programmable Constraint
  • 20. © 2015 Adobe Systems Incorporated. All Rights Reserved. REST is an accumulation of design constraints to induce architectural properties 15 Figure 5-9. REST Derivation by Style Constraints RR CS LS VM U CSS LCS COD$ C$SS LC$SS LCODC$SS REST replicated on-demand separated layered mobile uniform interface stateless shared intermediate processing cacheable extensible simple reusable scalable reliable multi- org. visible programmable Property
  • 24. © 2015 Adobe Systems Incorporated. All Rights Reserved. REST’s Five Uniform Interface Constraints § All important resources are identified by one resource identifier mechanism § induces simple, visible, reusable, stateless communication § Access methods have the same semantics for all resources § induces visible, scalable, available through layered system, cacheable, and shared caches § Resources are manipulated through the exchange of representations § induces simple, visible, reusable, cacheable, and evolvable (information hiding) § Representations are exchanged via self-descriptive messages § induces visible, scalable, available through layered system, cacheable, and shared caches § induces evolvable via extensible communication § Hypertext as the engine of application state § induces simple, visible, reusable, and cacheable through data-oriented integration § induces evolvable (loose coupling) via late binding of application transitions 19
  • 25. © 2015 Adobe Systems Incorporated. All Rights Reserved. State Machines Hypertext as the Engine of Application State 
 each state can be dynamic
 each transition can be redirected 20 S0 S2S1 S3 R o y * *
  • 26. © 2015 Adobe Systems Incorporated. All Rights Reserved. The client only needs to know one state and its transitions! Follow Your Nose 21 S0 SS1 SR o y * *
  • 27. © 2015 Adobe Systems Incorporated. All Rights Reserved. The client only needs to know one state and its transitions! Follow Your Nose 22 S0 S2S1 SR o y * *
  • 28. © 2015 Adobe Systems Incorporated. All Rights Reserved. The client only needs to know one state and its transitions! Follow Your Nose 23 S0 S2S S3 R o y * *
  • 29. © 2015 Adobe Systems Incorporated. All Rights Reserved. The client only needs to know one state and its transitions! Follow Your Nose 24 S SS S3 R o y * *
  • 30. © 2015 Adobe Systems Incorporated. All Rights Reserved. So, is that what I mean by REST in AEM? 25 AEM
 is a RESTful
 network-based
 application! Yes, because
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. © 2015 Adobe Systems Incorporated. All Rights Reserved. What is the most common question about REST in AEM? 31 REST
 API? So, where is your …
  • 37. © 2015 Adobe Systems Incorporated. All Rights Reserved. Don’t over-think the problem space a RESTful API is just a website
 for users with a limited vocabulary
 (machine to machine interaction) 32
  • 38. © 2015 Adobe Systems Incorporated. All Rights Reserved. Don’t under-think the problem space building a good website
 is not easy
 (but it has been done before) 33
  • 39. © 2015 Adobe Systems Incorporated. All Rights Reserved. Know Your Audience REST
 emphasizes evolvability to sustain an uncontrollable system If you think you have control over the system or aren’t interested in evolvability, don’t waste your time arguing about REST 34
  • 40. For more information contact: Roy T. Fielding
 @fielding | fielding@adobe.com Thank you