Skip to main content

2019 | OriginalPaper | Buchkapitel

A Model-Driven Method for Fast Building Consistent Web Services from OpenAPI-Compatible Models

verfasst von : David Sferruzza, Jérôme Rocheteau, Christian Attiogbé, Arnaud Lanoix

Erschienen in: Model-Driven Engineering and Software Development

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Lots of software companies rely on web technologies to test market hypotheses in order to develop viable businesses. They often need to quickly build web services that are at the core of their Minimum Viable Products (MVPs). MVPs must be reliable whereas they are based on specifications and hypotheses that are likely to change. Web services need to be well documented, to make it easy to develop applications that consume them. Model Driven Engineering approaches have been proposed and used to develop and evolve web services on one hand, and document them on the other hand. However, these approaches lack the ability to be suitable for both (i) rapid prototyping, (ii) model verification, (iii) compatibility with common programming languages and (iv) alignment between documentation and implementation. Here we propose a meta-model to express web services, the related tool to verify models consistency and an integration of this approach into the OpenAPI Specification. We adopt a shallow verification process to allow rapid prototyping by developers who are not formal methods experts, while still offering design-time guarantees that improve product quality and development efficiency. Web services are defined using parametric components which enable to express and formally verify web service patterns and to safely reuse them in other contexts. We built a tool to check consistency of extended OpenAPI 3.0 models and associated components implementations in order to generate corresponding web services. This allows us to give flexibility and verification support to developers, even in the context of an incremental development, as illustrated by a case study.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
6
The unstable version 3.0.0-rc0 does support OpenAPI 3.0 but is not yet finished and handle only a few languages and frameworks.
 
9
https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-11030-7_2/479032_1_En_2_IEq81_HTML.gif is equivalent to https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-11030-7_2/479032_1_En_2_IEq82_HTML.gif .
 
10
In the https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-11030-7_2/479032_1_En_2_IEq89_HTML.gif path.
 
11
Their paths are https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-11030-7_2/479032_1_En_2_IEq90_HTML.gif and https://static-content.springer.com/image/chp%3A10.1007%2F978-3-030-11030-7_2/479032_1_En_2_IEq91_HTML.gif .
 
12
In the x-swsg-ci property of the service.
 
13
In a x-swsg-name property.
 
14
The PHP class in Listing 6 depends on the Component interface and on the Ctx and Params classes. They are defined in code output by the code generator and are just implementation details of the SWSG specification in this specific code generator. Different code generators could require different constraints on implementations of atomic components.
 
