Skip to main content

Composing RESTful Services with JOpera

  • Conference paper
Software Composition (SC 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5634))

Included in the following conference series:

Abstract

The REST architectural style is emerging as an alternative technology platform for the realization of service-oriented architectures. In this paper, we apply the notion of composition to RESTful services and derive a set of language features that are required by composition languages for RESTful services: dynamic late binding, dynamic typing, content-type negotiation, state inspection, and compliance with the uniform interface principle. To show how such requirements can be satisfied by an existing composition language, we include a case-study using the JOpera visual composition language. In it, we present how to build a composite application (DoodleMap) out of some well-known, public and currently existing RESTful service APIs.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Richardson, L., Ruby, S.: RESTful Web Services. O’Reilly, Sebastopol (2007)

    Google Scholar 

  2. Fielding, R.: Architectural Styles and The Design of Network-based Software Architectures. PhD thesis, University of California, Irvine (2000)

    Google Scholar 

  3. Daniel, F., Matera, M., Yu, J., Benatallah, B., Saint-Paul, R., Casati, F.: Understanding UI integration: A survey of problems, technologies, and opportunities. IEEE Internet Computing 11(3), 59–66 (2007)

    Article  Google Scholar 

  4. Assmann, U.: Invasive Software Composition. Springer, Heidelberg (2003)

    Book  MATH  Google Scholar 

  5. Pautasso, C., Alonso, G.: The JOpera visual composition language. Journal of Visual Languages and Computing (JVLC) 16(1-2), 119–152 (2005)

    Article  Google Scholar 

  6. Programmable Web: API Dashboard (2009), http://www.programmableweb.com/apis

  7. Szyperski, C.: Component technology - what, where, and how? In: ICSE 2003: Proc. of the 25th International Conference on Software Engineering, Portland, Oregon, pp. 684–693 (2003)

    Google Scholar 

  8. Sessions, R.: Fuzzy boundaries: Objects, components, and web services. ACM Queue 2(9) (December/January 2004-2005)

    Google Scholar 

  9. Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice-Hall, Englewood Cliffs (2005)

    Google Scholar 

  10. Laskey, K., Le Hégaret, P., Newcomer, E. (eds.): Workshop on Web of Services for Enterprise Computing, W3C (February 2007), http://www.w3.org/2007/01/wos-ec-program.html

  11. Fielding, R., Taylor, R.N.: Principled Design of the Modern Web Architecture. ACM Transactions on Internet Technology 2(2), 115–150 (2002)

    Article  Google Scholar 

  12. Berners-Lee, T., Fielding, R., Masinter, L.: Uniform Resource Identifier (URI): generic syntax. IETF RFC 3986 (January 2005)

    Google Scholar 

  13. Chappell, D.: Enterprise Service Bus. O’Reilly, Sebastopol (2004)

    Google Scholar 

  14. Pautasso, C., Wilde, E.: Why is the web loosely coupled? a multi-faceted metric for service design. In: Proc. of the 18th World Wide Web Conference, Madrid, Spain (April 2009)

    Google Scholar 

  15. Crockford, D.: JSON: The fat-free alternative to XML. In: Proc. of XML 2006, Boston, USA (December 2006), http://www.json.org/fatfree.html

  16. Nierstrasz, O., Meijler, T.D.: Requirements for a composition language. In: Selected papers from the ECOOP 1994 Workshop on Models and Languages for Coordination of Parallelism and Distribution, Object-Based Models and Languages for Concurrent Systems, pp. 147–161 (1994)

    Google Scholar 

  17. Wikipedia: Mashup (web application hybrid), http://en.wikipedia.org/wiki/Mashup_web_application_hybrid

  18. Pautasso, C., Alonso, G.: Flexible binding for reusable composition of web services. In: Gschwind, T., Aßmann, U., Nierstrasz, O. (eds.) SC 2005. LNCS, vol. 3628, pp. 151–166. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  19. Pautasso, C., Alonso, G.: From web service composition to megaprogramming. In: Shan, M.-C., Dayal, U., Hsu, M. (eds.) TES 2004. LNCS, vol. 3324, pp. 39–53. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  20. Pautasso, C.: JOpera: Process support for more than Web services, http://www.jopera.org

  21. Eshuis, R., Grefen, P.W.P.J., Till, S.: Structured service composition. In: Dustdar, S., Fiadeiro, J.L., Sheth, A.P. (eds.) BPM 2006. LNCS, vol. 4102, pp. 97–112. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  22. Oberleitner, J., Gschwind, T., Jazayeri, M.: The Vienna component framework enabling composition across component models. In: ICSE 2003: Proceedings of the 25th International Conference on Software Engineering, Portland, Oregon, pp. 25–35 (2003)

    Google Scholar 

  23. Gschwind, T.: Type based adaptation: An adaptation approach for dynamic distributed systems. In: van der Hoek, A., Coen-Porisini, A. (eds.) SEM 2002. LNCS, vol. 2596, pp. 130–143. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  24. Pautasso, C., Zimmermann, O., Leymann, F.: RESTful Web Services vs. Big Web Services: Making the right architectural decision. In: Proc. of the 17th World Wide Web Conference, Beijing, China (April 2008)

    Google Scholar 

  25. OASIS: Web Services Business Process Execution Language (April 2007), http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.pdf

  26. Pautasso, C.: BPEL for REST. In: Dumas, M., Reichert, M., Shan, M.-C. (eds.) BPM 2008. LNCS, vol. 5240, pp. 278–293. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  27. Vinoski, S.: Serendipitous reuse. IEEE Internet Computing 12(1), 84–87 (2008)

    Article  Google Scholar 

  28. Rosenberg, F., Curbera, F., Duftler, M.J., Kahalf, R.: Composing RESTful services and collaborative workflows. IEEE Internet Computing 12(5), 24–31 (September-October 2008)

    Google Scholar 

  29. Curbera, F., Duftler, M., Khalaf, R., Lovell, D.: Bite: Workflow composition for the web. In: Krämer, B.J., Lin, K.-J., Narasimhan, P. (eds.) ICSOC 2007. LNCS, vol. 4749, pp. 94–106. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  30. Decker, G., Luders, A., Schlichting, K., Overdick, H., Weske, M.: RESTful petri net execution. In: 5th International Workshop on Web Services and Formal Methods, Milan, Italy (September 2008)

    Google Scholar 

  31. Xu, X., Zhu, L., Liu, Y., Staples, M.: Resource-oriented architecture for business processes. In: Proc of the 15th Asia-Pacific Software Engineering Conference (APSEC 2008) (December 2008)

    Google Scholar 

  32. Descy, D.E.: Mashups. with or without potatoes. Tech. Trends 51(2), 4–5 (2007)

    Google Scholar 

  33. Trevor, J.: Doing the mobile mash. Computer 41(2), 104–106 (2008)

    Article  Google Scholar 

  34. Microsoft: Popfly, http://www.popfly.ms/

  35. Maximilien, E.M., Wilkinson, H., Desai, N., Tai, S.: A domain-specific language for Web APIs and services mashups. In: Proc. of the 5th International Conference on Service-Oriented Computing (ICSOC 2007), Vienna, Austria, pp. 13–26 (September 2007)

    Google Scholar 

  36. Yu, J., Benatallah, B., Casati, F., Daniel, F., Matera, M., Saint-Paul, R.: Mixup: A development and runtime environment for integration at the presentation layer. In: Baresi, L., Fraternali, P., Houben, G.-J. (eds.) ICWE 2007. LNCS, vol. 4607, pp. 479–484. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Pautasso, C. (2009). Composing RESTful Services with JOpera. In: Bergel, A., Fabry, J. (eds) Software Composition. SC 2009. Lecture Notes in Computer Science, vol 5634. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02655-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02655-3_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02654-6

  • Online ISBN: 978-3-642-02655-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics