Improving and Evaluating Clojure Web Application Architecture
Kataja, Tuukka Timo Kalervo; Teperi, Juho Lauri Mikael (2016)
Kataja, Tuukka Timo Kalervo
Teperi, Juho Lauri Mikael
2016
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2016-06-08
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201605093947
https://urn.fi/URN:NBN:fi:tty-201605093947
Tiivistelmä
In this study, the software architecture of Clojure-based web applications was improved, based on findings in previous projects where the authors have been involved. These projects are briefly introduced to provide context for the proposed improvements. Then, potential solutions were evaluated and a web application was built based on these solutions. In addition, some new fundamental architecture-related ideas were studied to gain more understanding of how to implement forthcoming projects. As a result, a reference architecture was created based on the implemented example application.
Decisions related to the reference architecture were then evaluated using the Decision-Centric Architecture Review method. This method produced structured documentation about the feasibility of architectural choices. Based on the results, some decisions were considered beneficial and should be taken into account in future projects whereas some were considered to have minor impact or even major negative impact. Tässä työssä kehitettiin Clojure-pohjaisten web-sovellusten ohjelmistoarkkitehtuuria perustuen havaintoihin projekteissa, joissa työn tekijät ovat olleet mukana. Projektit esitellään lyhyesti taustatietona tarvittaville parannuksille. Työssä käydään läpi erilaisia mahdollisia ratkaisuja ja työn tuloksena syntyi esimerkkisovellus. Kokemusten perusteella tehtyjen parannusten lisäksi työssä käsitellään uusia perustavanlaatuisia arkkitehtuuriratkaisuita, joita voidaan mahdollisesti hyödyntää tulevissa projekteissa. Työn tuloksena syntyi viitearkkitehtuuri, joka pohjautuu toteutettuun esimerkkisovellukseen.
Työssä tehdyt arkkitehtuuripäätökset arvioidaan DCAR-menetelmällä. Kyseinen menetelmän avulla päätöksistä saatiin jäsennettyä dokumentaatiota arkkitehtuuriparannusten kelvollisuudesta. Tulosten perusteella joitakin hyödyllisiä arkkitehtuuripäätöksiä kannattaisi ottaa huomioon tulevissa projekteissa. Jotkin päätöksistä olivat vähäpätöisempiä tai niillä oli jopa merkittävä negatiivinen vaikutus.
Decisions related to the reference architecture were then evaluated using the Decision-Centric Architecture Review method. This method produced structured documentation about the feasibility of architectural choices. Based on the results, some decisions were considered beneficial and should be taken into account in future projects whereas some were considered to have minor impact or even major negative impact.
Työssä tehdyt arkkitehtuuripäätökset arvioidaan DCAR-menetelmällä. Kyseinen menetelmän avulla päätöksistä saatiin jäsennettyä dokumentaatiota arkkitehtuuriparannusten kelvollisuudesta. Tulosten perusteella joitakin hyödyllisiä arkkitehtuuripäätöksiä kannattaisi ottaa huomioon tulevissa projekteissa. Jotkin päätöksistä olivat vähäpätöisempiä tai niillä oli jopa merkittävä negatiivinen vaikutus.