Book a Demo

Author Topic: Add in to reverse engineer web applications  (Read 3989 times)

MattAdamson

  • EA User
  • **
  • Posts: 28
  • Karma: +0/-0
    • View Profile
Add in to reverse engineer web applications
« on: October 03, 2006, 05:17:15 am »

I've written an add in which reverse engineers ASP web applications into the appropriate classes as defined using the UML Web Extensions Jim Connolan produced, which are downloadable as a profile on the sparx website. The add in takes as input a server side ASP file and a corresponding static HTML file and produces the following classes

a) Server side pages - Contains server side functions and attributes.
b) Client side pages - Contains functions and attributes, included scripts.
c) Embedded forms together with input tags and stereotype for controls.

It also creates associations between elements in the model using the stereotypes

a. Builds - Server pages builds a client page
b. Submit - Links from embedded forms back to the server side page being posted to
c. Links - Href links from client pages
d. Redirect - Links from server side page
e. Include - Included pages from server side page
f. COM Object - Links to COM objects reverse engineered in the package.

I had a look at the Rational Rose web modeller add in and this doesn't provide a very comprehensive feature set at all. A lot less than I've produced in a few days of development.

I'd be interested to hear others thoughts on features they'd like to be incorporated into this.  Certainly extending this to support Java ASP and ASP.NET would be useful.

vadimo

  • EA Novice
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Re: Add in to reverse engineer web applications
« Reply #1 on: November 02, 2006, 03:20:09 pm »
Is your ASP web application reverse engineering add-in available to take a look at? I would be very interested to see what it produces.

Thank you,
Vadim

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8609
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Add in to reverse engineer web applications
« Reply #2 on: November 02, 2006, 03:45:20 pm »
Matt,

A minor point.  The [size=13]UML 2.1 Superstructure (interim)[/size] Specification, while not explicitly saying so (that I could find) seems to imply that stereotypes should be rendered as camel cased (lowercased first term, followed by title cased following terms.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

MattAdamson

  • EA User
  • **
  • Posts: 28
  • Karma: +0/-0
    • View Profile
Re: Add in to reverse engineer web applications
« Reply #3 on: November 02, 2006, 10:14:06 pm »
I'm actually looking to create this as an open source project however I need to understand open source a lot more before I can do this.

I've changed the code to easily support JSP pages however I haven't implemented this yet. I'd also like to add ASP.NET support. Hence the reason to create it as open source so the community can extend it as required.

JohnWSaundersIII

  • EA User
  • **
  • Posts: 50
  • Karma: +0/-0
    • View Profile
Re: Add in to reverse engineer web applications
« Reply #4 on: November 06, 2006, 03:12:32 pm »
I'd be interested in an ASP.NET version when you get there. I might be able to help out a bit with the code.

There's plenty of room for add-ins in the web area. I'm also interested in doing things like reverse-engineering JavaScript and even in fancy things like modeling the runtime environment of client-side code (i.e., DOM objects, windows, etc) and perhaps showing realization links from these to the corresponding UI elements (<div>, <iframe>).

Out of scope for your add-in, but this seemed like a good place to mention it.

John
John Saunders

MattAdamson

  • EA User
  • **
  • Posts: 28
  • Karma: +0/-0
    • View Profile
Re: Add in to reverse engineer web applications
« Reply #5 on: July 18, 2007, 12:11:21 pm »
Guys,

Can anyone help me out as I've created a source forge project for the add in, but stuck on a major hurdle, I can't work out how to upload the zip file using CVS?

If any CVS experts could contact me to help I'd really appreciate it.

Many thanks

Matt