Remodularization of Enterprise Systems for IoT


This paper addresses the challenge of decoupling “back-office” enterprise systems in order to integrate them with the Industrial Internet-of-Things (IIoT). IIoT is a widely anticipated strategy, combining IoT technologies managing physical object movements, interactions and contexts, with business contexts. Enterprise systems are notoriously large and monolithic, which operate as centralized business processes through software components dedicated to managing business objects (BOs). They are challenging to manually decouple because of the asynchronous and user-driven nature of the business processes and complex BO dependencies, such as many-to-many and aggregation relationships. The paper presents software remodularization techniques for enterprise systems, to support the discovery of fine-grained microservices, which can be embedded to run on IIoT network nodes. It combines the semantic knowledge of enterprise systems, i.e., BO structure, with syntactic knowledge of the code, i.e., class methods. Using extracted feature sets based on both semantic and syntactic dependencies, K-Means clustering and optimization is used to recommend microservices, i.e., redistributions of BO operations through microservices from BO-centric components of enterprise systems. The techniques are validated using the Dolibarr open source ERP system. Furthermore, the recommended microservices demonstrate key non-functional characteristics, of high execution efficiency, scalability and availability, through experimentation where they are deployed on Amazon GreenGrass containers, simulating IIoT nodes. The measured processes comprise both “edge” operations and request-response calls to the Cloud-based enterprise system.

09: Platforms and architectures Main Track