Migration process from monolithic to micro frontend architecture in mobile applications

E
ESUGESUG
1
1
1
Migration process from monolithic
to micro frontend architecture
in mobile applications
International Workshop on Smalltalk Technologies 2023
Lyon 31/08/2023
Quentin Capdepon, Nicolas Hlad, Abdelhak-djamel Seriai and Moustapha Derras
2
2
2
Introduction
▪ This presentation consists of three main sections:
▪ Contextual Background and Problem Statement
→ This section provides the context surrounding our work and the issues we are addressing.
▪ Previous Experiments at Berger-Levrault
→ In this section, we explain the implementations and experiments conducted at Berger-Levrault, along with their
corresponding results
▪ Proposed Problem Solution
→ In this section, we present our proposed migration process to resolve the identified problem.
3
3
3
Contextual Background
and Problem Statement
01
4
4
4
CARL Touch
Introduction
Cross-Platform Computerized Maintenance Management System (CMMS) Application for iOS and Android
5
5
5
Industrial issues encountered
Introduction
▪ A maintenance and issue
Maintenance
QR Scan
Report incident
Technician
Security
6
6
6
Industrial issues encountered
Introduction
▪ A customisation of the app issue
APK APK V.2
Update
… …
7
7
7
What architecture to solve the prior issues ?
Introduction
▪ Our current architecture
One same monolith for everyone
8
8
8
What architecture to solve the prior issues ?
Introduction
▪ Our current architecture
One same monolith for everyone
▪ Our target architecture
A modulable architecture to obtain tailored apps
9
9
9
What is a micro frontend architecture ?
State of the art
▪ The MFE architecture
Figure 1 : Organisation in Verticals [1]
10
10
10
What is a micro frontend architecture ?
State of the art
▪ The MFE architecture
Figure 1 : Organisation in Verticals [1]
Benefits :
- Incremental upgrades,
- Simple and decoupled codebases,
- Independent deployement,
- Autonomous teams,
11
11
11
What is a micro frontend architecture ?
State of the art
▪ The MFE architecture Benefits :
- Incremental upgrades,
- Simple and decoupled codebases,
- Independent deployement,
- Autonomous teams,
Downsides :
- Payload size,
- Environment differences,
- Operational and governance complexity.
Figure 1 : Organisation in Verticals [1]
12
12
12
How does the MFE architecture work?
State of the art
Figure 2 : The three fundamental concepts of Micro Frontend [1]
13
13
13
How does the MFE architecture work?
State of the art
Figure 2 : The three fundamental concepts of Micro Frontend [1]
14
14
14
How does the MFE architecture work?
State of the art
Figure 2 : The three fundamental concepts of Micro Frontend [1]
15
15
15
Engineering & Research questions
Research question
▪ Topic 1 : Engineering questions
▪ How to achieve MFE principle on mobile ?
▪ Topic 2 : Research questions
▪ How to migrate monolith architecture to micro frontend for mobile applications ?
16
16
16
Micro frontend on mobile
02
17
17
17
BL MicroFrontendShell
Our mobile micro frontend shell
18
18
18
BL MicroFrontendShell
Our mobile micro frontend shell
19
19
19
BL MicroFrontendShell
Our mobile micro frontend shell
20
20
20
BL MicroFrontendShell
Our mobile micro frontend shell
21
21
21
BL MicroFrontendShell
Our mobile micro frontend shell
22
22
22
Observation: Developers encounter difficulties in identifying 'Optimal' MFEs and struggle implementing them from the monolith.
Goal : Developping a semi-automated migration process from monolith to MFE
Experimentations
Empirical experimentation with Carl Touch
▪ Two teams are responsible for migrating the Carl Touch monolith to MFE using our Shell (in Flutter).
▪ We obtain 2 different architectures
23
23
23
Migration process
03
24
24
24
Our migration process
monolithic MFEs
25
25
25
Our migration process
1. Analysis
1. Dart Parser Development
2. Creation of a Famix Dart Importer
3. Creation and generation of a Dart Metamodel
monolithic
1.Analysis
MFEs
26
26
26
Our migration process
1. Analysis
1. Dart Parser Development
2. Creation of a Famix Dart Importer
3. Creation and generation of a Dart Metamodel
2. Identification [9] [10] [11] [12] [13]
1. Creation of Roassal visualization for the model
2. Proposed Clustering Approach for the Model
3. Interactive Roassal Visualization to help Expert Decision Making
monolithic
1.Analysis 2.Identification
MFEs
27
27
27
Our migration process
1. Analysis
1. Dart Parser Development
2. Creation of a Famix Dart Importer
3. Creation and generation of a Dart Metamodel
2. Identification [9] [10] [11] [12] [13]
1. Creation of Roassal visualization for the model
2. Proposed Clustering Approach for the Model
3. Interactive Roassal Visualization to help Expert Decision Making
3. Transformation
1. Violation resolver to solve generic violation
2. Transformation Rules for MFE Dart code generation
monolithic
1.Analysis 2.Identification 3.Transformation
MFEs
28
28
28
Our migration process
1. Analysis
1. Dart Parser Development
2. Creation of a Famix Dart Importer
3. Creation and generation of a Dart Metamodel
2. Identification [9] [10] [11] [12] [13]
1. Creation of Roassal visualization for the model
2. Proposed Clustering Approach for the Model
3. Interactive Roassal Visualization to help Expert Decision Making
3. Transformation
1. Violation resolver to solve generic violation
2. Transformation Rules for MFE Dart code generation
monolithic
1.Analysis 2.Identification 3.Transformation
MFEs
29
29
29
Visualization : Navigation graph
Benefits :
- Visual help on the application Navigation flow,
- User-Centric information for a transformation,
- Lateral navigation identify good MFE candidat,
- Forward navigation highlight inusable candidat.
30
30
30
Visualization : Navigation graph
Benefits :
- Visual help on the application Navigation flow,
- User-Centric information for a transformation,
- Lateral navigation identify good MFE candidat,
- Forward navigation highlight inusable candidat.
Downsides :
- Not a clustering
- Require a dynamic and a static code analysis,
- Missing information on the communication.
31
31
31
Visualization : Git Contribution Analysis
Benefits :
- Proposition of a team clustering,
- Provide insight on the best MFE suited team,
- Allocation of Dedicated Teams for Each MFE,
- Improved assessment of team profiles.
32
32
32
Visualization : Git Contribution Analysis
Benefits :
- Proposition of a team clustering,
- Provide insight on the best MFE suited team,
- Allocation of Dedicated Teams for Each MFE,
- Improved assessment of team profiles.
Downsides :
- Not a codebase clustering,
- Requirement for Prior MFE Clustering.
33
33
33
Conclusion
34
34
34
Bibliography
M. Geers, Micro Frontends in Action, manning publications ed., 2020. URL: https://livebook.manning.com/book/micro-
frontends-in-action/.
[1]
https://micro-frontends.org/ by M. Geers
S. Peltonen, La. Mezzalira, D. Taibi, Motivations, benefits, and issues for adopting microfrontends: A multivocal
literature review, Information and Software Technology 136 (2021) 106571. doi:10.1016/j.infsof.2021.106571.
https://martinfowler.com/articles/micro-frontends.html - Cam Jackson in 19 June 2019
E. Braz, Flutter micro app - a package to speed up the creation of micro frontend(or independent features) structure
in flutter applications, 2022. URL:
https://web.archive.org/web/20220804142023/https://flutterrepos.com/lib/emanuel-braz-flutter_micro_app
Ionic, Micro frontend architecture for mobile web apps - ionic portals, 2022. URL: https://ionic.io/portals.
D. Taibi, L. Mezzalira, Micro-frontends: Principles, implementations, and pitfalls, ACM SIGSOFT Software Engineering
Notes 47 (2022) 25–29. doi:10.1145/3561846.3561853.
L. Mezzalira, Microfrontends anti-patterns: Seven years in the trenches, 2022. URL:
https://www.infoq.com/presentations/microfrontend-antipattern/.
[2]
[3]
[4]
[5]
[6]
[7]
[8]
35
35
35
Bibliography
M. Brito, J. Cunha, J. a. Saraiva, Identification of microservices from monolithic applications through topic
modelling, in: Proceedings of the 36th Annual ACM Symposiumon Applied Computing, SAC ’21, Association for
Computing Machinery, New York, NY, USA, 2021, p. 1409–1418. URL: https://doi.org/10.1145/3412841.3442016.
doi:10.1145/3412841.3442016.
F. Auer, V. Lenarduzzi, M. Felderer, D. Taibi, From monolithic systems to microservices: An assessment framework,
Information and Software Technology 137 (2021) 106600. doi:10.1016/j.infsof.2021.106600.
A. Bucchiarone, N. Dragoni, S. Dustdar, S. T. Larsen, M. Mazzara, From monolithic to microservices: An experience
report from the banking domain, IEEE Softw. 35 (2018) 50–55. doi:10.1109/MS.2018.2141026.
R. Capuano, H. Muccini, A systematic literature review on migration to microservices: a quality attributes
perspective, in: IEEE 19th International Conference on Software Architecture Companion, ICSA Companion 2022,
Honolulu, HI, USA, March 12-15, 2022, IEEE, 2022, p. 120–123. URL: https://doi.org/10.1109/ICSA-
C54293.2022.00030. doi:10.1109/ICSA-C54293.2022.00030.
F. Freitas, A. Ferreira, J. Cunha, Refactoring java monoliths into executable microservicebased applications, in: C. D.
Vasconcellos, K. G. Roggia, P. Bousfield, V. Collereii, J. P.Fernandes, M. Pereira (Eds.), SBLP’21: 25th Brazilian
Symposium on Programming Languages, Joinville, Brazil, 27 September 2021 - 1 October 2021, ACM, 2021, p. 100–
107. URL:https://doi.org/10.1145/3475061.3475086. doi:10.1145/3475061.3475086.
[9]
[10]
[11]
[12]
[13]
1 von 35

