skip to main content
10.1145/2661136.2661146acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Towards Tierless Web Development without Tierless Languages

Published:14 October 2014Publication History

ABSTRACT

Tierless programming languages enable developing the typical server, client and database tiers of a web application as a single mono-linguistic program. This development style is in stark contrast to the current practice which requires combining multiple technologies and programming languages. A myriad of tierless programming languages has already been proposed, often featuring a JavaScript-like syntax. Instead of introducing yet another, we advocate that it should be possible to develop tierless web applications in existing general-purpose languages. This not only reduces the complexity that developers are exposed to, but also precludes the need for new development tools. We concretize this novel approach to tierless programming by discussing requirements on its future instantiations. We explore the design space of the program analysis for determining and the program transformation for realizing the tier split respectively. The former corresponds to new adaptations of an old familiar, program slicing, for tier splitting. The latter includes several strategies for handling cross-tier function calls and data accesses. Using a prototype instantiation for JavaScript, we demonstrate the feasibility of our approach on an example web application. We conclude with a discussion of open questions and challenges for future research.

References

  1. S. Burckhardt, M. Fähndrich, D. Leijen, and B. P. Wood. Cloud Types for Eventual Consistency. In ECOOP'12, pages 283--307, Berlin, Heidelberg, 2012. Springer-Verlag. ISBN 978-3-642-31056-0. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Cooper, S. Lindley, P. Wadler, and J. Yallop. Links: Web programming Without Tiers. In FMCO. Springer-Verlag, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. F. Kereki. Essential GWT: Building for the Web with Google Web Toolkit 2. Addison-Wesley Professional, 1st edition, 2010. ISBN 0321705149, 9780321705143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Leijen. Koka: Programming with Row-Polymorphic Effect Types. Technical report, Microsoft Research, 2013.Google ScholarGoogle Scholar
  5. D. Manolescu, B. Beckman, and B. Livshits. Volta: Developing Distributed Applications by Recompiling. IEEE Softw., 25 (5): 53--59, Sept. 2008. ISSN 0740-7459. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Maras, J. Carlson, and I. Crnkovic. Client-side web application slicing. In ASE, pages 504--507, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. P. Mohapatra, R. Mall, and R. Kumar. A Novel Approach for Dynamic Slicing of Distributed Object-oriented Programs. In ICDCIT'04, pages 304--309, Berlin, Heidelberg, 2004. Springer-Verlag. ISBN 3-540-24075-6, 978-3-540-24075-4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Nicolay, C. Noguera, C. De Roover, and W. De Meuter. Determining Coupling In JavaScript Using Object Type Inference. In SCAM13, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  9. F. Ricca and P. Tonella. Web application slicing. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01), ICSM '01, pages 148--, Washington, DC, USA, 2001. IEEE Computer Society. ISBN 0-7695-1189-9. 10.1109/ICSM.2001.972725. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. M. Serrano, E. Gallesio, and F. Loitsch. Hop: a Language for Programming the Web 2.0. In OOPSLA Companion, pages 975--985, 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. E. Tilevich and Y. Smaragdakis. J-orchestra: Automatic java application partitioning. In Proceedings of the 16th European Conference on Object-Oriented Programming, ECOOP '02, pages 178--204, London, UK, UK, 2002. Springer-Verlag. ISBN 3-540-43759-2. URL http://dl.acm.org/citation.cfm?id=646159.680022. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. N. Tillmann, M. Moskal, J. de Halleux, and M. Fahndrich. Touchdevelop: Programming cloud-connected mobile devices via touchscreen. In Proceedings of the 10th SIGPLAN Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, ONWARD '11, pages 49--60, New York, NY, USA, 2011. ACM. ISBN 978-1-4503-0941-7. 10.1145/2048237.2048245. URL http://doi.acm.org/10.1145/2048237.2048245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Tonella and F. Ricca. Web application slicing in presence of dynamic code generation. Automated Software Engg., 12 (2): 259--288, Apr. 2005. ISSN 0928-8910. 10.1007/s10515-005-6208-8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Weiser. Program slicing. IEEE Trans. Software Eng., 10 (4): 352--357, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards Tierless Web Development without Tierless Languages

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in
              • Published in

                cover image ACM Conferences
                Onward! 2014: Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software
                October 2014
                332 pages
                ISBN:9781450332101
                DOI:10.1145/2661136

                Copyright © 2014 ACM

                Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 14 October 2014

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                Onward! 2014 Paper Acceptance Rate16of35submissions,46%Overall Acceptance Rate40of105submissions,38%

                Upcoming Conference

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader