Full stack

Wikipediasta
Siirry navigaatioon Siirry hakuun

Full stack on tietojarjestelmien kehittamisen osa-alueita yhdisteleva lahestymistapa, joka liittyy kayttajakokemuksen suunnitteluun [1] , jarjestelmakehittajien tyonkuviin [2] ja osaamiseen [3] seka kehitystyon tekniseen ymparistoon. Teknisena kasitteena full stack voi viitata yksinkertaisimmillaan jarjestelman rakenteen jaotteluun asiakas- ja palvelinosiin [4] . Full stack voidaan nimeta lyhenteella, joka muodostetaan siina keskeisten valineiden nimista (esim. LAMP = Linux , Apache , MySQL , Perl ). [5]

Termi full stack perustuu teknisten jarjestelmien kuvaamisessa kaytettyyn pinon (engl. stack) kasitteeseen, jolla tarkoitetaan jarjestelman arkkitehtuurin kerroksittaista rakennetta. [6] Rakenteessa kullakin kerroksella on oma tehtavansa ja maaritellyt rajapinnat toisiin kerroksiin.

Full stackin synonyyminakin kaytetty termi solution stack (kirjaimellisesti suomentaen "ratkaisupino") viittaa nimettyihin ohjelmistotuotteisiin ja/tai laitteisiin, joista kokonaisuutena katsotaan muodostuvan palveluarkkitehtuuri (Service Oriented Architecture, lyhennettyna SOA). [7]

Ammatillinen ja tyonjaollinen nakokulma [ muokkaa | muokkaa wikitekstia ]

Ammatillisena ja tyonjaollisena kasitteena, jollaisena sita kaytetaan esimerkiksi rekrytoinnissa , full stack sisaltaa ajatuksen, etta suunnittelija (full stack designer) tai ohjelmistokehittaja (full stack developer), kykenee ottamaan huomioon, suunnittelemaan ja toteuttamaan kayttajakokemuksen eri osa-alueiden tukea tietojarjestelmassa. Full stack developer -kasite on varsin uusi. On esitetty, etta sita on alettu laajemmin kayttaa vuoden 2013 tienoilla. [8]

Full stack -suunnittelijan rooli on saanut runsaasti huomiota keskusteluissa esimerkiksi sen maarittelyn, hyodyllisyyden ja tyomarkkinoilla esiintyvan kysynnan kannalta. [2]

Kayttajakokemuksen nakokulma [ muokkaa | muokkaa wikitekstia ]

Kayttajakokemusta (user experience) pidetaan erityisesti kuluttajatuotteiden massamarkkinoilla tarkeana tekijana tuotteiden ja palveluiden menestyksessa. Kayttajakokemuksen kasite poikkeaa aiemmin tietojarjestelmien suunnittelussa keskeisesta kaytettavyyden (usability) kasitteesta siten, etta kayttajakokemukseen katsotaan kuuluvan hedonistinen osa (kuten hauskuuden tai tyydytyksen kokemus), kun taas kaytettavyys maarittyy valineellisin tai kaytannollisin kriteerein. [9] Kaytettavyytta kehittamalla pyritaan tehostamaan kayttajan ja laitteen yhteistoimintaa ja toisaalta tekemaan sita kayttajalle miellyttavammaksi. [10]

Tekninen nakokulma [ muokkaa | muokkaa wikitekstia ]

Teknisesta nakokulmasta web-jarjestelmien full stack koostuu tietokantajarjestelmasta seka sovellusten kehityksen ja kayton asiakas- ja palvelinymparistoista.

Esimerkiksi MEAN on ilmainen ja avoimeen lahdekoodiin perustuva full stack, joka sisaltaa MongoDB -tietokannan, Express.js -palvelimen toteutusympariston, AngularJS - JavaScript -ohjelmistokehyksen ja Node.js -suoritusympariston. [11]

Esimerkkeja full stack -kokoonpanoista
Kokoonpano Kayttojarjestelma(t) Tietokanta/-kannat Web-palvelin Ohjelmointikieli/-kielet Web-framework
BCHS [12] OpenBSD SQLite httpd C
GLASS [13] Linux GemStone Apache Smalltalk Seaside
LAMP [5] Linux MySQL Apache Perl
MEAN.JS [11] Node.js:n tukemat MongoDB Node.js JavaScript AngularJS