Recomendados

Micro Front-End & Microservices - Plansoft von
Micro Front-End & Microservices - PlansoftMicro Front-End & Microservices - Plansoft
Micro Front-End & Microservices - PlansoftMiki Lombardi
1.3K views51 Folien
How to migrate large project from Angular to React von
How to migrate large project from Angular to ReactHow to migrate large project from Angular to React
How to migrate large project from Angular to ReactTomasz Bak
3.5K views23 Folien
Application development for mobile phones von
Application development for mobile phonesApplication development for mobile phones
Application development for mobile phonesSanjeev Kumar Jaiswal
2.8K views34 Folien
MoneySafe-FinalReport von
MoneySafe-FinalReportMoneySafe-FinalReport
MoneySafe-FinalReportShaun Michael Stone
216 views33 Folien
Building application in a "Microfrontends" way - Matthias Lauf *XConf Manchester von
Building application in a "Microfrontends" way - Matthias Lauf *XConf ManchesterBuilding application in a "Microfrontends" way - Matthias Lauf *XConf Manchester
Building application in a "Microfrontends" way - Matthias Lauf *XConf ManchesterThoughtworks
435 views42 Folien
Isn't the Monolith Just Enough? von
Isn't the Monolith Just Enough?Isn't the Monolith Just Enough?
Isn't the Monolith Just Enough?pflueras
38 views26 Folien

