Skip to main content
Log in

ReLock: a resilient two-phase locking RESTful transaction model

  • Original Research Paper
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

Abstract

Service composition and supporting transactions across composed services are among the major challenges characterizing service-oriented computing. REpresentational State Transfer (REST) is one of the approaches used for implementing Web services that is gaining momentum thanks to its features making it suitable for cloud computing and microservices-based contexts. This paper introduces ReLock, a resilient RESTful transaction model introducing general purpose transactions on RESTful services by a layered approach and a two-phase locking mechanism not requesting any change to the RESTful services involved in a transaction.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

References

  1. Allamaraju S (2010) RESTful web services cookbook: solutions for improving scalability and simplicity, 1st edn. O’Reilly, Newton

    Google Scholar 

  2. Assante M, Candela L, Castelli D, Cirillo R, Coro G, Frosini L, Lelii L, Mangiacrapa F, Pagano P, Panichi G, Sinibaldi F (2019) Enacting open science by D4Sscience. Future Gener Comput Syst 101:555–563. https://doi.org/10.1016/j.future.2019.05.063

  3. Assante M, Candela L, Castelli D, Cirillo R, Coro G, Frosini L, Lelii L, Mangiacrapa F, Marioli V, Pagano P, Panichi G, Perciante C, Sinibaldi F (2019) The gcube system: delivering virtual research environments as-a-service. Future Gener Comput Syst 95:445–453. https://doi.org/10.1016/j.future.2018.10.035

  4. Bernstein PA, Newcomer E (2009) Principles of transaction processing. Morgan Kaufmann, Burlington

    MATH  Google Scholar 

  5. Bouguettaya A, Singh M, Huhns M, Sheng QZ, Dong H, Yu Q, Neiat AG, Mistry S, Benatallah B, Medjahed B, Ouzzani M, Casati F, Liu X, Wang H, Georgakopoulos D, Chen L, Nepal S, Malik Z, Erradi A, Wang Y, Blake B, Dustdar S, Leymann F, Papazoglou M (2017) A service computing manifesto: the next 10 years. Commun ACM 60(4):64–72. https://doi.org/10.1145/2983528

    Article  Google Scholar 

  6. Cabrera F, Copeland G, Cox B, Freund T, Klein J, Storey T, Thatte S (2002) Web services transaction (ws-transaction). Technical report, BEA Systems, International Business Machines Corporation, Microsoft Corporation, Inc. http://xml.coverpages.org/WS-Transaction2002.pdf

  7. da Silva Maciel LAH, Hirata CM (2010) A timestamp-based two phase commit protocol for web services using rest architectural style. J Web Eng 9(3):266–282

    Google Scholar 

  8. da Silva Maciel LAH, Hirata CM (2013) Fault-tolerant timestamp-based two-phase commit protocol for restful services. Softw Pract Exp 43(12):1459–1488. https://doi.org/10.1002/spe.2151

    Article  Google Scholar 

  9. da Silva Maciel LAH, Hirata CM (2009) An optimistic technique for transactions control using rest architectural style. In: Proceedings of the 2009 ACM symposium on applied computing, SAC ’09, pp 664–669. ACM, New York, NY, USA. https://doi.org/10.1145/1529282.1529419

  10. da Silva Maciel LAH, Hirata CM (2011) Extending timestamp-based two phase commit protocol for restful services to meet business rules. In: Proceedings of the 2011 ACM symposium on applied computing, SAC ’11, pp 778–785. ACM, New York, NY, USA. https://doi.org/10.1145/1982185.1982354

  11. Dey A, Fekete A, Röhm U (2015) Rest+t: scalable transactions over http. In: 2015 IEEE international conference on cloud engineering, pp 36–41. https://doi.org/10.1109/IC2E.2015.11

  12. Dusseault LM (2007) HTTP extensions for web distributed authoring and versioning (WebDAV). RFC 4918. https://doi.org/10.17487/RFC4918

  13. Dustdar S, Schreiner W (2005) A survey on web services composition. Int J Web Grid Serv (IJWGS) 1(1):1–30. https://doi.org/10.1504/IJWGS.2005.007545

    Article  Google Scholar 

  14. Elmagarmid AK (1986) A survey of distributed deadlock detection algorithms. SIGMOD Rec 15(3):37–45. https://doi.org/10.1145/15833.15837

    Article  Google Scholar 

  15. Fielding RT, Reschke J (2014) Hypertext transfer protocol (HTTP/1.1): semantics and content. RFC 7231. https://doi.org/10.17487/RFC7231

  16. Fielding RT (2000) Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine

  17. Khare R (2003) Extending the representational state transfer (rest) architectural style for decentralized systems. Ph.D. thesis, University of California, Irvine

  18. Khare R, Taylor RN (2004) Extending the representational state transfer (rest) architectural style for decentralized systems. In: Proceedings of the 26th international conference on software engineering, ICSE ’04, pp 428–437. IEEE Computer Society, Washington, DC, USA

  19. Kochman S, Wojciechowski PT, Kmieciak M (2012) Batched transactions for restful web services. In: Proceedings of the 11th international conference on current trends in web engineering, ICWE’11, pp 86–98. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27997-3_8

  20. Lampesberger H (2016) Technologies for web and cloud service interaction: a survey. SOCA 10(2):71–110. https://doi.org/10.1007/s11761-015-0174-1

    Article  Google Scholar 

  21. Lemos AL, Daniel F, Benatallah B (2015) Web service composition: a survey of techniques and tools. ACM Comput Surv. https://doi.org/10.1145/2831270

    Article  Google Scholar 

  22. Marinos A, Razavi A, Moschoyiannis S, Krause P (2009) Retro: a consistent and recoverable restful transaction model. In: Proceedings of the 2009 IEEE international conference on web services, ICWS ’09, pp 181–188. IEEE Computer Society, Washington, DC, USA. https://doi.org/10.1109/ICWS.2009.99

  23. Martin J (1983) Managing the database environment. Prentice-Hall, Prentice

    Google Scholar 

  24. Mihindukulasooriya N, García-Castro R, Esteban-Gutiérrez M, Gómez-Pérez A (2016) A survey of restful transaction models: One model does not fit all. J Web Eng 15(1–2):130–169

    Google Scholar 

  25. Mihindukulasooriya N, Esteban-Gutiérrez M, García-Castro R (2014) Seven challenges for restful transaction models. In: Proceedings of the 23rd international conference on world wide web, WWW ’14 companion, pp 949–952. ACM, New York, NY. https://doi.org/10.1145/2567948.2579218

  26. Nakamoto S (2008) Bitcoin: A peer-to-peer electronic cash system. http://bitcoin.org/bitcoin.pdf

  27. Nielsen HF, Mogul J, Masinter LM, Fielding RT, Gettys J, Leach PJ, Berners-Lee T (1999) Hypertext Transfer Protocol—HTTP/1.1. RFC 2616. https://doi.org/10.17487/RFC2616

  28. Papazoglou MP, Kratz B (2007) Web services technology in support of business transactions. SOCA 1(1):51–63. https://doi.org/10.1007/s11761-007-0002-3

    Article  Google Scholar 

  29. Papazoglou MP, Traverso P, Dustdar S, Leymann F (2007) Service-oriented computing: state of the art and research challenges. Computer 40(11):38–45. https://doi.org/10.1109/MC.2007.400

    Article  Google Scholar 

  30. Pardon G, Pautasso C (2011) Towards distributed atomic transactions over restful services. In: REST: From research to practice, pp 507–524. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-8303-9_23

  31. Pardon G, Pautasso C (2014) Atomic distributed transactions: a restful design. In: Proceedings of the 23rd international conference on world wide web, WWW ’14 companion, pp 943–948. ACM, New York, NY. https://doi.org/10.1145/2567948.2579221

  32. Pautasso C, Zimmermann O, Leymann F (2008) Restful web services vs. “big” web services: Making the right architectural decision. In: Proceedings of the 17th international conference on world wide web, WWW ’08, p. 805–814. Association for Computing Machinery, New York, NY. https://doi.org/10.1145/1367497.1367606

  33. Razavi A, Marinos A, Moschoyiannis S, Krause P (2009) Restful transactions supported by the isolation theorems. In: Proceedings of the 9th international conference on web engineering, ICWE ’9, pp 394–409. Springer, Berlin. https://doi.org/10.1007/978-3-642-02818-2_32

  34. Richardson L, Ruby S (2007) Restful Web Services, 1st edn. O’Reilly, Newton

    Google Scholar 

  35. Weikum G, Vossen G (2002) Chapter Four—Concurrency control algorithms. In: Weikum G, Vossen G (eds) Transactional information systems. The Morgan Kaufmann series in data management systems, pp 125–183. Morgan Kaufmann, San Francisco. https://doi.org/10.1016/B978-155860508-4/50005-3

Download references

Acknowledgements

This work has received funding from the European Union’s Horizon 2020 research and innovation programme under Blue Cloud project (Grant Agreement No. 862409).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Leonardo Candela.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Frosini, L., Pagano, P., Candela, L. et al. ReLock: a resilient two-phase locking RESTful transaction model. SOCA 15, 75–92 (2021). https://doi.org/10.1007/s11761-020-00311-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-020-00311-z

Keywords

Navigation