Carlos Buenon vuonna 2010 julkaisemaa blogikirjoitusta The Full Stack pidetaan full stackin idean hahmottamiseen merkittavasti vaikuttaneena "klassikkona". [5] Kirjoituksessa Bueno kuvaa full stack -ohjelmoijan (full stack programmer) generalistina eli laaja-alaisena osaajana, joka kykenee kehittamaan sovelluksia itsenaisesti ja joka ennen kaikkea ymmartaa tekemiensa ratkaisujen vaikutukset tietojarjastelman teknisen kokonaisuuden, sen kerrosrakenteen kannalta.

Lahteet [ muokkaa | muokkaa wikitekstia ]

  • Bieberstein, Norbert, Laird, Robert, Jones, Keith & Mitra, Tilaka:  Executing SOA: A Practical Guide for the Service-Oriented Architect . Upper Saddle River, NJ: IBM Press, 2008. ISBN 978-0-13-235374-8 . (englanniksi)
  • Karvonen, Hannu:  User Experience Goals in Human-Centred Design of Safety-Critical Systems . vaitoskirja. Jyvaskyla: Jyvaskylan yliopisto. (englanniksi)
  • Loukides, Mike: Full-stack developers radar.oreilly.com . 2014. Viitattu 19.8.2020.
  • Shropshire, Jordan, Landry, Jeffrey P. & Presley, Steven S.: Development of a Metric for Assessing Full Stack Developers’ Expertise Semanticscholar.org . 2018. Viitattu 17.8.2020.
  • Sinkkonen, Irmeli, Kuoppala, Hannu, Parkkinen, Jarmo & Vastamaki, Raino:  Kaytettavyyden psykologia . Helsinki: Edita, IT Press, 2002. ISBN 951-826574-7 .
  • Viitanen, Minna:  Full-stack -suunnittelijan roolin hyodyt ja haasteet ketterassa ohjelmistokehityksessa . Diplomityo, Tietotekniikan diplomi-insinoorin tutkinto-ohjelma,Tampereen teknillinen yliopisto. Tampere: M. Viitanen, 2018. Teoksen verkkoversio (viitattu 19.8.2020).
  • Zammetti, Frank:  Modern Full-Stack Development: Using TypeScript, React, Node. js, Webpack, and Docker . Apress, 2020. ISBN 978-1-4842-5737-1 . (englanniksi)

Viitteet [ muokkaa | muokkaa wikitekstia ]

  1. Viitanen 2018, 2
  2. a b Viitanen 2018, 24
  3. Shropshire, Landry & Presley 2018
  4. Zammetti 2020, 1
  5. a b c Loukides, Mike: Full-stack developers radar.oreilly.com . 2014. Viitattu 19.8.2020.
  6. Viitanen 2018, 25
  7. Bieberstein ym. 2008, 1
  8. Christian Maioli M (pseudonyymi): What 'full-stack developer' should mean TechBeacon.com . 20.7.2016. Micro Focus. Viitattu 18.8.2020.
  9. Karvonen 2019, 40
  10. Sinkkonen ym. 2002, 19
  11. a b What is the MEAN Stack? MongoDB. Viitattu 17.8.2020.
  12. Dzonsons, Kristaps: BCHS Stack learnbchs.org . Viitattu 17.8.2020.
  13. A Beginners’ Guide to Installing and Configuring GLASS: Gemstone 64/S Smalltalk / Seaside / Application Server / Object Database Server Environment kalountos.wordpress.com . 2015. Viitattu 18.8.2020.

Aiheesta muualla [ muokkaa | muokkaa wikitekstia ]

Opinnaytetoita [ muokkaa | muokkaa wikitekstia ]

  • Huhtala, Harri:  Full-Stack JavaScript: MEAN.JS-projektin luominen . (Haaga-Helia-ammattikorkeakoulu), 2014. Teoksen verkkoversio (viitattu 19.8.2020).
  • Nevalainen, Toni:  MEAN Software Stack : MEAN-stack and its relative strengths and weaknesses relative to its competitors . (Hameen ammattikorkeakoulu), 2018. Teoksen verkkoversio (viitattu 20.8.2020). (englanniksi)
  • Nguyen Nhat, Minh:  Building a component-based modern web application: full-stack solution . (Metropolia Ammattikorkeakoulu), 2018. Teoksen verkkoversio (viitattu 21.8.2020). (englanniksi)
  • Reponen, Antti:  Full-Stack: MERN-pino . (Metropolia Ammattikorkeakoulu), 2018. Teoksen verkkoversio (viitattu 19.8.2020).
  • Tuhkanen, Aleksi:  Tietojarjestelman rakentaminen startup-yrityksessa full-stack kehittajana . (Haaga-Helia ammattikorkeakoulu), 2017. Teoksen verkkoversio (viitattu 19.8.2020).