Skip to main content

A Method and Programming Model for Developing Interacting Cloud Applications Based on the TOSCA Standard

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Business Information Processing ((LNBIP,volume 321))

Abstract

Many cloud applications are composed of several interacting components and services. The communication between these components can be enabled, for example, by using standards such as WSDL and the workflow technology. In order to wire these components several endpoints must be exchanged, e.g., the IP addresses of deployed services. However, this exchange of endpoint information is highly dependent on the (i) middleware technologies, (ii) programming languages, and (iii) deployment technology used in a concrete scenario and, thus, increases the complexity of implementing such interacting applications. In this paper, we propose a programming model that eases the implementation of interacting components of automatically deployed TOSCA-based applications. Furthermore, we present a method following our programming model, which describes how such a cloud application can be systematically modeled, developed, and automatically deployed based on the TOSCA standard and how code generation capabilities can be utilized for this. The practical feasibility of the presented approach is validated by a system architecture and a prototypical implementation based on the OpenTOSCA ecosystem. This work is an extension of our previous research we presented at the International Conference on Enterprise Information Systems (ICEIS).

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 EPUB and 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

Notes

  1. 1.

    https://docs.docker.com/compose/.

  2. 2.

    https://docs.docker.com/compose/.

  3. 3.

    http://kubernetes.io/.

  4. 4.

    This is a general requirement for deploying composite applications. Of course, this does not apply to hard-wired scenarios, which are not the focus of this work.

  5. 5.

    https://www.w3.org/TR/ws-addr-core/.

  6. 6.

    We also developed a TOSCA-specific workflow modeling extension called BPMN4TOSCA [14, 16] that eases developing management plans.

  7. 7.

    This section is based on our previous work but extends it by a schematic overview of the extension and a schematic description of the generated code-skeletons [37].

  8. 8.

    Of course, other kinds of middleware may also be used similarly for realizing our programming model, e.g., a messaging middleware. This is part of our future work.

  9. 9.

    Output parameters can be specified the same way.

  10. 10.

    For testing, instructions to automatically deploy the ecosystem can be found at http://install.opentosca.org.

  11. 11.

    https://projects.eclipse.org/projects/soa.winery.

  12. 12.

    https://www.github.com/OpenTOSCA.

  13. 13.

    Details about this deployment can be found in Breitenbücher et al. [4].

  14. 14.

    https://www.docker.com/products/docker-compose.

  15. 15.

    https://www.docker.com/products/docker-swarm.

  16. 16.

    http://kubernetes.io/.