Más contenido relacionado

Similar a Migration process from monolithic to micro frontend architecture in mobile applications

Scaling frontend applications with micro-frontends Presentation.pdf von
Scaling frontend applications with micro-frontends Presentation.pdfScaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdfKatamaRajuBandigari1
11 views37 Folien
REPORTOF MEMS2 von
REPORTOF MEMS2REPORTOF MEMS2
REPORTOF MEMS2roshan achar
309 views30 Folien
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf... von
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...Thoughtworks
923 views41 Folien
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE... von
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...ijcsit
53 views16 Folien
Railway Safety Protection with Android Mobile Application for 5G New Radio Ne... von
Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...
Railway Safety Protection with Android Mobile Application for 5G New Radio Ne...AIRCC Publishing Corporation
52 views16 Folien
Dee724 Advantages And Disadvantages von
Dee724 Advantages And DisadvantagesDee724 Advantages And Disadvantages
Dee724 Advantages And DisadvantagesJennifer Landsmann
2 views40 Folien

Similar a Migration process from monolithic to micro frontend architecture in mobile applications(20)

Scaling frontend applications with micro-frontends Presentation.pdf von KatamaRajuBandigari1
Scaling frontend applications with micro-frontends Presentation.pdfScaling frontend applications with micro-frontends Presentation.pdf
Scaling frontend applications with micro-frontends Presentation.pdf
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf... von Thoughtworks
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
Thoughtworks923 views
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE... von ijcsit
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...
RAILWAY SAFETY PROTECTION WITH ANDROID MOBILE APPLICATION FOR 5G NEW RADIO NE...
ijcsit53 views
Identifying Success Factors for the Mozilla Project von Robert Viseur
Identifying Success Factors for the Mozilla ProjectIdentifying Success Factors for the Mozilla Project
Identifying Success Factors for the Mozilla Project
Robert Viseur604 views
Real Time Head Generation for Video Conferencing von IRJET Journal
Real Time Head Generation for Video ConferencingReal Time Head Generation for Video Conferencing
Real Time Head Generation for Video Conferencing
IRJET Journal3 views
Developing Free Software within a Major ICT Company von Robert Viseur
Developing Free Software within a Major ICT CompanyDeveloping Free Software within a Major ICT Company
Developing Free Software within a Major ICT Company
Robert Viseur525 views
Architecture Of The Security System von Dawn Jones
Architecture Of The Security SystemArchitecture Of The Security System
Architecture Of The Security System
Dawn Jones4 views
Sample projectdocumentation von hlksd
Sample projectdocumentationSample projectdocumentation
Sample projectdocumentation
hlksd1.3K views
IRJET- Determination of the Efficacy of Civil soft Quick Series in the Desi... von IRJET Journal
IRJET- 	 Determination of the Efficacy of Civil soft Quick Series in the Desi...IRJET- 	 Determination of the Efficacy of Civil soft Quick Series in the Desi...
IRJET- Determination of the Efficacy of Civil soft Quick Series in the Desi...
IRJET Journal60 views
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi... von Alessandra Bagnato
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Flexible and Scalable Modelling in the MONDO Project: 3 Industrial Case Studi...
Alessandra Bagnato1.1K views
Wie Monolithen für die Zukuft trimmen von Anatole Tresch
Wie Monolithen für die Zukuft trimmenWie Monolithen für die Zukuft trimmen
Wie Monolithen für die Zukuft trimmen
Anatole Tresch751 views
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu... von IRJET Journal
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
IRJET-Testing Uncertainty of Cyber-Physical Systems in IoT Cloud Infrastructu...
IRJET Journal13 views
Cobot fleet management system using cloud and edge computing bukhary von Conference Papers
Cobot fleet management system using cloud and edge computing bukharyCobot fleet management system using cloud and edge computing bukhary
Cobot fleet management system using cloud and edge computing bukhary
"KillTech project: through innovation to a winning capability", Yelyzaveta B... von Fwdays
"KillTech project: through innovation to a winning capability",  Yelyzaveta B..."KillTech project: through innovation to a winning capability",  Yelyzaveta B...
"KillTech project: through innovation to a winning capability", Yelyzaveta B...
Fwdays230 views
Analysis On The Tour Guide Robot von Jessica Lopez
Analysis On The Tour Guide RobotAnalysis On The Tour Guide Robot
Analysis On The Tour Guide Robot
Jessica Lopez3 views
Business Drivers and Challenges of Cloud Computing and Social Networking Appl... von M Biro
Business Drivers and Challenges of Cloud Computing and Social Networking Appl...Business Drivers and Challenges of Cloud Computing and Social Networking Appl...
Business Drivers and Challenges of Cloud Computing and Social Networking Appl...
M Biro3.5K views

