Design Recovery of Web Applications Transactions

Modern Web sites provide applications that are increasingly built to support the execution of business processes. In such a transaction-oriented Web site, the user executes a series of activities in order to carry out a specific task (e.g., purchase an airplane ticket). The manner in which the activities can be executed is a consequence of the transaction design. Unfortunately, many Web sites are constructed without proper attention to transaction design. The result is a system with unpredictable workflow and a lower quality user experience. This chapter presents an example of the recovery of the “as-is” design model of a Web application transaction. The recovery procedure is prescriptive, suitable for implementation by a human subject-matter expert, possibly aided by reverse engineering technology. The recovered design is modeled using extensions to the transaction design portion of the UML-based Ubiquitous Web Applications (UWA) framework. Recovery facilitates future evolution of the Web site by making the transaction design explicit, which in turn enables engineers to make informed decisions about possible changes to the application. Design recovery of a commercial airline’s Web site is used to illustrate the process. 2 Tilley, Distante and Huang Copyright © 2005, Idea Group Inc. Copying or distributing in print or electronic forms without written permission of Idea Group Inc. is prohibited. Introduction As with other kinds of software systems, Web sites undergo maintenance and evolve over time in response to changing circumstances. For complex Web sites supporting the execution of business processes, evolution can be particularly challenging. The hidden nature of the transaction model in the overall design of most Web sites further exacerbates the situation. Business processes are realized as transactions that are triggered as the user executes a series of activities in order to carry out a specific task (e.g., purchase an airplane ticket). The manner in which the activities can be executed is a consequence of the transaction design. Therefore, the quality of the transaction design can have a direct influence on the quality of the user experience. Unfortunately, many Web sites are constructed without proper attention to transaction design. It is quite common to incorrectly treat a transaction as a sequence of navigational steps through pages of the Web application (Rossi, Schmid, & Lyardet, 2003; Schmid & Rossi, 2004). The result is a system without an explicit transaction design, which leads to unpredictable workflow, maintenance difficulties, and a potentially frustrating session for the user. This chapter presents an example of the recovery of the “as-is” design model of a Web application transaction. The recovery procedure is prescriptive, suitable for implementation by a human subject-matter expert, possibly aided by reverse engineering technology (Tilley, 2000; Muller et al., 2003). The recovered design is modeled using extensions to the transaction design portion of the Ubiquitous Web Applications (UWA) framework (UWA, 2001f). Recovery facilitates future evolution of the Web site by making the transaction design explicit, which in turn enables engineers to make informed decisions about possible changes to the application. Design recovery of a commercial airline’s Web site is used to illustrate the process. The next section outlines UWAT+, which is a refinement of the UWA transaction design model. The section “The Design Recovery Procedure” describes the design recovery procedure, including a formalization of the transactions, the creation of the Execution Model, and the construction of the Organization Model. The section “An Illustrative Example” demonstrates the use of the procedure on a representative Web site from the travel industry. Finally, “Summary” goes over the main points of the chapter and outlines possible avenues for future work.