Software architecture plays an important role in the development of modern, complex software systems as it influences a system’s quality attributes and ability to grow with future demand. Designing the software architecture of cyber-physical systems (CPS) becomes even more challenging due to their capability of directly influencing the physical world and thus introducing new non-functional requirements related to fault-tolerance, safety, and resource scarcity. Existing research focuses on systems engineering to achieve the vertical integration of CPS with an organization’s information systems and processes, but not on software architecture to horizontally extend existing systems with new CPS. In this report we describe the process of revising an existing monolithic software architecture for a smart factory towards a microservices-based architecture to meet these new requirements and prepare the factory to be extended with new CPS. For the revision of the existing architecture, we provide an analysis of its code base before and after changes, a description of the refactoring process, and discuss relevant new non-functional requirements and architecture options. We elaborate on the architectural decisions favoring microservices and analyze the new architecture regarding improved quality attributes to evaluate the system.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Revision of a Smart Factory Software Architecture from Monolith to Microservices

  • Ronny Seiger,
  • Lukas Malburg

摘要

Software architecture plays an important role in the development of modern, complex software systems as it influences a system’s quality attributes and ability to grow with future demand. Designing the software architecture of cyber-physical systems (CPS) becomes even more challenging due to their capability of directly influencing the physical world and thus introducing new non-functional requirements related to fault-tolerance, safety, and resource scarcity. Existing research focuses on systems engineering to achieve the vertical integration of CPS with an organization’s information systems and processes, but not on software architecture to horizontally extend existing systems with new CPS. In this report we describe the process of revising an existing monolithic software architecture for a smart factory towards a microservices-based architecture to meet these new requirements and prepare the factory to be extended with new CPS. For the revision of the existing architecture, we provide an analysis of its code base before and after changes, a description of the refactoring process, and discuss relevant new non-functional requirements and architecture options. We elaborate on the architectural decisions favoring microservices and analyze the new architecture regarding improved quality attributes to evaluate the system.