Más de ESUG

Workshop: Identifying concept inventories in agile programming von
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
9 views16 Folien
Technical documentation support in Pharo von
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
27 views39 Folien
The Pharo Debugger and Debugging tools: Advances and Roadmap von
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
56 views44 Folien
Sequence: Pipeline modelling in Pharo von
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
86 views22 Folien
Analyzing Dart Language with Pharo: Report and early results von
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
106 views30 Folien
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6 von
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
37 views35 Folien

Más de ESUG(20)

Workshop: Identifying concept inventories in agile programming von ESUG
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG9 views
Technical documentation support in Pharo von ESUG
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
ESUG27 views
The Pharo Debugger and Debugging tools: Advances and Roadmap von ESUG
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG56 views
Sequence: Pipeline modelling in Pharo von ESUG
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG86 views
Analyzing Dart Language with Pharo: Report and early results von ESUG
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG106 views
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6 von ESUG
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG37 views
A Unit Test Metamodel for Test Generation von ESUG
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG49 views
Creating Unit Tests Using Genetic Programming von ESUG
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG46 views
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes von ESUG
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG52 views
Exploring GitHub Actions through EGAD: An Experience Report von ESUG
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG17 views
Pharo: a reflective language A first systematic analysis of reflective APIs von ESUG
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG57 views
Garbage Collector Tuning von ESUG
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
ESUG20 views
Improving Performance Through Object Lifetime Profiling: the DataFrame Case von ESUG
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG43 views
Pharo DataFrame: Past, Present, and Future von ESUG
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG43 views
thisContext in the Debugger von ESUG
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
ESUG36 views
Websockets for Fencing Score von ESUG
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
ESUG18 views
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript von ESUG
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG46 views
Advanced Object- Oriented Design Mooc von ESUG
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG85 views
A New Architecture Reconciling Refactorings and Transformations von ESUG
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG28 views
BioSmalltalk von ESUG
BioSmalltalkBioSmalltalk
BioSmalltalk
ESUG415 views

