MigraRIA project overview (2012 mdwe )

27
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

Transcript of MigraRIA project overview (2012 mdwe )

Page 1: MigraRIA project overview (2012 mdwe )

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

Page 2: MigraRIA project overview (2012 mdwe )

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

Page 3: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

MIGRARIA

3

a step inside a larger project

Page 4: MigraRIA project overview (2012 mdwe )

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

Page 5: MigraRIA project overview (2012 mdwe )

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

Page 6: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

MIGRARIA

6

• current main forces

Page 7: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

MIGRARIA

7

Page 8: MigraRIA project overview (2012 mdwe )

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

Page 9: MigraRIA project overview (2012 mdwe )

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

Page 10: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

MIGRARIA: 5000 feet view

10

Page 11: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

Server-side & Static Analysis

11

• Main steps

– Text2model

– Information extraction & Representation

Page 12: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

Text2Model

12

JSP Strutstaglib

XMLStrutsConf

JavaStruts Action

XML

Struts-Java

JSP

M2M

Struts-JSP

Struts-ConfigXML

Java

JSP

StrutsConfig

Page 13: MigraRIA project overview (2012 mdwe )

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

Page 14: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

• M2M transformation

MoDisco Extension: Struts JSP

14

JSP Struts-JSP

Page 15: MigraRIA project overview (2012 mdwe )

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

Page 16: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

• New MoDisco Discoverer

MoDisco Extension: Struts config

16

Page 17: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

Information Extraction

17

Struts

Struts-Java

Struts-JSP

Struts-Config

M2M

Page 18: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

Struts Metamodel

18

Page 19: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

Agenda System

19

Page 20: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

Scattered information

20

Page 21: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

Navigation flows

21

Page 22: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

Struts model

22

p01-p03 Nav Flow p03-p01-U Nav Flow

Page 23: MigraRIA project overview (2012 mdwe )

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

Page 24: MigraRIA project overview (2012 mdwe )

http://quercusseg.unex.es@quercusseg

Manual vs Generated

24

• Limitations

– Link request with n parameters

– Only html:link tags, no HTML <a>

– Duplicated forwards

Page 25: MigraRIA project overview (2012 mdwe )

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

Page 26: MigraRIA project overview (2012 mdwe )

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

Page 27: MigraRIA project overview (2012 mdwe )

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 [email protected]

@rrecheve