SlideShare a Scribd company logo
1 of 28
Download to read offline
APACHE SLING & FRIENDS TECH MEETUP
BERLIN, 23-25 SEPTEMBER 2013
“RESTful transactions” with Apache Sling
Şenol Taş
About
adaptTo() 2013 2
§  My Name is Şenol Taş
§  Senior Computer Scientist
§  Adobe in Basel, Switzerland
@thelabertasch
adaptTo() 2013 3
Why such a boring Topic?
Because websites are…
adaptTo() 2013 4
§  No longer simple advertisement
platforms
§  Not only “online Business cards”
§  Not a “nice to have” medium
§  Not a “Playground”
§  …..
Because websites are…
adaptTo() 2013 5
§  Serious business
§  Make $$$
§  Complex
§  MUST have
§  “Real” Applications
adaptTo() 2013 6
Your Website IS THE Application
Let’s….
adaptTo() 2013 7
§  Find out “what is a transaction?”
§  Quick reminder about REST
§  How do this two concepts work
together?
adaptTo() 2013 8
What are Transactions?
What are Transactions?
adaptTo() 2013 9
adaptTo() 2012 10
“An input message to a computer system
that must be dealt with
as a single unit of work”
What are Transactions?
adaptTo() 2013 11
§  begin transaction
§  debit checking account
§  credit savings account
§  update history log
§  commit transaction
What are Transactions?
adaptTo() 2013 12
§  Late 70s: Jim Gray defined the
semantic of reliable transactions
§  Early 80s: Andreas Reuter and Theo
Härder defined the acronym “ACID” in
their paper “Principles of Transaction-
Oriented Database Recovery”
ACID
adaptTo() 2013 13
§  Atomicity
§  Consistency
§  Isolation
§  Durability
How do tools like hybernate help?
adaptTo() 2013 14
adaptTo() 2013 15
What is REST?
What is REST?
adaptTo() 2013 16
§  Representational State Transfer
§  Stateless
§  Client-server
§  Cachable
§  Scalable
§  …..
What is REST?
adaptTo() 2013 17
§  So? How does this work together with
transactions?
adaptTo() 2013 18
REST and transaction is a oxymoron
REST and transactions
adaptTo() 2013 19
§  Atomicity
§  Consistency
§  Isolation
§  Durability
What are the challenges?
adaptTo() 2013 20
§  HTTP REQUEST – RESPONSE
PATTERN
§  STATELESS
§  …..?
Change your mindset…
adaptTo() 2013 21
§  Not everything has to be done in one
request
§  If you are using POST.jsp or similar in
Sling, most likely something is wrong
§  Events and Observations are your
friends
§  Use the full power of the Sling Default
Post and GET Servlet
Remember the cheat sheet from Lars?
adaptTo() 2013 22
Example
adaptTo() 2013 23
§  Resource: /home/senol/profile
§  Begin transaction
§  change interests
§  Commit transaction
Begin Transaction
adaptTo() 2013 24
§  Copy the node /home/senol/profile to
/home/senol/transactions/profile/*
Change interests
adaptTo() 2013 25
§  Update with regular post request
Commit transaction
adaptTo() 2012 26
§  With observation or events
§  Directly
Things of interest
adaptTo() 2012 27
§  Communicating with services layer
§  Distributed transactions
§  Nested transactions
§  Locking…
§  Using Adobe CQ?
§  Have a look at the Workflow Launcher!
adaptTo() 2013 28
Thank you and have a RESTful Day!

More Related Content

Similar to Developing “RESTful transactions” with Apache Sling

Sap Solman Sld Overview V2.0
Sap Solman Sld Overview V2.0Sap Solman Sld Overview V2.0
Sap Solman Sld Overview V2.0
wlacaze
 
BDD for RIAs with JavaScript - Skills Matter
BDD for RIAs with JavaScript - Skills MatterBDD for RIAs with JavaScript - Skills Matter
BDD for RIAs with JavaScript - Skills Matter
Carlos Ble
 

Similar to Developing “RESTful transactions” with Apache Sling (20)

Sap Solman Sld Overview V2.0
Sap Solman Sld Overview V2.0Sap Solman Sld Overview V2.0
Sap Solman Sld Overview V2.0
 
Build next generation apps with eyes and ears using Google Chrome
Build next generation apps with eyes and ears using Google ChromeBuild next generation apps with eyes and ears using Google Chrome
Build next generation apps with eyes and ears using Google Chrome
 
MySQL Sharding: Tools and Best Practices for Horizontal Scaling
MySQL Sharding: Tools and Best Practices for Horizontal ScalingMySQL Sharding: Tools and Best Practices for Horizontal Scaling
MySQL Sharding: Tools and Best Practices for Horizontal Scaling
 
SharePoint 2016 & Office 365: A Look Ahead To What’s Coming
SharePoint 2016 & Office 365: A Look Ahead To What’s ComingSharePoint 2016 & Office 365: A Look Ahead To What’s Coming
SharePoint 2016 & Office 365: A Look Ahead To What’s Coming
 
SharePoint 2016 And Office 365: A Look Ahead To What's Coming
SharePoint 2016 And Office 365: A Look Ahead To What's ComingSharePoint 2016 And Office 365: A Look Ahead To What's Coming
SharePoint 2016 And Office 365: A Look Ahead To What's Coming
 
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74-451
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74-451Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74-451
Deck 8983a1d9-68df-4447-8481-3b4fd0de734c-9-52-74-451
 
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-55-78 (12)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-55-78 (12)Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-55-78 (12)
Deck 893ff61f-1fb8-4e15-a379-775dfdbcee77-7-14-55-78 (12)
 
Intro js3.22.18
Intro js3.22.18Intro js3.22.18
Intro js3.22.18
 
Breaking down monoliths - DEM08-S - New York AWS Summit
Breaking down monoliths - DEM08-S - New York AWS SummitBreaking down monoliths - DEM08-S - New York AWS Summit
Breaking down monoliths - DEM08-S - New York AWS Summit
 
Are Your Test Cases Fit For Automation?
Are Your Test Cases Fit For Automation?Are Your Test Cases Fit For Automation?
Are Your Test Cases Fit For Automation?
 
JVMCON Java in the 21st Century: are you thinking far enough ahead?
JVMCON Java in the 21st Century: are you thinking far enough ahead?JVMCON Java in the 21st Century: are you thinking far enough ahead?
JVMCON Java in the 21st Century: are you thinking far enough ahead?
 
Accelerate integration with SAP using MuleSoft
Accelerate integration with SAP using MuleSoftAccelerate integration with SAP using MuleSoft
Accelerate integration with SAP using MuleSoft
 
Introjscb112817
Introjscb112817Introjscb112817
Introjscb112817
 
Advanced Concepts in Software as a Service / Service Oriented Architecture
Advanced Concepts in Software as a Service / Service Oriented ArchitectureAdvanced Concepts in Software as a Service / Service Oriented Architecture
Advanced Concepts in Software as a Service / Service Oriented Architecture
 
Introduction to SAP Gateway and OData
Introduction to SAP Gateway and ODataIntroduction to SAP Gateway and OData
Introduction to SAP Gateway and OData
 
microXchg: Managing data consistency in a microservice architecture using Sagas
microXchg: Managing data consistency in a microservice architecture using SagasmicroXchg: Managing data consistency in a microservice architecture using Sagas
microXchg: Managing data consistency in a microservice architecture using Sagas
 
Business and IT alignment, how to escape from the sand-trap
Business and IT alignment, how to escape from the sand-trapBusiness and IT alignment, how to escape from the sand-trap
Business and IT alignment, how to escape from the sand-trap
 
Introduction to OData and SAP NetWeaver Gateway.pptx
Introduction to OData and SAP NetWeaver Gateway.pptxIntroduction to OData and SAP NetWeaver Gateway.pptx
Introduction to OData and SAP NetWeaver Gateway.pptx
 
BDD for RIAs with JavaScript - Skills Matter
BDD for RIAs with JavaScript - Skills MatterBDD for RIAs with JavaScript - Skills Matter
BDD for RIAs with JavaScript - Skills Matter
 
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
Adrian Colyer - Keynote: NoSQL matters - NoSQL matters Dublin 2015
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Developing “RESTful transactions” with Apache Sling