Nykyään ohjelmistoprojektit ovat usean eri teknologian kokonaisuuksia. Ohjelmisto tai palvelu koostuu useasta eri kokonaisuudesta, joilla kullakin on oma funktio. Käyttäjän käyttämä ohjelmisto tai palvelu voidaan yleensä jakaa frontend- ja back end -osiin, jotka yhdessä muodostavat yhden kokonaisuuden. Molemmista osista puhutaan nimellä full stack.
Fontend - käyttäjärajapinta
Frontend toimii käyttäjä rajapintana. Käyttöliittymä eli frontend on usein toteutettu verkkoteknologialla kuten esimerkiksi JS, HTML, CSS tai Java, koska ohjelmiston levitys ja saavutettavuus ovat aivan eri tasolla kuin tietokoneelle asennetun stand alone -ohjelmiston toteutuksessa. Verkkoteknologialla toteutettu käyttöliittymä eli UI on usein responsiivinen, jotta ohjelmiston käyttö eri laiteilla, kuten tietokoneella, puhelimella tai tabletilla on mahdollisimman sujuvaa.
UI:n toteutuksen tulee pohjautua käytettävyyden suunnitteluun, jotta käyttökokemus, eli UX, on mahdollisimman sujuva ja selkeä. Suunnittelu voidaan toteuttaa kevyesti tai raskaasti. Kevyt suunnittelu sisältää esimerkiksi karkean UI-hahmotelman, raskas toteutus voi pitää sisällään vaikkapa kaikkien käyttötilanteiden dokumentoinnin. Yhteistä näille on kuitenkin aina se, että suunnitelma yhdistää käyttäjän tavoitteet sekä ohjelmiston tarjoaman potentiaalin.
Suunnittelun taso kannattaa miettiä jokaiselle projektille erikseen, jotta ei yli- tai alisuunnitella.
Back end - ohjelmiston solmupiste
Back end tekee ohjelmiston tai palvelun toiminnan sekä tiedon tarjoamisen ja käsittelyn. Back end on yleensä palvelimella toimiva, esimerkiksi Java-, Python- tai Perl-ohjelmisto, mikä ottaa vastaan ja käsittelee frontendin pyyntöjä. Back end -tiedonhallinta tukeutuu tietokantapalveluun, mikä voi monesti olla eri palvelimella kuin varsinainen back end.
Back endin suunnittelussa tulee ottaa huomioon tämän hetken sekä tulevaisuuden tarpeet, jotta tietorakenteet sekä ohjelmistoarkkitehtuuri tekevät ohjelmistokehityksen mahdolliseksi nyt ja myös tulevaisuudessa.
Palvelinpuolen toteutukseen vaikuttaa myös yrityksesi liiketoimintamalli. Se ratkaisee, onko kolmanisen osapuolien integraatioille eli ulkoisille rajapinnoille tarvetta. Se vaikuttaa myös mahdolliseen tarpeeseen hajauttaa ohjelmistotuotantoa joko arkkitehtuurin ja/tai tietoturvan näkökulmasta.
Voidaankin sanoa, että back endin toteutus on ohjelmiston ns. solmupiste, koska kaikki palvelun käyttäjät käyttävät palvelinohjelmistoa toiminnassaan, riippumatta siitä, onko onko frontend verkkosivusto, puhelinsovellus tai M2M IoT tai joku muu.
Tarvitsetko apua tuotteen suunnittelussa?
Palveluitamme ovat mm. ohjelmistokehitys, sulautetut järjestelmät, elektroniikkasuunnittelu, mekaniikkasuunnittelu, automaatiosuunnittelu (PLC), projektinhallinta, tuotekehitys ja tuotteistus. Ota yhteyttä, niin keskustellaan, kuinka voimme auttaa sinua!