ANY2API – Automated APIfication - Generating APIs for Executables to Ease their Integration and Orchestration for Cloud Application Deployment Automation

Johannes Wettinger, Uwe Breitenbücher, Frank Leymann

2015

Abstract

APIs are a popular means to expose functionality provided by Cloud-based systems, which are utilized to integrate and orchestrate application as well as management functionality in a programmatic manner. In the domain of application management, they are used to fully automate management processes, for example, to deploy Cloud-based Web applications or back-ends for mobile apps. However, as not all required functionality is exposed through an API natively, such processes additionally involve a multitude of other heterogeneous technologies such as scripting languages and deployment automation tooling. Consequently, combining different technologies in an efficient manner is a complex integration challenge. In this paper, we present a generic approach for automatically generating API implementations for arbitrary executables such as scripts and compiled programs, which are not natively exposed as APIs. This APIfication tackles the aforementioned integration challenges by unifying the invocation of heterogeneous technologies while avoiding the costly and manual wrapping of existing executables because it does not scale. We further present the modular and extensible open-source framework ANY2API that implements our APIfication approach. Furthermore, we evaluate the approach and the framework by measuring the overhead of generating and using API implementations. In addition, we conduct a detailed case study to confirm the technical feasibility of the approach.

References

  1. Afanasiev, A., Sukhoroslov, O., and Voloshinov, V. (2013). MathCloud: Publication and Reuse of Scientific Applications as RESTful Web Services. In Parallel Computing Technologies. Springer.
  2. Binz, T., Breitenb ücher, U., Haupt, F., Kopp, O., Leymann, F., Nowak, A., and Wagner, S. (2013). OpenTOSCA - A Runtime for TOSCA-based Cloud Applications. In Proceedings of the 11th International Conference on Service-Oriented Computing, LNCS. Springer.
  3. Binz, T., Breitenb ücher, U., Kopp, O., and Leymann, F. (2014). TOSCA: Portable Automated Deployment and Management of Cloud Applications, pages 527-549. Advanced Web Services. Springer.
  4. Guinard, D., Trifa, V., and Wilde, E. (2010). A Resource Oriented Architecture for the Web of Things. In Internet of Things (IOT), 2010. IEEE.
  5. Humble, J. and Farley, D. (2010). Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation. Addison-Wesley Professional.
  6. Hü ttermann, M. (2012). DevOps for Developers. Apress.
  7. IETF (2011). The WebSocket Protocol.
  8. Internet Engineering Task Force (2013). JSON Schema.
  9. Kopp, O., Binz, T., Breitenbücher, U., and Leymann, F. (2013). Winery - A Modeling Tool for TOSCA-based Cloud Applications. In Proceedings of the 11th International Conference on Service-Oriented Computing, volume 8274 of LNCS. Springer Berlin Heidelberg.
  10. Krishnan, S., Clementi, L., Ren, J., Papadopoulos, P., and Li, W. (2009). Design and Evaluation of Opal2: A Toolkit for Scientific Software as a Service. In World Conference on Services I. IEEE.
  11. Masse, M. (2011). REST API Design Rulebook. O'Reilly Media, Inc.
  12. Mell, P. and Grance, T. (2011). The NIST Definition of Cloud Computing. National Institute of Standards and Technology.
  13. Nelson-Smith, S. (2013). Test-Driven Infrastructure with Chef. O'Reilly Media, Inc.
  14. OASIS (2007). Web Services Business Process Execution Language (BPEL) Version 2.0.
  15. OMG (2011). Business process model and notation (BPMN) version 2.0.
  16. Pepple, K. (2011). Deploying OpenStack. O'Reilly Media.
  17. Richardson, L., Amundsen, M., and Ruby, S. (2013). RESTful Web APIs. O'Reilly Media, Inc.
  18. Rudrakshi, C., Varshney, A., Yadla, B., Kanneganti, R., and Somalwar, K. (2014). API-fication - Core Building Block of the Digital Enterprise. Technical report, HCL Technologies.
  19. Sabharwal, N. and Wadhwa, M. (2014). Automation through Chef Opscode: A Hands-on Approach to Chef. Apress.
  20. Scheepers, M. J. (2014). Virtualization and Containerization of Application Infrastructure: A Comparison.
  21. Sukhoroslov, O. and Afanasiev, A. (2014). Everest: A Cloud Platform for Computational Web Services. In Proceedings of the 4th International Conference on Cloud Computing and Services Science. SciTePress.
  22. Turnbull, J. (2014). The Docker Book. James Turnbull.
  23. W3C (2007). SOAP Specification, Version 1.2.
  24. Wettinger, J., Binz, T., Breitenbücher, U., Kopp, O., Leymann, F., and Zimmermann, M. (2014a). 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. SciTePress.
  25. Wettinger, J., Breitenbücher, U., and Leymann, F. (2014b). Standards-based DevOps Automation and Integration Using TOSCA. In Proceedings of the 7th International Conference on Utility and Cloud Computing (UCC).
  26. World Wide Web Consortium (W3C) (2012). XML Schema.
  27. Yang, X., Wang, L., and Jie, W. (2011). Guide to e-Science. Springer.
Download


Paper Citation


in Harvard Style

Wettinger J., Breitenbücher U. and Leymann F. (2015). ANY2API – Automated APIfication - Generating APIs for Executables to Ease their Integration and Orchestration for Cloud Application Deployment Automation . In Proceedings of the 5th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER, ISBN 978-989-758-104-5, pages 475-486. DOI: 10.5220/0005472704750486


in Bibtex Style

@conference{closer15,
author={Johannes Wettinger and Uwe Breitenbücher and Frank Leymann},
title={ANY2API – Automated APIfication - Generating APIs for Executables to Ease their Integration and Orchestration for Cloud Application Deployment Automation},
booktitle={Proceedings of the 5th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,},
year={2015},
pages={475-486},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005472704750486},
isbn={978-989-758-104-5},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,
TI - ANY2API – Automated APIfication - Generating APIs for Executables to Ease their Integration and Orchestration for Cloud Application Deployment Automation
SN - 978-989-758-104-5
AU - Wettinger J.
AU - Breitenbücher U.
AU - Leymann F.
PY - 2015
SP - 475
EP - 486
DO - 10.5220/0005472704750486