Development and evaluation of MicroBuilder: a Model-Driven tool for the specification of REST Microservice Software Architectures

ABSTRACT In this paper we present MicroBuilder, the tool used for the specification of a software architecture that follows REST microservice design principles. MicroBuilder comprises MicroDSL and MicroGenerator modules. The MicroDSL module provides the MicroDSL domain-specific language used for the specification of REST microservice software architecture. In this paper we present MicroDSL meta-model, specified in Ecore, together with textual and graphical concrete syntaxes, specified using Xtext and Sirius frameworks respectively. The MicroGenerator module is used to generate executable program code based on MicroDSL specification. In this paper we also present results of the MicroBuilder tool evaluation, alongside the case study which illustrates a usage of MicroBuilder.

[1]  Prashant Doshi,et al.  Towards Automated RESTful Web Service Composition , 2009, 2009 IEEE International Conference on Web Services.

[2]  Semih Bilgen,et al.  A framework for qualitative assessment of domain-specific languages , 2015, Software & Systems Modeling.

[3]  Dmitry Namiot,et al.  On micro-services architecture , 2014 .

[4]  Petri Selonen,et al.  Towards a Model-Driven Process for Designing ReSTful Web Services , 2009, 2009 IEEE International Conference on Web Services.

[5]  Frederico Araújo Durão,et al.  RESTful, Resource-Oriented Architectures: A Model-Driven Approach , 2010, WISE Workshops.

[6]  Frank Leymann,et al.  A Model-Driven Approach for REST Compliant Services , 2014, 2014 IEEE International Conference on Web Services.

[7]  Elaine Shi,et al.  Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts , 2016, 2016 IEEE Symposium on Security and Privacy (SP).

[8]  Pooyan Jamshidi,et al.  Migrating to Cloud-Native Architectures Using Microservices: An Experience Report , 2015, ESOCC Workshops.

[9]  Holger Knoche,et al.  Sustaining Runtime Performance while Incrementally Modernizing Transactional Monolithic Software towards Microservices , 2016, ICPE.

[10]  Jordi Cabot,et al.  EMF-REST: generation of RESTful APIs from models , 2016, SAC.

[11]  Heiko Behrens,et al.  Xtext: implement your language faster than the quick and dirty way , 2010, SPLASH/OOPSLA Companion.

[12]  Steve Vinoski RESTful Web Services Development Checklist , 2008, IEEE Internet Computing.

[13]  André van Hoorn,et al.  Model-driven Generation of Microservice Architectures for Benchmarking Performance and Resilience Engineering Approaches , 2017, ICPE Companion.

[14]  Puja Padiya,et al.  Web Services Based On SOAP and REST Principles , 2013 .

[15]  C. Spearman The proof and measurement of association between two things. , 2015, International journal of epidemiology.

[16]  Fabrizio Montesi,et al.  Circuit Breakers, Discovery, and API Gateways in Microservices , 2016, ArXiv.

[17]  Rubby Casallas,et al.  Infrastructure Cost Comparison of Running Web Applications in the Cloud Using AWS Lambda and Monolithic and Microservice Architectures , 2016, 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid).

[18]  Cesare Pautasso,et al.  Restful web services vs. "big"' web services: making the right architectural decision , 2008, WWW.

[19]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[20]  Carlos Angel Iglesias,et al.  Microservices - Lightweight Service Descriptions for REST Architectural Style , 2010, ICAART.

[21]  Cesare Pautasso,et al.  RESTful web services: principles, patterns, emerging technologies , 2010, WWW '10.