Model Driven Extraction of the Navigational Concern           of Legacy Web Applications                Roberto Rodríguez ...
•   Context•   Motivation•   Modernization process framework•   Domain•   MD Reverse Engineering of a LWA    – Extraction ...
MIGRARIAa step inside a larger project                       http://quercusseg.unex.es                       @quercusseg  ...
MIGRARIA: 10000 feet view             LWA Conceptual                              RIA Conceptual                 Model    ...
MIGRARIA• Enterprise systems behind Web 1.0 layers• Alternative interfaces are trendy    – Web 2.0 - RIA (web or desktop) ...
MIGRARIA• current main forces                    http://quercusseg.unex.es                    @quercusseg                 ...
MIGRARIAhttp://quercusseg.unex.es@quercusseg                                7
MIGRARIA• Legacy Web Applications (LWAs)  – Web layers of enterprise applications  – Web Application Framework    • MVC pa...
MIGRARIA: 10000 feet view             LWA Conceptual                              RIA Conceptual                 Model    ...
MIGRARIA: 5000 feet viewhttp://quercusseg.unex.es@quercusseg                                          10
Server-side & Static Analysis• Main steps  – Text2model  – Information extraction & Representation                       h...
Text2Model                                                                           M2M         JSP         Struts       ...
MoDisco Extension: Struts JSP• Struts tag libs  metamodel   – Taglibs: html, logic and     bean   – JSP metamodel     exte...
MoDisco Extension: Struts JSP• M2M transformation  JSP                  Struts-JSP                   http://quercusseg.une...
MoDisco Extension: Struts config• New MoDisco Discoverer  – Struts Configuration  – Metamodel    • XML metamodel extension...
MoDisco Extension: Struts config• New MoDisco Discoverer                   http://quercusseg.unex.es                   @qu...
Information Extraction                M2MStruts-JSP                                             StrutsStruts-ConfigStruts-...
Struts Metamodelhttp://quercusseg.unex.es@quercusseg                                       18
Agenda Systemhttp://quercusseg.unex.es@quercusseg                                    19
Scattered informationhttp://quercusseg.unex.es@quercusseg                                            20
Navigation flowshttp://quercusseg.unex.es@quercusseg                                       21
Struts modelp01-p03 Nav Flow           p03-p01-U Nav Flow                   http://quercusseg.unex.es                   @q...
Manual vs Generated• Size of the case study      Concept                           Amount      JSP files (including error)...
Manual vs Generated• Limitations  – Link request with n parameters  – Only html:link tags, no HTML <a>  – Duplicated forwa...
Main contributions• MIGRARIA project  – MD LWA2RIA modernization framework• Work herein: MD Rev. Eng.  – Extraction of a c...
MD Reverse Engineering• Eliminating current limitations  – Refine and complete queries  – Refine and complete Struts Metam...
Questions?                                   Thanks for your attention                                          rre@unex.e...
Upcoming SlideShare
Loading in...5
×

MigraRIA project overview (2012 mdwe )

667
-1

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
667
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

MigraRIA project overview (2012 mdwe )

  1. 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. 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
  3. 3. MIGRARIAa step inside a larger project http://quercusseg.unex.es @quercusseg 3
  4. 4. MIGRARIA: 10000 feet view LWA Conceptual RIA Conceptual Model Model M2Mmodelcode T2M M2T LWA RIA Modernization process framework - Model-driven approach - Metamodels (DSL) - Transformations - Architecture Driven Modernization http://quercusseg.unex.es @quercusseg 4
  5. 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
  6. 6. MIGRARIA• current main forces http://quercusseg.unex.es @quercusseg 6
  7. 7. MIGRARIAhttp://quercusseg.unex.es@quercusseg 7
  8. 8. MIGRARIA• 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 http://quercusseg.unex.es @quercusseg 8
  9. 9. MIGRARIA: 10000 feet view LWA Conceptual RIA Conceptual Model Model M2Mmodelcode T2M M2T LWA RIA Modernization process framework - Model-driven approach - Metamodels (DSL) - Transformations - Architecture Driven Modernization http://quercusseg.unex.es @quercusseg 9
  10. 10. MIGRARIA: 5000 feet viewhttp://quercusseg.unex.es@quercusseg 10
  11. 11. Server-side & Static Analysis• Main steps – Text2model – Information extraction & Representation http://quercusseg.unex.es @quercusseg 11
  12. 12. Text2Model M2M JSP Struts JSP Struts-JSP JSP taglibXMLStrutsConf XML StrutsConfig XML Struts-Config Java Struts Java Struts-Java Action http://quercusseg.unex.es @quercusseg 12
  13. 13. MoDisco Extension: Struts JSP• Struts tag libs metamodel – Taglibs: html, logic and bean – JSP metamodel extension – JSTL custom extension http://quercusseg.unex.es @quercusseg 13
  14. 14. MoDisco Extension: Struts JSP• M2M transformation JSP Struts-JSP http://quercusseg.unex.es @quercusseg 14
  15. 15. MoDisco Extension: Struts config• 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 http://quercusseg.unex.es @quercusseg 15
  16. 16. MoDisco Extension: Struts config• New MoDisco Discoverer http://quercusseg.unex.es @quercusseg 16
  17. 17. Information Extraction M2MStruts-JSP StrutsStruts-ConfigStruts-Java http://quercusseg.unex.es @quercusseg 17
  18. 18. Struts Metamodelhttp://quercusseg.unex.es@quercusseg 18
  19. 19. Agenda Systemhttp://quercusseg.unex.es@quercusseg 19
  20. 20. Scattered informationhttp://quercusseg.unex.es@quercusseg 20
  21. 21. Navigation flowshttp://quercusseg.unex.es@quercusseg 21
  22. 22. Struts modelp01-p03 Nav Flow p03-p01-U Nav Flow http://quercusseg.unex.es @quercusseg 22
  23. 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. 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. 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. 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. 27. Questions? Thanks for your attention rre@unex.es @rrecheveRoberto 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×