9 research outputs found
Extracting Client-side Web User Interface Controls
Abstract. Web applications that are highly dynamic and interactive on the client side are becoming increasingly popular. As with any other type of applications, reuse offers considerable benefits. In this paper we present our first results on extracting easily reusable web user-interface controls. We have developed a tool called Firecrow that facilitates the extraction of reusable client side controls by dynamically analyzing a series of interactions, carried out by the developer, in order to extract the source code and the resources necessary for the reuse of the desired web user-interface control
Automating Reuse in Web Application Development
Web applications are one of the fastest growing types of software systems today. Structurally, they are composed out of two parts: the server-side, used for data-access and business logic, and the client-side used as a user-interface. In recent years, thanks to fast, modern web browsers and advanced scripting techniques, developers are building complex interfaces, and the client-side is playing an increasingly important role. From the user's perspective, the client-side offers a number of features. A feature is an abstract notion representing a distinguishable part of the system behavior. Similar features are often used in a large number of web applications, and facilitating their reuse would offer considerable benefits. However, the client-side technology stack does not offer any widely used structured reuse method, and code responsible for a feature is usually copy-pasted to the new application. Copy-paste reuse can be complex and error prone - usually it is hard to identify exactly the code responsible for a certain feature and introduce it into the new application without errors. The primary focus of the research described in this PhD thesis is to provide methods and tools for automatizing reuse in client-side web application development. This overarching problem leads to a number of sub-problems: i) how to identify code responsible for a particular feature; ii) how to include the code that implements a feature into an already existing application without breaking neither the code of the feature nor of the application; and iii) how to automatically generate sequences of user actions that accurately capture the behavior of a feature? In order to tackle these problems we have made the following contributions: i) a client-side dependency graph that is capable of capturing dependencies that exist in client-side web applications, ii) a method capable of identifying the exact code and resources that implement a particular feature, iii) a method that can introduce code from one application into another without introducing errors, and iv) a method for generating usage scenarios that cause the manifestation of a feature. Each contribution was evaluated a suite of web applications, and the evaluations have shown that each method is capable of performing its intended purpose
phpModeler - A Web model extractor
ABSTRACT This paper presents phpModeler, a tool for reverse engineering of legacy php web applications that generates static UML diagrams showing resources the current web page is using, its functions and dependencies it has on other web pages. Once the models describing individual web pages have been generated, phpModeler can analyze them and generate dependency models that for each entity in every page model show all entities dependent on it. phpModeler can also be used to highlight the difference between page models -a feature that, when combined with a SVN repository shows the way how the current web page has evolved over time. phpModeler is a plugin for the Eclipse IDE
Classification and Survey of Component Models
Abstract: As component-based software engineering is growing and its usage expanding, more and more component models are developed. In this paper we present a survey of software component models in which models are described and classified respecting the classification framework for component models proposed by Crnković et. al. [1]. This framework specifies several groups of important principles and characteristics of component models: lifecycle, constructs, specification and management of extra-functional properties, and application domain. This paper gives examples three component models using the classification framework