370 likes | 390 Views
Architecture Recovery Of Web Applications. Ahmed.Hassan@uWaterloo.ca Software Architecture Group University of Waterloo CANADA. Traditional Software Visualization. LINUX. Visualization of Web Applications. Example of a Web Application. Island Hopper News A sample web app. from MS.
E N D
Architecture Recovery Of Web Applications Ahmed.Hassan@uWaterloo.ca Software Architecture Group University of Waterloo CANADA
Example of a Web Application Island Hopper News A sample web app. from MS
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 Web Server Pre-processor file.html COM/ CORBA Objects Data Tables Data Flow
DEMO Visualization of the sample web application
Structure of an ASP Page ASP Page HTML Server Scripts Client Scripts VBScript Perl JScript JavaScript VBScript
COM Source Code COM Binary Language Extractor Binary Extractor Source Code Facts Binary Facts Generating the info to visualize ASP Page HTML Extractor DB Access Extractor ASPCode ASP Extractor HTML Facts ASP Facts Data Facts
Generating Views for Web App. FACTBASE HTML Facts ASP Facts Data Facts Source Code Facts Binary Facts Contain. Grok Layout Viewer
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
Generating Views for Web App. FACTBASE HTML Facts ASP Facts Data Facts Source Code Facts Binary Facts Contain. Grok Layout Viewer
The Web App Domain Model Component & Subsystem ASP, Database, DLL, COM Object, etc. Java, JavaScript, VBScript, C, C++, etc.
ALS CLS ELS Entity Level Schema for JavaScript
ALS CLS ELS Entity Level Schema for VBScript
ALS CLS ELS Common Entity Level Schema for Object Based Languages
ALS CLS ELS Component Level Schema for Web Applications
ALS CLS ELS Architecture Level Schema
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.
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!!