Skip to main content

Hop and HipHop: Multitier Web Orchestration

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 8337))

Abstract

Rich applications merge classical computing, client-server concurrency, web-based interfaces, and the complex time- and event-based reactive programming found in embedded systems. To handle them, we extend the Hop web programming platform by HipHop, a domain-specific language dedicated to event-based process orchestration. Borrowing the synchronous reactive model of Esterel, HipHop is based on synchronous concurrency and preemption primitives that are known to be key components for the modular design of complex reactive behaviors. HipHop departs from Esterel by its ability to handle the dynamicity of Web applications, thanks to the reflexivity of Hop. Using a music player example, we show how to modularly build a non-trivial Hop application using HipHop orchestration code.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Berry, G.: The foundations of Esterel. In: Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press (2000)

    Google Scholar 

  2. Berry, G., Nicolas, C., Serrano, M.: HipHop: A Synchronous Reactive Extension for Hop. In: Proceedings of the PLASTIC 2011 Workshop, Portland, USA (October 2011)

    Google Scholar 

  3. Kitchin, D., Cook, W.R., Misra, J.: A language for task orchestration and its semantic properties. In: Baier, C., Hermanns, H. (eds.) CONCUR 2006. LNCS, vol. 4137, pp. 477–491. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  4. Lee, E.A.: The Problem with Threads. IEEE Computer 39(5), 33–42 (2006)

    Article  Google Scholar 

  5. Meyerovich, L.A., Guha, A., Baskin, J., Cooper, G.H., Greenberg, M., Bromfield, A., Krishnamurthi, S.: Flapjax: a programming language for ajax applications. In: Proceeding of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2009, pp. 1–20. ACM, New York (2009)

    Chapter  Google Scholar 

  6. Montesi, F., Guidi, C., Lucchi, R., Zavattaro, G.: Jolie: a java orchestration language interpreter engine. Electr. Notes Theor. Comput. Sci. 181, 19–33 (2007)

    Article  Google Scholar 

  7. Potop-Butucaru, D., Edwards, S.A., Berry, G.: Compiling Esterel. Springer (2007)

    Google Scholar 

  8. Serrano, M., Berry, G.: Multitier Programming in Hop - a first step toward programming 21st-century applications. Communications of the ACM 55(8), 53–59 (2012)

    Article  Google Scholar 

  9. Serrano, M., Gallesio, E., Loitsch, F.: HOP, a language for programming the Web 2.0. In: Proceedings of the First Dynamic Languages Symposium, Portland, Oregon, USA (October 2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Berry, G., Serrano, M. (2014). Hop and HipHop: Multitier Web Orchestration. In: Natarajan, R. (eds) Distributed Computing and Internet Technology. ICDCIT 2014. Lecture Notes in Computer Science, vol 8337. Springer, Cham. https://doi.org/10.1007/978-3-319-04483-5_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-04483-5_1

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-04482-8

  • Online ISBN: 978-3-319-04483-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics