Reengineering software to three-tier applications and services

Driven by the need of a very demanding world, new technology arises as a way to solve problems found in practice. In the context of software, this occurs in the form of new programming paradigms, new application design methodologies, new tool support and new architectural patterns. Newly developed s...

Full description

Bibliographic Details
Main Author: Matos, Carlos Manuel Pinto de
Other Authors: Heckel, Reiko
Published: University of Leicester 2012
Subjects:
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.551732
id ndltd-bl.uk-oai-ethos.bl.uk-551732
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-5517322016-08-04T04:01:18ZReengineering software to three-tier applications and servicesMatos, Carlos Manuel Pinto deHeckel, Reiko2012Driven by the need of a very demanding world, new technology arises as a way to solve problems found in practice. In the context of software, this occurs in the form of new programming paradigms, new application design methodologies, new tool support and new architectural patterns. Newly developed systems can take advantage of recent advances and choose from a state-of-the-art portfolio of techniques, taking stock of an understanding built across the years, learning from past, good and bad, experiences. However, existing software was built in a completely different context. Software engineering advances occur at a very fast pace, and applications are quickly seen as legacy due to a number of reasons, including difficulties to adapt to business needs, lack of integration capabilities with other systems, or general maintenance issues. There are various approaches to address these problems depending on the requirements or major concerns. The solution can either be rewriting the applications from scratch or evolving the existing systems. This thesis presents a methodology for systematically addressing the evolution of existing application into more modern architectures, including proposing implementations to address several classes of modernisation, with particular emphasis in reengineering towards tiered architectures and service-oriented architectures. The methodology is based on a combination of source code pattern detection guiding the extraction of structural graph models, rule-based transformations of these models, and the generation and execution of code-level refactoring scripts to affect the actual changes to the software. This dissertation presents the process, methodology, and tool support. Additionally, the proposed techniques are evaluated in the context of case studies, in order to allow conclusions regarding applicability, scalability, and overall benefits, both in terms of computational and human effort.005.3University of Leicesterhttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.551732http://hdl.handle.net/2381/10179Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 005.3
spellingShingle 005.3
Matos, Carlos Manuel Pinto de
Reengineering software to three-tier applications and services
description Driven by the need of a very demanding world, new technology arises as a way to solve problems found in practice. In the context of software, this occurs in the form of new programming paradigms, new application design methodologies, new tool support and new architectural patterns. Newly developed systems can take advantage of recent advances and choose from a state-of-the-art portfolio of techniques, taking stock of an understanding built across the years, learning from past, good and bad, experiences. However, existing software was built in a completely different context. Software engineering advances occur at a very fast pace, and applications are quickly seen as legacy due to a number of reasons, including difficulties to adapt to business needs, lack of integration capabilities with other systems, or general maintenance issues. There are various approaches to address these problems depending on the requirements or major concerns. The solution can either be rewriting the applications from scratch or evolving the existing systems. This thesis presents a methodology for systematically addressing the evolution of existing application into more modern architectures, including proposing implementations to address several classes of modernisation, with particular emphasis in reengineering towards tiered architectures and service-oriented architectures. The methodology is based on a combination of source code pattern detection guiding the extraction of structural graph models, rule-based transformations of these models, and the generation and execution of code-level refactoring scripts to affect the actual changes to the software. This dissertation presents the process, methodology, and tool support. Additionally, the proposed techniques are evaluated in the context of case studies, in order to allow conclusions regarding applicability, scalability, and overall benefits, both in terms of computational and human effort.
author2 Heckel, Reiko
author_facet Heckel, Reiko
Matos, Carlos Manuel Pinto de
author Matos, Carlos Manuel Pinto de
author_sort Matos, Carlos Manuel Pinto de
title Reengineering software to three-tier applications and services
title_short Reengineering software to three-tier applications and services
title_full Reengineering software to three-tier applications and services
title_fullStr Reengineering software to three-tier applications and services
title_full_unstemmed Reengineering software to three-tier applications and services
title_sort reengineering software to three-tier applications and services
publisher University of Leicester
publishDate 2012
url http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.551732
work_keys_str_mv AT matoscarlosmanuelpintode reengineeringsoftwaretothreetierapplicationsandservices
_version_ 1718372184201625600