This document discusses model-driven extraction of the navigational concern from legacy web applications. It presents a model-driven reverse engineering framework that uses metamodels and transformations to extract a conceptual navigational model from a legacy web application. The framework is demonstrated on a case study of extracting the navigational flows from a Struts-based web application. The extracted model is evaluated and limitations are discussed along with plans for future work to address the limitations.
1. Model Driven Extraction of the Navigational Concern
of Legacy Web Applications
Roberto Rodríguez Echeverría, José María
Conejero, Pedro J. Clemente, Víctor M. Pavón, Fernando Sánchez-
Figueroa
http://quercusseg.unex.es
@quercusseg
2. • Context
• Motivation
• Modernization process framework
• Domain
• MD Reverse Engineering of a LWA
– Extraction
– Representation
• Case study
• Evaluation
• Conclusions
• Future work
http://quercusseg.unex.es
@quercusseg
2
4. MIGRARIA: 10000 feet view
LWA Conceptual RIA Conceptual
Model Model
M2M
model
code
T2M M2T
LWA RIA
Modernization process framework
- Model-driven approach
- Metamodels (DSL)
- Transformations
- Architecture Driven Modernization
http://quercusseg.unex.es
@quercusseg
4
5. MIGRARIA
• Enterprise systems behind Web 1.0 layers
• Alternative interfaces are trendy
– Web 2.0 - RIA (web or desktop)
– Mobile (web or native)
LiveNation Interactive eBay Desktop
eBay app for iPad
Seat Map Adobe AIR
http://quercusseg.unex.es
@quercusseg
5
23. Manual vs Generated
• Size of the case study
Concept Amount
JSP files (including error) 78
JSP LOCs 6727
Java files 140
Java LOCs 10282
Config LOCs 496
http://quercusseg.unex.es
@quercusseg
23
24. Manual vs Generated
• Limitations
– Link request with n parameters
– Only html:link tags, no HTML <a>
– Duplicated forwards
http://quercusseg.unex.es
@quercusseg
24
25. Main contributions
• MIGRARIA project
– MD LWA2RIA modernization framework
• Work herein: MD Rev. Eng.
– Extraction of a conceptual navigational model
from a LWA
– Metamodels: intermediate and target
– Transformations
– Evaluation
http://quercusseg.unex.es
@quercusseg
25
26. MD Reverse Engineering
• Eliminating current limitations
– Refine and complete queries
– Refine and complete Struts Metamodel
• Define specific metrics for evaluation
• We need
– More case studies
– More MVC frameworks
http://quercusseg.unex.es
@quercusseg
26
27. Questions?
Thanks for your attention
rre@unex.es
@rrecheve
Roberto Rodríguez Echeverría, José María Conejero, Pedro J. Clemente, Víctor M.
Pavón, Fernando Sánchez Figueroa
http://quercusseg.unex.es
@quercusseg