Literatur
3.
Zurück zum Zitat DeRemer, F., Kron, H.: Programming-in-the large versus programming-in-the-small. In: ACM SIGPLAN Notices, vol. 10, pp. 114–121. ACM (1975) DeRemer, F., Kron, H.: Programming-in-the large versus programming-in-the-small. In: ACM SIGPLAN Notices, vol. 10, pp. 114–121. ACM (1975)
4.
Zurück zum Zitat Bernardi, M.L., Cimitile, M., Di Lucca, G., Maria Maggi, F.: M3D: a tool for the model driven development of web applications. In: Proceedings of the Twelfth International Workshop on Web Information and Data Management, pp. 73–80 (2012) Bernardi, M.L., Cimitile, M., Di Lucca, G., Maria Maggi, F.: M3D: a tool for the model driven development of web applications. In: Proceedings of the Twelfth International Workshop on Web Information and Data Management, pp. 73–80 (2012)
5.
Zurück zum Zitat Rocheteau, J., Sferruzza, D.: Reifier: Model-Driven Engineering of Component-Based and Service-Oriented JEE Applications (2016) Rocheteau, J., Sferruzza, D.: Reifier: Model-Driven Engineering of Component-Based and Service-Oriented JEE Applications (2016)
8.
Zurück zum Zitat Sferruzza, D., Rocheteau, J., Attiogbé, C., Lanoix, A.: A Model-Driven Method for Fast Building Consistent Web Services in Practice (2018) Sferruzza, D., Rocheteau, J., Attiogbé, C., Lanoix, A.: A Model-Driven Method for Fast Building Consistent Web Services in Practice (2018)
9.
Zurück zum Zitat Bernardi, M.L., Cimitile, M., Maggi, F.M.: Automated development of constraint-driven web applications. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, pp. 1196–1203. ACM (2016) Bernardi, M.L., Cimitile, M., Maggi, F.M.: Automated development of constraint-driven web applications. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, pp. 1196–1203. ACM (2016)
10.
Zurück zum Zitat Fu, X., Bultan, T., Su, J.: Analysis of interacting BPEL web services. In: Proceedings of the 13th International World Wide Web Conference. Citeseer (2004) Fu, X., Bultan, T., Su, J.: Analysis of interacting BPEL web services. In: Proceedings of the 13th International World Wide Web Conference. Citeseer (2004)
11.
Zurück zum Zitat Gronmo, R., Skogan, D., Solheim, I., Oldevik, J.: Model-driven web services development. In: e-Technology, e-Commerce and e-Service, pp. 42–45. IEEE (2004) Gronmo, R., Skogan, D., Solheim, I., Oldevik, J.: Model-driven web services development. In: e-Technology, e-Commerce and e-Service, pp. 42–45. IEEE (2004)
12.
Zurück zum Zitat van der Aalst, W.M.P., Pesic, M., Schonenberg, H.: Declarative workflows: balancing between flexibility and support. Comp. Sci. Res. Dev. 23, 99–113 (2009)CrossRef van der Aalst, W.M.P., Pesic, M., Schonenberg, H.: Declarative workflows: balancing between flexibility and support. Comp. Sci. Res. Dev. 23, 99–113 (2009)CrossRef
15.
Zurück zum Zitat Tsouroplis, R., Petychakis, M., Alvertis, I., Biliri, E., Askounis, D.: Community-based API builder to manage APIs and their connections with Cloud-based Services. In: CAiSE Forum, pp. 17–23 (2015) Tsouroplis, R., Petychakis, M., Alvertis, I., Biliri, E., Askounis, D.: Community-based API builder to manage APIs and their connections with Cloud-based Services. In: CAiSE Forum, pp. 17–23 (2015)
16.
Zurück zum Zitat Schwichtenberg, S., Gerth, C., Engels, G.: From open API to semantic specifications and code adapters. In: 2017 IEEE International Conference on Web Services (ICWS), pp. 484–491. IEEE (2017) Schwichtenberg, S., Gerth, C., Engels, G.: From open API to semantic specifications and code adapters. In: 2017 IEEE International Conference on Web Services (ICWS), pp. 484–491. IEEE (2017)
17.
Zurück zum Zitat Willighagen, E., Mélius, J.: Automatic OpenAPI to Bio.tools Conversion (2017) Willighagen, E., Mélius, J.: Automatic OpenAPI to Bio.tools Conversion (2017)
18.
Zurück zum Zitat Pugaczewski, J., Cummings, T., Hunter, D., Michalik, B.: Software engineering methodology for development of APIs for network management using the MEF LSO framework. IEEE Commun. Stand. Mag. 1(1), 92–96 (2017)CrossRef Pugaczewski, J., Cummings, T., Hunter, D., Michalik, B.: Software engineering methodology for development of APIs for network management using the MEF LSO framework. IEEE Commun. Stand. Mag. 1(1), 92–96 (2017)CrossRef
20.
Zurück zum Zitat Wadler, P.: The essence of functional programming. In: Proceedings of the 19th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 1–14. ACM (1992) Wadler, P.: The essence of functional programming. In: Proceedings of the 19th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 1–14. ACM (1992)
Metadaten
Titel
A Model-Driven Method for Fast Building Consistent Web Services from OpenAPI-Compatible Models
verfasst von
David Sferruzza
Jérôme Rocheteau
Christian Attiogbé
Arnaud Lanoix
Copyright-Jahr
2019
DOI
https://doi.org/10.1007/978-3-030-11030-7_2