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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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...
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Developing “RESTful transactions” with Apache Sling