haku: @keyword quality / yhteensä: 170
viite: 10 / 170
Tekijä:Rantanen, Jarno
Työn nimi:Isolation Mechanisms for Web Frontend Application Architectures
Eristämismekanismeja selainpohjaisille ohjelmistoarkkitehtuureille
Julkaisutyyppi:Diplomityö
Julkaisuvuosi:2015
Sivut:87      Kieli:   eng
Koulu/Laitos/Osasto:Perustieteiden korkeakoulu
Oppiaine:Ohjelmistotekniikka   (T3001)
Valvoja:Saikkonen, Heikki
Ohjaaja:Sarvas, Risto
Elektroninen julkaisu: http://urn.fi/URN:NBN:fi:aalto-201509184428
Sijainti:P1 Ark Aalto  3073   | Arkisto
Avainsanat:web
browser
frontend
architecture
quality
isolation
selain
arkkitehtuuri
laatu
eristys
Tiivistelmä (fin):Perinteisiä palvelinorientoituneita verkko-ohjelmistoja korvataan kiihtyvällä vauhdilla selainpohjaisilla ohjelmistoilla.
Verkko-ohjelmistojen suorituskyvyn on osoitettu vaikuttavan suoraan yritysten tulokseen, ja selainpohjaiset ohjelmistot mahdollistavat huomattavia parannuksia suorituskykyyn.
Monimutkaisten selainpohjaisten ohjelmistojen rakentaminen on kuitenkin uusi ja huonosti ymmärretty ala, ja sillä tapahtuva kehitystyö on ollut laatuongelmien piinaamaa.

Tässä diplomityössä täydennetään puutteellista tutkimusta selainpohjaisista ohjelmistoista tutkimalla selaimista löytyvien eristysmekanismien soveltuvuutta näiden ohjelmistojen arkkitehtuurin parantamiseen.
Käymme läpi tärkeimmät alan julkaisut muodostaen yleiskuvan tutkimuksen tilasta ja parhaiksi katsotuista käytännöistä alan harjoittajien keskuudessa.
Yhdistämällä kirjallisuuskatsauksen tulokset omaan työkokemukseemme alalta, luokittelemme selainten käytettävissä olevat eristysmekanismit neljään kategoriaan: tilan ja muuttujien eristäminen, eristäminen DOM:ista, eristäminen DOM:in sisällä sekä suorituksen eristäminen.
Käsittelemme tämän jälkeen löydetyt kategoriat sekä esitämme niihin liittyviä konkreettisia laatuongelmia sekä työkaluja näiden ongelmien ratkaisuun.
Lopuksi arvioimme näiden eristysmekanismien vaikutusta selainpohjaisten ohjelmistojen laatuun ISO 25010 -laatustandardin avulla.

Tuloksemme osoittavat että työssä esitettyjen eristysmekanismien käyttö saattaisi parantaa ohjelmistojen laatua usealla tärkeällä alueella.
Näistä merkittävimpiä ovat yhteensopivuus ja ylläpidettävyys, mutta hyötyjä voitaisiin saada myös suorituskyvyn sekä tietoturvan parantumisella.
Toisaalta monet esitellyistä mekanismeista myös vaativat kompromisseja muiden laatuvaatimusten osalta.
Jatkotutkimusta tarvittaisiin selainpohjaisista arkkitehtuureista, jotka hyödyntäisivät paremmin työssä esitettyjä eristysmekanismeja.
Tiivistelmä (eng):Traditional backend-oriented web applications are increasingly being replaced by frontend applications, which execute directly in the user's browser.
Web application performance has been shown to directly affect business performance, and frontend applications enable unique performance improvements.
However, building complex applications within the browser is still a new and poorly understood field, and engineering efforts within the field are often plagued by quality issues.

This thesis addresses the current research gap around frontend applications, by investigating the applicability of isolation mechanisms available in browsers to frontend application architecture.
We review the important publications around the topic, forming an overview of current research, and current best practices in the field.
We use this understanding, combined with relevant industry experience, to categorize the available isolation mechanisms to four classes: state and variable isolation, isolation from the DOM, isolation within the DOM, and execution isolation.
For each class, we provide background and concrete examples on both the related quality issues, as well as tools for their mitigation.
Finally, we use the ISO 25010 quality standard to evaluate the impact of these isolation mechanisms on frontend application quality.

Our results suggest that the application of the previously introduced isolation mechanisms has the potential to significantly improve several key areas of frontend application quality, most importantly compatibility and maintainability, but also performance and security.
Many of these mechanisms also imply tradeoffs between other quality attributes, most commonly performance.
Future work could include developing frontend application architectures that leverage these isolation mechanisms to their full potential.
ED:2015-09-27
INSSI tietueen numero: 52145
+ lisää koriin
INSSI