An API-first methodology for designing a microservice-based Backend as a Service platform

Authors

DOI:

https://doi.org/10.5755/j01.itc.49.2.23757

Keywords:

API-First approach, API testing, Backend as a Service (BaaS), cloud computing, microservice architecture

Abstract

Over the last several years, cloud computing has imposed as a major paradigm in software development by providing computer resources over the Internet. Among various cloud service models, Backend as a Service (BaaS) stands out as a model that targets the specific needs of web and mobile developers. By providing the backend for applications, it facilitates and expedites the software development process. In order to prevent major problems with the use of third-party BaaS providers, this paper advocates building your own BaaS platform, as well as several works ahead of it. However, the development of a BaaS platform carries various challenges regarding architecture and design. This paper strives to define the core service offerings of a BaaS platform and propose a method for providing an architectural design of a BaaS platform based on a microservice architecture. Microservice architecture is the preferred architectural style for cloud solutions since it promotes loose coupling, ease of scaling and integration with third-party services, which are fundamental stipulations of BaaS platforms. The methodology adopted in designing a microservice-based BaaS platform was formed in accordance with an Application Programming Interface (API)-first approach, which strives to design a suitable, representative API of the platform. To the best of authors’ knowledge, this paper proposes the lowest-level design of a BaaS platform so far, describing the entity relations, integration patterns, and communication styles. Ultimately, the proposed design was implemented and tested for its functional requirements. In that regard, specific test cases that mirror the actual workflow of the BaaS platform were constructed.

Author Biographies

Mario Dudjak, Faculty of Electrical Engineering, Computer Science and Information Technology Osijek

Mario Dudjak obtained the Bachelor and Master degrees in computer engineering from the Faculty of Electrical Engineering, Computer Science and Information Technology, J.J. Strossmayer University of Osijek in 2016 and 2018, respectively. He is currently pursuing the Ph.D. degree at the Faculty of Electrical Engineering, Computer Science and Information Technology. His research interests are real-time machine learning and computer vision.

Goran Martinović, Faculty of Electrical Engineering, Computer Science and Information Technology Osijek

Goran Martinovic is a full professor of computer science. He obtained his B.Sc.E.E. degree from the Faculty of Electrical Engineering, J.J. Strossmayer University of Osijek in 1996. In 2000 and 2004, he obtained his M.Sc. and Ph.D. degrees in computer science, both from the Faculty of Electrical Engineering and Computing, University of Zagreb. His research interests include computational intelligence, data analysis, distributed computer systems and real-time systems. He is a member of the IEEE, ACM and KOREMA and IEEE SMC Technical Committee on Distributed Intelligent Systems.

Downloads

Published

2020-09-23

Issue

Section

Articles