migraria project overview (2012 mdwe )
Post on 06-Jul-2015
579 Views
Preview:
TRANSCRIPT
http://quercusseg.unex.es@quercusseg
Roberto Rodríguez Echeverría, José María
Conejero, Pedro J. Clemente, Víctor M. Pavón, Fernando Sánchez-Figueroa
Model Driven Extraction of the Navigational Concern of Legacy Web Applications
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
MIGRARIA
3
a step inside a larger project
http://quercusseg.unex.es@quercusseg
MIGRARIA: 10000 feet view
4
LWA RIA
LWA ConceptualModel
RIA Conceptual Model
model
codeT2M M2T
M2M
Modernization process framework- Model-driven approach
- Metamodels (DSL)- Transformations
- Architecture Driven Modernization
http://quercusseg.unex.es@quercusseg
LiveNation Interactive Seat Map
MIGRARIA
5
• Enterprise systems behind Web 1.0 layers
• Alternative interfaces are trendy
– Web 2.0 - RIA (web or desktop)
– Mobile (web or native)
eBay Desktop Adobe AIR
eBay app for iPad
http://quercusseg.unex.es@quercusseg
MIGRARIA
6
• current main forces
http://quercusseg.unex.es@quercusseg
MIGRARIA
7
http://quercusseg.unex.es@quercusseg
• Legacy Web Applications (LWAs)
– Web layers of enterprise applications
– Web Application Framework
• MVC pattern
• Technology heterogenity (deprecated versions)
– Lack of
• Up-to-date documentation
• Proper maintenance strategy
• No original developers
MIGRARIA
8
http://quercusseg.unex.es@quercusseg
MIGRARIA: 10000 feet view
9
LWA RIA
LWA ConceptualModel
RIA Conceptual Model
model
codeT2M M2T
M2M
Modernization process framework- Model-driven approach
- Metamodels (DSL)- Transformations
- Architecture Driven Modernization
http://quercusseg.unex.es@quercusseg
MIGRARIA: 5000 feet view
10
http://quercusseg.unex.es@quercusseg
Server-side & Static Analysis
11
• Main steps
– Text2model
– Information extraction & Representation
http://quercusseg.unex.es@quercusseg
Text2Model
12
JSP Strutstaglib
XMLStrutsConf
JavaStruts Action
XML
Struts-Java
JSP
M2M
Struts-JSP
Struts-ConfigXML
Java
JSP
StrutsConfig
http://quercusseg.unex.es@quercusseg
• Struts tag libs
metamodel
– Taglibs: html, logic and
bean
– JSP metamodel
extension
– JSTL custom
extension
MoDisco Extension: Struts JSP
13
http://quercusseg.unex.es@quercusseg
• M2M transformation
MoDisco Extension: Struts JSP
14
JSP Struts-JSP
http://quercusseg.unex.es@quercusseg
• New MoDisco Discoverer
– Struts Configuration
– Metamodel
• XML metamodel extension
• Automatic generation via EMF Generator Model
– Derived from WebApp Discoverer
– Struts 1.X config support
• 1.0, 1.1, 1.2 and 1.3
MoDisco Extension: Struts config
15
http://quercusseg.unex.es@quercusseg
• New MoDisco Discoverer
MoDisco Extension: Struts config
16
http://quercusseg.unex.es@quercusseg
Information Extraction
17
Struts
Struts-Java
Struts-JSP
Struts-Config
M2M
http://quercusseg.unex.es@quercusseg
Struts Metamodel
18
http://quercusseg.unex.es@quercusseg
Agenda System
19
http://quercusseg.unex.es@quercusseg
Scattered information
20
http://quercusseg.unex.es@quercusseg
Navigation flows
21
http://quercusseg.unex.es@quercusseg
Struts model
22
p01-p03 Nav Flow p03-p01-U Nav Flow
http://quercusseg.unex.es@quercusseg
Manual vs Generated
23
• 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
Manual vs Generated
24
• Limitations
– Link request with n parameters
– Only html:link tags, no HTML <a>
– Duplicated forwards
http://quercusseg.unex.es@quercusseg
• 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
Main contributions
25
http://quercusseg.unex.es@quercusseg
• 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
MD Reverse Engineering
26
http://quercusseg.unex.es@quercusseg
Roberto Rodríguez Echeverría, José María Conejero, Pedro J. Clemente, Víctor M.
Pavón, Fernando Sánchez Figueroa
Questions?
Thanks for your attentionrre@unex.es
@rrecheve
top related