Function-Splitting Heuristics for Discovery of Microservices in Enterprise Systems
We present heuristics that help to identify suitable consumer-oriented parts of enterprise systems which could be re-engineered as microservices. Our approach assesses the key structural and behavioural properties common to both enterprise and microservice systems, as needed to guide a microservices...
        Saved in:
      
    
          | Published in | Lecture notes in computer science Vol. 11236; pp. 37 - 53 | 
|---|---|
| Main Authors | , , , | 
| Format | Book Chapter | 
| Language | English | 
| Published | 
        Switzerland
          Springer International Publishing AG
    
        2018
     Springer International Publishing  | 
| Series | Lecture Notes in Computer Science | 
| Subjects | |
| Online Access | Get full text | 
| ISBN | 9783030035952 3030035956  | 
| ISSN | 0302-9743 1611-3349 1611-3349  | 
| DOI | 10.1007/978-3-030-03596-9_3 | 
Cover
| Summary: | We present heuristics that help to identify suitable consumer-oriented parts of enterprise systems which could be re-engineered as microservices. Our approach assesses the key structural and behavioural properties common to both enterprise and microservice systems, as needed to guide a microservices discovery process and coherently assess restructuring recommendations. Building upon existing business object and system structural definitions, we present heuristics for two fundamental areas of microservice discovery, namely function splitting based on object subtypes (i.e., the lowest granularity of software based on structural properties) and functional splitting based on common execution fragments across software (i.e., the lowest granularity of software based on behavioural properties). A prototype analysis tool was developed based on the defined heuristics and experiments show that it can identify microservice designs which support multiple microservice characteristics, such as high cohesion, low coupling, high scalability, high availability, and processing efficiency while preserving coherent features of enterprise systems. In particular, we illustrate the usefulness of this new approach by conducting a case study based on customer management systems: SugarCRM and ChurchCRM. | 
|---|---|
| ISBN: | 9783030035952 3030035956  | 
| ISSN: | 0302-9743 1611-3349 1611-3349  | 
| DOI: | 10.1007/978-3-030-03596-9_3 |