References

  1. Bernstein, D.: Containers and cloud: from LXC to docker to kubernetes. IEEE Cloud Comput. 1(3), 81–84 (2014)

    Article  Google Scholar 

  2. Binz, T., Breitenbücher, U., Haupt, F., Kopp, O., Leymann, F., Nowak, A., Wagner, S.: OpenTOSCA – a runtime for TOSCA-based cloud applications. In: Basu, S., Pautasso, C., Zhang, L., Fu, X. (eds.) ICSOC 2013. LNCS, vol. 8274, pp. 692–695. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45005-1_62

    Chapter  Google Scholar 

  3. Binz, T., Breitenbücher, U., Kopp, O., Leymann, F.: TOSCA: Portable Automated Deployment and Management of Cloud Applications. Advanced Web Services, pp. 527–549. Springer, New York (2014)

    Google Scholar 

  4. Breitenbücher, U., Binz, T., Képes, K., Kopp, O., Leymann, F., Wettinger, J.: Combining declarative and imperative cloud application provisioning based on TOSCA. In: International Conference on Cloud Engineering (IC2E 2014). pp. 87–96. IEEE, March 2014

    Google Scholar 

  5. Breitenbücher, U., Binz, T., Kopp, O., Leymann, F.: Vinothek - A self-service portal for TOSCA. In: Proceedings of the 6th Central-European Workshop on Services and their Composition (ZEUS 2014), pp. 69–72. CEUR-WS.org, February 2014

    Google Scholar 

  6. Breitenbücher, U., Binz, T., Kopp, O., Leymann, F., Schumm, D.: Vino4TOSCA: a visual notation for application topologies based on TOSCA. In: Meersman, R., Panetto, H., Dillon, T., Rinderle-Ma, S., Dadam, P., Zhou, X., Pearson, S., Ferscha, A., Bergamaschi, S., Cruz, I.F. (eds.) OTM 2012. LNCS, vol. 7565, pp. 416–424. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33606-5_25

    Chapter  Google Scholar 

  7. Breitenbücher, U., Binz, T., Kopp, O., Leymann, F., Wettinger, J.: Integrated cloud application provisioning: interconnecting service-centric and script-centric management technologies. In: Meersman, R., Panetto, H., Dillon, T., Eder, J., Bellahsene, Z., Ritter, N., De Leenheer, P., Dou, D. (eds.) OTM 2013. LNCS, vol. 8185, pp. 130–148. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41030-7_9

    Chapter  Google Scholar 

  8. Burns, B., Grant, B., Oppenheimer, D., Brewer, E., Wilkes, J.: Borg, Omega, and Kubernetes. Commun. ACM 59(5), 50–57 (2016)

    Article  Google Scholar 

  9. Chappell, D.A.: Enterprise Service Bus. O’Reilly, USA (2004)

    Google Scholar 

  10. De Antonellis, V., Melchiori, M., De Santis, L., Mecella, M., Mussi, E., Pernici, B., Plebani, P.: A layered architecture for flexible web service invocation. Softw. Pract. Exp. 36(2), 191–223 (2006)

    Article  Google Scholar 

  11. Guth, J., Breitenbücher, U., Falkenthal, M., Leymann, F., Reinfurt, L.: Comparison of IoT platform architectures: a field study based on a reference architecture. In: Proceedings of the International Conference on Cloudification of the Internet of Things (CIoT 2016). IEEE, November 2016

    Google Scholar 

  12. Happ, D., Wolisz, A.: Limitations of the Pub/Sub pattern for cloud based IoT and their implications. In: 2nd International Conference on Cloudification of the Internet of Things (CIoT 2016). IEEE, November 2016

    Google Scholar 

  13. Hirmer, P., Breitenbücher, U., Binz, T., Leymann, F., et al.: Automatic topology completion of TOSCA-based cloud applications. In: GI-Jahrestagung, vol. P-251, pp. 247–258. GI, September 2014

    Google Scholar 

  14. Kopp, O., Binz, T., Breitenbücher, U., Leymann, F.: BPMN4TOSCA: a domain-specific language to model management plans for composite applications. In: Mendling, J., Weidlich, M. (eds.) BPMN 2012. LNBIP, vol. 125, pp. 38–52. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33155-8_4

    Chapter  Google Scholar 

  15. Kopp, O., Binz, T., Breitenbücher, U., Leymann, F.: Winery – a modeling tool for TOSCA-based cloud applications. In: Basu, S., Pautasso, C., Zhang, L., Fu, X. (eds.) ICSOC 2013. LNCS, vol. 8274, pp. 700–704. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-45005-1_64

    Chapter  Google Scholar 

  16. Kopp, O., Binz, T., Breitenbücher, U., Leymann, F., Michelbach, T.: A domain-specific modeling tool to model management plans for composite applications. In: Proceedings of the 7th Central European Workshop on Services and their Composition, ZEUS 2015, pp. 51–54. CEUR Workshop Proceedings, May 2015

    Google Scholar 

  17. Leitner, P., Rosenberg, F., Dustdar, S.: Daios: efficient dynamic web service invocation. Internet Comput. IEEE 13(3), 72–80 (2009)

    Article  Google Scholar 

  18. Leymann, F.: Cloud computing: the next revolution in IT. In: Proceedings of the 52nd Photogrammetric Week, pp. 3–12. Wichmann Verlag, September 2009

    Google Scholar 

  19. Mohaan, M., Raithatha, R.: Learning Ansible. Packt Publishing, Birmingham (2014)

    Google Scholar 

  20. Nagano, S., Hasegawa, T., Ohsuga, A., Honiden, S.: Dynamic invocation model of web services using subsumption relations. In: Proceedings of the International Conference on Web Services (ICWS 2004), pp. 150–156. IEEE, July 2004

    Google Scholar 

  21. OASIS: Web Services Business Process Execution Language (WS-BPEL) Version 2.0. Organization for the Advancement of Structured Information Standards (OASIS) (2007)

    Google Scholar 

  22. OASIS: Topology and Orchestration Specification for Cloud Applications (TOSCA) Primer Version 1.0. Organization for the Advancement of Structured Information Standards (OASIS) (2013)

    Google Scholar 

  23. OASIS: Topology and Orchestration Specification for Cloud Applications (TOSCA) Version 1.0. Organization for the Advancement of Structured Information Standards (OASIS) (2013)

    Google Scholar 

  24. OMG: Business Process Model and Notation (BPMN) Version 2.0. Object Management Group (OMG) (2011)

    Google Scholar 

  25. OMG: CORBA 3.3. Object Management Group (OMG) (2012)

    Google Scholar 

  26. Oracle: Java Remote Method Invocation - Distributed Computing for Java (2010). http://www.oracle.com/technetwork/java/javase/tech/index-jsp-138781.html

  27. Pahl, C.: Containerisation and the PaaS cloud. IEEE Cloud Comput. 2(3), 24–31 (2015)

    Article  Google Scholar 

  28. da Silva, A.C.F., Breitenbücher, U., Képes, K., Kopp, O., Leymann, F.: OpenTOSCA for IoT: Automating the deployment of IoT applications based on the mosquitto message broker. In: Proceedings of the 6th International Conference on the Internet of Things (IoT 2016), pp. 181–182. ACM, November 2016

    Google Scholar 

  29. Stahl, T., Voelter, M., Czarnecki, K.: Model-driven software development. Technology, Engineering, Management. Wiley, Chichester (2006)

    Google Scholar 

  30. Taylor, M., Vargo, S.: Learning Chef. A Guide to Configuration Management and Automation. O’Reilly, Sebastopol (2014)

    Google Scholar 

  31. Tosatto, A., Ruiu, P., Attanasio, A.: Container-Based orchestration in cloud: state of the art and challenges. In: Ninth International Conference on Complex, Intelligent, and Software Intensive Systems (CISIS 2015), pp. 70–75. IEEE (Jul 2015)

    Google Scholar 

  32. W3C: Web Service Definition Language (WSDL) Version 1.1. World Wide Web Consortium (2001)

    Google Scholar 

  33. W3C: Web Services Addressing (WS-Addressing). World Wide Web Consortium (2004)

    Google Scholar 

  34. Wettinger, J., Binz, T., Breitenbücher, U., Kopp, O., Leymann, F., Zimmermann, M.: Unified invocation of scripts and services for provisioning, deployment, and management of cloud applications based on TOSCA. In: Proceedings of the 4th International Conference on Cloud Computing and Services Science (CLOSER 2014), pp. 559–568. SciTePress, April 2014

    Google Scholar 

  35. Wettinger, J., Breitenbücher, U., Leymann, F.: Standards-based DevOps automation and integration using TOSCA. In: Proceedings of the 7th International Conference on Utility and Cloud Computing (UCC 2014), pp. 59–68. IEEE, December 2014

    Google Scholar 

  36. Zimmermann, M., Breitenbücher, U., Falkenthal, M., Leymann, F., Saatkamp, K.: Standards-based function shipping - how to use TOSCA for shipping and executing data analytics software in remote manufacturing environments. In: Proceedings of the 21st IEEE International Enterprise Distributed Object Computing Conference (EDOC 2017). IEEE, October 2017

    Google Scholar 

  37. Zimmermann, M., Breitenbücher, U., Leymann, F.: A TOSCA-based programming model for interacting components of automatically deployed cloud and IoT applications. In: Proceedings of the 19th International Conference on Enterprise Information Systems (ICEIS), pp. 121–131. SciTePress, April 2017

    Google Scholar 

Download references

Acknowledgements

This work was partially funded by the BMWi project SmartOrchestra (01MD16001F).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Zimmermann .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Zimmermann, M., Breitenbücher, U., Leymann, F. (2018). A Method and Programming Model for Developing Interacting Cloud Applications Based on the TOSCA Standard. In: Hammoudi, S., Śmiałek, M., Camp, O., Filipe, J. (eds) Enterprise Information Systems. ICEIS 2017. Lecture Notes in Business Information Processing, vol 321. Springer, Cham. https://doi.org/10.1007/978-3-319-93375-7_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-93375-7_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-93374-0

  • Online ISBN: 978-3-319-93375-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics