A Survey on Trending Topics of Microservices

Microservice is an architectural style and a software development methodology. Microservices are used as a group of independent units with narrowly specified responsibilities that interact through well-described REST APIs. It is observed that the most challenging part in developing any application using microservice architecture is decomposing it into the correct level of granularity at design and run time, which requires good skills and domain knowledge. In this paper, some prominent topics in microservices analysis, such as determining the size and boundaries of microservices using various decomposition approaches and extraction of microservices from large monolithic applications have been discussed and analysed. Work pertaining to essential quality metrics required for a microservices-based system has also been surveyed. In this survey paper, we have identified how these topics are correlated and proposed some steps that might be beneficial in the transformation of monolithic applications into microservices.

2016 ◽  
Vol 10 (02) ◽  
pp. 167-191 ◽  
Author(s):  
Lavdim Halilaj ◽  
Irlán Grangel-González ◽  
Gökhan Coskun ◽  
Steffen Lohmann ◽  
Sören Auer

Collaborative vocabulary development in the context of data integration is the process of finding consensus between experts with different backgrounds, system understanding and domain knowledge. The complexity of this process increases with the number of people involved, the variety of the systems to be integrated and the dynamics of their domain. In this paper, we advocate that the usage of a powerful version control system is one of the keys to address this problem. Driven by this idea and the success of the version control system Git in the context of software development, we investigate the applicability of Git for collaborative vocabulary development. Even though vocabulary development and software development have much more similarities than differences, there are still important challenges. These need to be considered in the development of a successful versioning and collaboration system for vocabulary development. Therefore, this paper starts by presenting the challenges we are faced with during the collaborative creation of vocabularies and discusses its distinction to software development. Drawing from these findings, we present Git4Voc which comprises guidelines on how Git can be adopted to vocabulary development. Finally, we demonstrate how Git hooks can be implemented to go beyond the plain functionality of Git by realizing vocabulary-specific features like syntactic validation and semantic diffs.


Author(s):  
Gopalkrishna Waja ◽  
Jill Shah ◽  
Pankti Nanavati

Agile Software Development plays a quintessential part in modern day software development. The term Agile refers to frequent reassessment and adaptation of plans and techniques and dividing tasks into shorter tasks for efficiency. Agile Software Development differs considerably from Traditional Software Development Methodology. Agile methodology aims to deliver features of a software project in small steps within a short duration of time (i.e., iterations). Hence, it becomes necessary to use agile software development methodology in todays’ fast-paced revolutionizing software industry. This paper discusses the important subtopics of Agile Software Development which gathered by reviewing/surveying of research papers. First, is the Agile Planning Life Cycle which consists of various stages such as pre-planning, planning, release planning and product backlog management. In the next section, principles such as Scrum, Extreme Programming, Kanban and Lean are discussed. The last section comprises the impact of Agile principles on software quality.


Author(s):  
J. Debenham ◽  
B. Henderson-Sellers

Originally a development methodology targeted at object technology, the OPEN Process Framework (OPF) is found to be a successful basis for extensions that support agent-oriented software development. Here we describe the process components necessary to agent-oriented support and illustrate the extensions by means of two small case studies that illustrate the extensions by means of two small case studies that illustrate both task-driven processes and goal-driven processes. The additional process components for Tasks and Techniques are all generated from the OPF’s metamodel, which gives the OPF its flexibility and tailorability to a wide variety of situations—here agent-orientation.


Sign in / Sign up

Export Citation Format

Share Document