Modernizing web application: case study

Loading...
Thumbnail Image
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu | Master's thesis
Date
2017-08-28
Department
Major/Subject
Software and Service Engineering
Mcode
SCI3043
Degree programme
Master’s Programme in Computer, Communication and Information Sciences
Language
en
Pages
97 + 9
Series
Abstract
A great number of business critical systems represent legacy software, which is difficult to modify and expensive to maintain. In order to stay in line with business strategy, these aging software systems should be modernized. However, modernization is a complex process, which has not only technological, but also business, organizational and environmental aspects. Some modernization projects affect only technical layer in IT architecture, but others impact on all enterprise architecture layers. The main research question of this thesis was, how the Web application, which is in active use, can be modernized so that transition between the legacy and the target system happens without problems for current users. In order to answer this question, I have gathered information about modernization case studies, already implemented in industry. After that, I have investigated a real legacy software system and target architecture in the context of a software development company, which operates in the finance administration domain. Finally, I have proposed a plan for the legacy system modernization. Based on the case study review, a lot of attention in modernization initiatives is paid to target architectures: evolvable architectures, loose-coupling and independent life-cycles of components, as well as well-defined interfaces are concerned very important. For successful project implementation, incremental modernization and use of regression testing are strongly recommended. Also, implementation of pilot projects and establishing center for coordination of modernization initiative are found useful. In the modernization plan, I have suggested incremental redevelopment of the system using business rules extracted from the legacy software. The modernization project would contain transformation of architecture, and affect not only technical, but also application layer of enterprise architecture. I have also proposed that modernization would be implemented by a single functionality set at a time. To sum up, legacy software modernization is a complex and relatively new research field, which needs well-established terminology and a framework for comparing different methods, approaches and techniques, used in projects. Another problem is, that most of the papers discuss very old technologies, and modernization of relatively new web applications is not covered. However, the amount of legacy software, which strongly need modernization is increasing rapidly, and new case studies and researches in the field are bound to follow.

Suuri määrä liiketoiminnallisesti tärkeitä järjestelmiä edustavat perinnejärjestelmiä, joita on vaikea muokata ja kallista ylläpitää. Jotta nämä järjestelmät pysyvät yhdenmukaisina liiketoimintastrategian kanssa, ne pitää modernisoida. Modernisointi on kuitenkin monimutkainen prosessi, jossa ei ole vain teknologisia vaan myös liiketoiminta-, organisaatio- ja ympäristönäkökulmia. Jotkin modernisointiprojekteista vaikuttavat vain tekniseen tasoon IT-arkkitehtuurissa, kun taas osa vaikuttaa kaikkiin yritysarkkitehtuurin tasoihin.
Tämän työn päätutkimuskysymys oli: kuinka web-ohjelman, joka on aktiivisessa käytössä, voi modernisoida siten, että siirtyminen perinnejärjestelmästä kohdejärjestelmään sujuu saumattomasti nykyisten käyttäjien näkökulmasta. Jotta voin vastata tähän kysymykseen, olen kerännyt tietoa modernisoinnin tapaustutkimuksista, jotka on jo toteutettu käytännössä. Sen jälkeen olen tutkinut oikeaa perinne- ja kohdejärjestelmää ohjelmistoyrityksen kontekstissa. Lopuksi, olen ehdottanut suunnitelmaa perinnejärjestelmän modernisointiin. Tapaustutkimusten tarkastelun perusteella modernisointi hankkeissa annetaan paljon painoarvoa kohdejärjestelmille: jatkokehitettävät arkkitehtuurit, komponenttien löyhät kytkennät ja riippumattomat elinkaaret, sekä hyvin määritellyt rajapinnat pidetään hyvin tärkeinä. Jotta projekti olisi toteutettu onnistuneesti, vähittäinen modernisointi ja regressiotestaus ovat vahvasti suositeltuja. Modernisointisuunnitelmassa olen ehdottanut vähittäistä järjestelmän uudelleenkehitystä käyttäen liiketoimintasääntöjä, jotka on poimittu perinnejärjestelmästä. Modernisointiprojektin tulisi sisältää arkkitehtuurin muutoksen ja se ei vaikuttaisi vain tekniseen vaan myös sovellustasoon yritysarkkitehtuurissa. Olen myös ehdottanut, että modernisointi toteutettaisiin yksi toiminnallisuusjoukko kerrallaan. Yhteenvetona, perinnejärjestelmien modernisointi on monimutkainen ja suhteellisen uusi tutkimusala, joka tarvitsee hyvin vakiintunutta terminologiaa ja kehystä eri metodien, lähestymistapojen ja tekniikkojen vertailuun. Toinen ongelma on, että suurin osa tutkimuksista käsittelee erittäin vanhoja teknologioita ja suhteellisen uusien web-ohjelmien modernisointia ei tarkastella. Kuitenkin, sellaisten perinnejärjestelmien määrä, jotka vahvasti tarvitsevat modernisointia, kasvaa nopeasti ja väistämättä uusia tapaustutkimuksia ja tutkimustyötä tullaan näkemään.
Description
Supervisor
Vuorimaa, Petri
Thesis advisor
Silvekoski, Pekka
Keywords
legacy software, modernization, IBM Domino, architecture transformation, business-IT alignment, system evolution
Other note
Citation