MSDeveloper: A Variability-Guided Methodology for Microservice-Based Development

2022-11-01
Dolu, Betul Kuruoglu
Çetinkaya, Anıl
Kaya, Muhammed Çağrı
Nazlioglu, Selma
Dogru, Ali H.
This article presents a microservice-based development approach, MSDeveloper (Microservices Developer), employing variability management for product configuration through a low-code development environment. The purpose of this approach is to offer a general-purpose environment for the easier development of families of products for different domains: a domain-oriented development environment is suggested, where domain developers and product developers can utilize the environment as a software ecosystem. Thus, genericity is offered through supporting different domains. A domain is populated with feature and process models and microservices in a layered architecture. Feature models drive the product configuration, which affects the process model and the microservice layer. An experimental study was conducted to validate the applicability of the approach and the usability of the development environment. Students from different courses were assigned system modeling projects where they utilized helper tools supporting the provided methodology. Furthermore, professional software developers were consulted about this recommended domain-oriented development environment. Feedback from student projects and professionals’ remarks are analyzed and discussed.
APPLIED SCIENCES

Suggestions

A VARIABILITY-GUIDED METHODOLOGY FOR MICROSERVICE-BASED DEVELOPMENT
Kuruoğlu Dolu, Betül; Doğru, Ali Hikmet; Department of Computer Engineering (2022-12-20)
This thesis presents a microservice-based development approach, MSDeveloper (Microservices Developer), employing variability management for product configuration through a low-code development environment. The purpose of this approach is to offer a general-purpose environment for the easier development of families of products for different domains: a domain-oriented development environment is suggested, where domain developers and product developers can utilize the environment as a software ecosystem. Thus,...
Interoperability by means of configurable connectors
Kaya, Muhammed Çağrı; Doğru, Ali H.; Department of Computer Engineering (2020)
A configurable connector-based software development methodology for componentbased approaches is presented. This method involves the incorporation of variability modeling capabilities into component modeling environments. The focus of this research is on supporting technologies for the combination of parts that are not directly compatible. In the scope of this research, firstly, proposals for the configurable connector paradigm are put forth, that are, achieving interoperability among system components by u...
CLOUDGEN: Workload generation for the evaluation of cloud computing systems CLOUDGEN: Bulut Bilişim Sistemlerinin Başarim Deǧerlendirmesi icin Iş Yuku Uretimi
Koltuk, Furkan; Yazar, Alper; Schmidt, Şenan Ece (2019-04-01)
In this paper, we propose CLOUDGEN workflow that produces synthetic workloads for Infrastructure and Platform as a Service for the evaluation of resource management approaches in cloud computing systems. To this end, CLOUDGEN systematically processes and clusters records in a given workload trace and fits distributions for different workload parameters within the clusters. Different than the previous work, clustering is carried out to produce different virtual machine types for achieving models that are sui...
Experience report: implementing requirement traceability throughout the software development life cycle
Akman, Suha; Ozmut, Mert; Aydin, Burak; Gokturk, Serhat (2016-11-01)
The developed traceability model is essential in helping project members, project managers and customers, all understand the product at all stages of the software development life cycle and maintain the integrity of the design information. Utilizing a well designed development environment and an environment support team is vital in maintaining the requirement traceability. With the requirement traceability, the customers' requirement status can be monitored and the relationships among requirements, design d...
CM2-based physical item hierarchy implementation for a product lifecycle management system
Seven, Duygu Abadan; Oğuztüzün, Mehmet Halit S.; Department of Computer Engineering (2019)
Configuration Management is a process that provides consistency among the product requirements, the product itself, and associated product configuration information by applying appropriate resources, processes, and tools. Configuration is an arrangement of parts, requirements or data in a particular form, figure, or combination. There can be one or more configuration for a product. Each of them needs to be managed throughout its lifecycle. Software tools which are called Product Lifecycle Management (PLM) t...
Citation Formats
B. K. Dolu, A. Çetinkaya, M. Ç. Kaya, S. Nazlioglu, and A. H. Dogru, “MSDeveloper: A Variability-Guided Methodology for Microservice-Based Development,” APPLIED SCIENCES, vol. 12, no. 22, pp. 11439–11457, 2022, Accessed: 00, 2022. [Online]. Available: https://www.mdpi.com/2076-3417/12/22/11439/htm.