Último

Navigating container technology for enhanced security by Niklas Saari von
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas SaariMetosin Oy
8 views34 Folien
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... von
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...Deltares
6 views28 Folien
SAP FOR TYRE INDUSTRY.pdf von
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdfVirendra Rai, PMP
23 views3 Folien
SUGCON ANZ Presentation V2.1 Final.pptx von
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptxJack Spektor
22 views34 Folien
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... von
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...Deltares
11 views23 Folien
Unleash The Monkeys von
Unleash The MonkeysUnleash The Monkeys
Unleash The MonkeysJacob Duijzer
7 views28 Folien

Último(20)

Navigating container technology for enhanced security by Niklas Saari von Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy8 views
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... von Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares6 views
SUGCON ANZ Presentation V2.1 Final.pptx von Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... von Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares11 views
360 graden fabriek von info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349224 views
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... von HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 views
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... von Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares9 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx von animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm13 views
Citi TechTalk Session 2: Kafka Deep Dive von confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 views
Roadmap y Novedades de producto von Neo4j
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de producto
Neo4j50 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols von Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... von Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit... von Deltares
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
Deltares13 views
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema von Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares17 views
Neo4j y GenAI von Neo4j
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI
Neo4j42 views
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the... von Deltares
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
DSD-INT 2023 Leveraging the results of a 3D hydrodynamic model to improve the...
Deltares6 views
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... von Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
Copilot Prompting Toolkit_All Resources.pdf von Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana6 views

