[email protected] software architecture group university of waterloo canada architecture...

37
[email protected] Software Architecture Group University of Waterloo CANADA Architecture Recovery Of Web Applications

Upload: doris-miles

Post on 23-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

[email protected]

Software Architecture Group

University of Waterloo

CANADA

Architecture Recovery Of Web Applications

Traditional Software Visualization

LINUX

Visualization of Web Applications

Example of a Web Application

Island Hopper News A sample web app. from MS

Web Application as a 3-tiered system

Databases

BusinessLogic

PresentationLogic

Infrastructure Layer

Web Applications

“Online in 60-90 days, Innovate at Web Speed, Change on a Dime”..Asera Inc.

“Zero to Portal @ Web Speed”..Oracle

SE Challenges for Web Apps?

• The speed of development

• The speed of evolution

• The different sets of concerns

• The expectations of the user

• The origins of the web

Introduction to ASP

Simple html file: (foo.html)<html>Welcome to CNN.COM</html>

ASP file: (foo.asp)<html>Welcome to <% Write(“CNN.COM”) %></html>

Introduction to ASP

Interesting asp file: (foo2.asp)

<html>Welcome to <% Write(Server.name) %>

</html>

Introduction to ASP

• ASP files are preprocessed by the web server

• ASP files access web server built in objects or distributed objects (COM/DCOM/COM+/CORBA)

• ASP files can access databases too

Introduction to ASP

file.asp file.html

DataTables

COM/CORBAObjects

Web ServerPre-processor

Data Flow

DEMO

Visualization of the sample web application

How to visualize web applications?

Structure of an ASP Page

ASP Page

Client ScriptsServer ScriptsHTML

JScriptPerlVBScript VBScriptJavaScript

Generating the info to visualize

HTMLExtractor

DB AccessExtractor

ASP Page COMSource Code

COMBinary

ASP Code

ASPExtractor

HTML Facts

ASP Facts

Data Facts

LanguageExtractor

BinaryExtractor

SourceCode Facts

Binary Facts

First Attempt - Visualization

FACTBASE

Generating Views for Web App.HTML Facts

ASP Facts

Data Facts

SourceCode Facts

Binary Facts

Contain.

Grok

Layout

Viewer

Visualization

Visualization

Conclusion

• Web Apps developers face different challenges than Traditional Soft

• Visualization of Web Apps using our current tools is possible

• Large Web Apps have been visualized

Revealing some of the magic --- The hidden track!

FACTBASE

Generating Views for Web App.HTML Facts

ASP Facts

Data Facts

SourceCode Facts

Binary Facts

Contain.

Grok

Layout

Viewer

The Web App Domain Model

ELS

CLS

ALSHigh

Low

Abs

trac

tion

Java, JavaScript, VBScript, C, C++, etc.

Component & Subsystem

ASP, Database, DLL, COM Object, etc.

Entity Level Schema for JavaScript

Function Object

Call

Variable

UseVar

Instantiate/Reference

Reference

Data Type

DBTable

COMObject

UseDBTable

UseDataType

Instantiate/Reference

ALSCLSELS

Entity Level Schema for VBScript

Function/Procedure

Object

Method Property

Call

Variable

PropDclByUseVar

UseVar

MthdDclBy

UseProp

UseProp

Call

Instantiate/Reference

Instantiate/Reference

DBTable

COMObject

Instantiate/Reference

Instantiate/ReferenceUseDBTable

UseDBTable

Call

ALSCLSELS

Common Entity Level Schema for Object Based Languages

UseVar

JSObjectVBSObject

UserObjectFunction

JSFunctionVBSFunction

VBSProcedure

JSVariableVBSVariable

Variable

JSDataTypeVariant

DataType

Instantiate

Call

UseDataType

Call

ASPFile

UseVar

IncludeFuncDefBy ObjDefBy

VarDefBy

COMObject

DBTable

UseDBTable

Reference/Instantiate

UseDBTable

Reference/Instantiate

ALSCLSELS

Component Level Schema for Web Applications

COMObject

DBTable

Call

ASPFile

Include

UseDBTable

UseVar

Reference

DLL

Instantiate

Contain

HTMLRef

WebObject

HTMLRef

Reference Reference

UseDBTable

ALSCLSELS

Architecture Level Schema

Contain

Subsystem Component

Contain

Contain

DependOnDependOn

DependOn

ALSCLSELS

Conclusion

• A Web App is the legacy application of the future

• A tool is built to visualize Web Apps and gain a better understanding of them

• A scalable framework is presented to study Web Apps

• Dynamic & Static views are needed to understand Web Apps

“Every day it becomes clear that the Net (Web) is taking its place alongside the other great transformational technologies that first challenged, and then fundamentally changed, the way things are done in the world”, Lou Gestner, CEO of IBM Corp.

A Taxonomy for Web Applications

Dat

a

Control Logic

Service

Catalogue IS

Brochurelow

low

high

high

Hotmail.COM

Amazon.COMGoogle.COM

My webpage

Web App. Vs. Traditional App.

• Technical properties of Web App.:– Concerned with data tables, distributed

objects and multimedia objects instead of variables, procedures and simple objects

– Heavy use of scripting to combine components together

– Implemented using multiple languages

Web App. Vs. Traditional App.

• Non Technical properties of Web App:– Shorter development time expected – Lower costs expected too!– Average employment length just over 1

year!!