Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-642-02655-3_11guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Composing RESTful Services with JOpera

Published: 30 June 2009 Publication History
  • Get Citation Alerts
  • 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.

    References

    [1]
    Richardson, L., Ruby, S.: RESTful Web Services. O'Reilly, Sebastopol (2007).
    [2]
    Fielding, R.: Architectural Styles and The Design of Network-based Software Architectures. PhD thesis, University of California, Irvine (2000).
    [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).
    [4]
    Assmann, U.: Invasive Software Composition. Springer, Heidelberg (2003).
    [5]
    Pautasso, C., Alonso, G.: The JOpera visual composition language. Journal of Visual Languages and Computing (JVLC) 16(1-2), 119-152 (2005).
    [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).
    [8]
    Sessions, R.: Fuzzy boundaries: Objects, components, and web services. ACM Queue 2(9) (December/January 2004-2005).
    [9]
    Erl, T.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice-Hall, Englewood Cliffs (2005).
    [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).
    [12]
    Berners-Lee, T., Fielding, R., Masinter, L.: Uniform Resource Identifier (URI): generic syntax. IETF RFC 3986 (January 2005).
    [13]
    Chappell, D.: Enterprise Service Bus. O'Reilly, Sebastopol (2004).
    [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).
    [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).
    [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).
    [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).
    [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).
    [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).
    [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).
    [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).
    [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).
    [27]
    Vinoski, S.: Serendipitous reuse. IEEE Internet Computing 12(1), 84-87 (2008).
    [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).
    [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).
    [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).
    [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).
    [32]
    Descy, D.E.: Mashups. with or without potatoes. Tech. Trends 51(2), 4-5 (2007).
    [33]
    Trevor, J.: Doing the mobile mash. Computer 41(2), 104-106 (2008).
    [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).
    [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).

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    SC '09: Proceedings of the 8th International Conference on Software Composition
    June 2009
    176 pages
    ISBN:9783642026546
    • Editors:
    • Alexandre Bergel,
    • Johan Fabry

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 30 June 2009

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 12 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2016)Process-aware web programming with JolieScience of Computer Programming10.1016/j.scico.2016.05.002130:C(69-96)Online publication date: 15-Nov-2016
    • (2015)Web Service CompositionACM Computing Surveys10.1145/283127048:3(1-41)Online publication date: 9-Dec-2015
    • (2015)QoS aware descriptions for RESTful service compositionWorld Wide Web10.1007/s11280-014-0278-018:4(767-794)Online publication date: 1-Jul-2015
    • (2015)AbmashSoftware—Practice & Experience10.1002/spe.224945:5(581-612)Online publication date: 1-May-2015
    • (2014)Service composition for end-usersActa Cybernetica10.14232/actacyb.21.3.2014.721:3(383-399)Online publication date: 1-Aug-2014
    • (2014)The COMPOSE API for the internet of thingsProceedings of the 23rd International Conference on World Wide Web10.1145/2567948.2579226(971-976)Online publication date: 7-Apr-2014
    • (2014)End-User Development of Mashups with NaturalMashJournal of Visual Languages and Computing10.1016/j.jvlc.2013.12.00425:4(414-432)Online publication date: 1-Aug-2014
    • (2013)Control-Flow Patterns for Decentralized RESTful Service CompositionACM Transactions on the Web10.1145/25359118:1(1-30)Online publication date: 1-Dec-2013
    • (2013)Semantic metadata to support device interaction in smart environmentsProceedings of the 2013 ACM conference on Pervasive and ubiquitous computing adjunct publication10.1145/2494091.2497584(1505-1514)Online publication date: 8-Sep-2013
    • (2013)Embedded semantic metadata to support device interaction in smart environmentsProceedings of the 2013 ACM conference on Pervasive and ubiquitous computing adjunct publication10.1145/2494091.2494169(243-246)Online publication date: 8-Sep-2013
    • Show More Cited By

    View Options

    View options

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media