Migration process from monolithic to micro frontend architecture in mobile applications

  • 1. 1 1 1 Migration process from monolithic to micro frontend architecture in mobile applications International Workshop on Smalltalk Technologies 2023 Lyon 31/08/2023 Quentin Capdepon, Nicolas Hlad, Abdelhak-djamel Seriai and Moustapha Derras
  • 2. 2 2 2 Introduction ▪ This presentation consists of three main sections: ▪ Contextual Background and Problem Statement → This section provides the context surrounding our work and the issues we are addressing. ▪ Previous Experiments at Berger-Levrault → In this section, we explain the implementations and experiments conducted at Berger-Levrault, along with their corresponding results ▪ Proposed Problem Solution → In this section, we present our proposed migration process to resolve the identified problem.
  • 4. 4 4 4 CARL Touch Introduction Cross-Platform Computerized Maintenance Management System (CMMS) Application for iOS and Android
  • 5. 5 5 5 Industrial issues encountered Introduction ▪ A maintenance and issue Maintenance QR Scan Report incident Technician Security
  • 6. 6 6 6 Industrial issues encountered Introduction ▪ A customisation of the app issue APK APK V.2 Update … …
  • 7. 7 7 7 What architecture to solve the prior issues ? Introduction ▪ Our current architecture One same monolith for everyone
  • 8. 8 8 8 What architecture to solve the prior issues ? Introduction ▪ Our current architecture One same monolith for everyone ▪ Our target architecture A modulable architecture to obtain tailored apps
  • 9. 9 9 9 What is a micro frontend architecture ? State of the art ▪ The MFE architecture Figure 1 : Organisation in Verticals [1]
  • 10. 10 10 10 What is a micro frontend architecture ? State of the art ▪ The MFE architecture Figure 1 : Organisation in Verticals [1] Benefits : - Incremental upgrades, - Simple and decoupled codebases, - Independent deployement, - Autonomous teams,
  • 11. 11 11 11 What is a micro frontend architecture ? State of the art ▪ The MFE architecture Benefits : - Incremental upgrades, - Simple and decoupled codebases, - Independent deployement, - Autonomous teams, Downsides : - Payload size, - Environment differences, - Operational and governance complexity. Figure 1 : Organisation in Verticals [1]
  • 12. 12 12 12 How does the MFE architecture work? State of the art Figure 2 : The three fundamental concepts of Micro Frontend [1]
  • 13. 13 13 13 How does the MFE architecture work? State of the art Figure 2 : The three fundamental concepts of Micro Frontend [1]
  • 14. 14 14 14 How does the MFE architecture work? State of the art Figure 2 : The three fundamental concepts of Micro Frontend [1]
  • 15. 15 15 15 Engineering & Research questions Research question ▪ Topic 1 : Engineering questions ▪ How to achieve MFE principle on mobile ? ▪ Topic 2 : Research questions ▪ How to migrate monolith architecture to micro frontend for mobile applications ?
  • 22. 22 22 22 Observation: Developers encounter difficulties in identifying 'Optimal' MFEs and struggle implementing them from the monolith. Goal : Developping a semi-automated migration process from monolith to MFE Experimentations Empirical experimentation with Carl Touch ▪ Two teams are responsible for migrating the Carl Touch monolith to MFE using our Shell (in Flutter). ▪ We obtain 2 different architectures
  • 25. 25 25 25 Our migration process 1. Analysis 1. Dart Parser Development 2. Creation of a Famix Dart Importer 3. Creation and generation of a Dart Metamodel monolithic 1.Analysis MFEs
  • 26. 26 26 26 Our migration process 1. Analysis 1. Dart Parser Development 2. Creation of a Famix Dart Importer 3. Creation and generation of a Dart Metamodel 2. Identification [9] [10] [11] [12] [13] 1. Creation of Roassal visualization for the model 2. Proposed Clustering Approach for the Model 3. Interactive Roassal Visualization to help Expert Decision Making monolithic 1.Analysis 2.Identification MFEs
  • 27. 27 27 27 Our migration process 1. Analysis 1. Dart Parser Development 2. Creation of a Famix Dart Importer 3. Creation and generation of a Dart Metamodel 2. Identification [9] [10] [11] [12] [13] 1. Creation of Roassal visualization for the model 2. Proposed Clustering Approach for the Model 3. Interactive Roassal Visualization to help Expert Decision Making 3. Transformation 1. Violation resolver to solve generic violation 2. Transformation Rules for MFE Dart code generation monolithic 1.Analysis 2.Identification 3.Transformation MFEs
  • 28. 28 28 28 Our migration process 1. Analysis 1. Dart Parser Development 2. Creation of a Famix Dart Importer 3. Creation and generation of a Dart Metamodel 2. Identification [9] [10] [11] [12] [13] 1. Creation of Roassal visualization for the model 2. Proposed Clustering Approach for the Model 3. Interactive Roassal Visualization to help Expert Decision Making 3. Transformation 1. Violation resolver to solve generic violation 2. Transformation Rules for MFE Dart code generation monolithic 1.Analysis 2.Identification 3.Transformation MFEs
  • 29. 29 29 29 Visualization : Navigation graph Benefits : - Visual help on the application Navigation flow, - User-Centric information for a transformation, - Lateral navigation identify good MFE candidat, - Forward navigation highlight inusable candidat.
  • 30. 30 30 30 Visualization : Navigation graph Benefits : - Visual help on the application Navigation flow, - User-Centric information for a transformation, - Lateral navigation identify good MFE candidat, - Forward navigation highlight inusable candidat. Downsides : - Not a clustering - Require a dynamic and a static code analysis, - Missing information on the communication.
  • 31. 31 31 31 Visualization : Git Contribution Analysis Benefits : - Proposition of a team clustering, - Provide insight on the best MFE suited team, - Allocation of Dedicated Teams for Each MFE, - Improved assessment of team profiles.
  • 32. 32 32 32 Visualization : Git Contribution Analysis Benefits : - Proposition of a team clustering, - Provide insight on the best MFE suited team, - Allocation of Dedicated Teams for Each MFE, - Improved assessment of team profiles. Downsides : - Not a codebase clustering, - Requirement for Prior MFE Clustering.
  • 34. 34 34 34 Bibliography M. Geers, Micro Frontends in Action, manning publications ed., 2020. URL: https://livebook.manning.com/book/micro- frontends-in-action/. [1] https://micro-frontends.org/ by M. Geers S. Peltonen, La. Mezzalira, D. Taibi, Motivations, benefits, and issues for adopting microfrontends: A multivocal literature review, Information and Software Technology 136 (2021) 106571. doi:10.1016/j.infsof.2021.106571. https://martinfowler.com/articles/micro-frontends.html - Cam Jackson in 19 June 2019 E. Braz, Flutter micro app - a package to speed up the creation of micro frontend(or independent features) structure in flutter applications, 2022. URL: https://web.archive.org/web/20220804142023/https://flutterrepos.com/lib/emanuel-braz-flutter_micro_app Ionic, Micro frontend architecture for mobile web apps - ionic portals, 2022. URL: https://ionic.io/portals. D. Taibi, L. Mezzalira, Micro-frontends: Principles, implementations, and pitfalls, ACM SIGSOFT Software Engineering Notes 47 (2022) 25–29. doi:10.1145/3561846.3561853. L. Mezzalira, Microfrontends anti-patterns: Seven years in the trenches, 2022. URL: https://www.infoq.com/presentations/microfrontend-antipattern/. [2] [3] [4] [5] [6] [7] [8]
  • 35. 35 35 35 Bibliography M. Brito, J. Cunha, J. a. Saraiva, Identification of microservices from monolithic applications through topic modelling, in: Proceedings of the 36th Annual ACM Symposiumon Applied Computing, SAC ’21, Association for Computing Machinery, New York, NY, USA, 2021, p. 1409–1418. URL: https://doi.org/10.1145/3412841.3442016. doi:10.1145/3412841.3442016. F. Auer, V. Lenarduzzi, M. Felderer, D. Taibi, From monolithic systems to microservices: An assessment framework, Information and Software Technology 137 (2021) 106600. doi:10.1016/j.infsof.2021.106600. A. Bucchiarone, N. Dragoni, S. Dustdar, S. T. Larsen, M. Mazzara, From monolithic to microservices: An experience report from the banking domain, IEEE Softw. 35 (2018) 50–55. doi:10.1109/MS.2018.2141026. R. Capuano, H. Muccini, A systematic literature review on migration to microservices: a quality attributes perspective, in: IEEE 19th International Conference on Software Architecture Companion, ICSA Companion 2022, Honolulu, HI, USA, March 12-15, 2022, IEEE, 2022, p. 120–123. URL: https://doi.org/10.1109/ICSA- C54293.2022.00030. doi:10.1109/ICSA-C54293.2022.00030. F. Freitas, A. Ferreira, J. Cunha, Refactoring java monoliths into executable microservicebased applications, in: C. D. Vasconcellos, K. G. Roggia, P. Bousfield, V. Collereii, J. P.Fernandes, M. Pereira (Eds.), SBLP’21: 25th Brazilian Symposium on Programming Languages, Joinville, Brazil, 27 September 2021 - 1 October 2021, ACM, 2021, p. 100– 107. URL:https://doi.org/10.1145/3475061.3475086. doi:10.1145/3475061.3475086. [9] [10] [11] [12] [13]