Olemme parin vuoden aikana päivittäneet tuotteidemme taustakoodia vastaamaan nykyajan teknisiä tarpeita. Suosituimmat Time3.0 kirjastomme, joita käytetään yhdessä myös TimeBase ja TimeGate-palveluiden kanssa, päivitettiin uuteen .NET Core-versioon.
Vaikka ohjelmointikielet päivittyvät tasaiseen tahtiin, .NET Coren päivitys oli merkittävä. Uudet .NET-kirjastot tuovat käyttöömme palveluitamme tehostavia ominaisuuksia, joista asiakkaamme saavat myös nauttia sekä sovellus- että tekniikkapäivitysten muodossa. Taustakoodin päivitys tekee ohjelmistoistamme entistä nopeampia ja turvallisempia sekä antaa meille mahdollisuuden kehittää uusia moduuleja osaksi palvelutarjontaamme.
Säännöllisistä päivityksistämme huolimatta, tämänkaltaiset uudistukset ovat huomionarvoisia. Lue lisää .NET Core-päivityksestämme sekä sen tuomista hyödyistä.
Tutustu uuteen .NET kirjastoon
Uusi avoimen lähdekoodin .NET Core julkaistiin alun perin jo vuonna 2014. Siitä lähtien kaikki Timehousen uudet projektit ovat käyttäneet uutta .NET Corea. Silti jouduimme edelleen käyttämään sen rinnalla vanhemmissa järjestelmissä pyöriviä legacy-kirjastoja.
Näin käy monen järjestelmän kohdalla: kun vanhaa ohjelmointikieltä päivitetään tai sen tuki lopetetaan kokonaan, joudutaan järjestelmää uudistamaan pieni pala kerrallaan käyttäen hetkellisesti sekä vanhentunutta koodia, että sen korvaavaa tekniikkaa rinnakkain. Vanhentuneiden kirjastojen päivitys vakautti sovellustemme kirjastojen yhteensopivuuden.
Mitä muutoksia .NET Core-päivitys toi tullessaan?
- Uusi .NET ei ole enää riippuvainen Microsoftin sovellusalustasta tai rajatuista ohjelmointikielistä. Tämä tuo vapauksia kehitysideoille ja toteutuksille, joiden ei tarvitse enää olla sidoksissa Microsoftin tuotteisiin.
- Tarpeetonta taustakoodia siivottiin tehokkuuden ja käytettävyyden lisäämiseksi.
- JSON-laajennuksen lisäys, joka vahvistaa JSON:n paikan osana nykyaikaista ohjelmistokehitystä.
- Skaalautuvuus ja suorituskyky kasvoi.
- Päivitys oli osa suurempaa siirtymää kohti modernia mikropalvelu— ohjelmistoarkkitehtuurimallia.
Miten .NET hyödyttää asiakkaitamme?
Uuden .NET version ansiosta alustaa on suoraviivaista käyttää ja turhista, tehottomista toiminnoista on luovuttu. Tämän myötä ohjelmistoista voidaan tehdä jalanjäljeltään pienempiä eli tehokkaampia.
Käyttöliittymän sekä taustajärjestelmän välillä on nyt myös kytkös, joka tukee mikropalvelumallia (mallista lisää alempana). Aikaisemmin saatettiin käyttää samaa koodia niin käyttöliittymän (frontend) kuin taustajärjestelmän (backend) ratkaisuihin, mutta tämä ei ole enää välttämätöntä. Se antaa mahdollisuuden käyttöliittymän rakentamiseen erilaisilla moderneilla ohjelmistokehyksillä (Vue js., React, Angular jne.), jotka pystytään dynaamisesti yhdistämään .NET:n avulla taustajärjestelmään.
Tämä tarkoittaa sitä, että yritykset voivat ongelmitta hyödyntää eri tekniikoita lomittain liiketoimintansa ja –palveluidensa rakentamiseen.
Kirjastojen huoltotyöt ja optimointi
Pitkään asiakkaitamme palvelleet kirjastot olivat päivityksen tarpeessa. Optimoinnin kannalta oli tärkeää, että kirjaston toiminnallisuudet käytiin läpi haarukoiden vanhentuneet ominaisuudet pois uudesta versiopäivityksestä. Myös osa tarpeellisista toiminnallisuuksista oli aika ohjelmoida uudelleen, palvellakseen myös tulevaisuudessa asiakkaitamme parhaalla mahdollisella tavalla.
Tämänkaltaisissa projekteissa on tärkeä tuntea omat tuotteensa ja palvelunsa läpikotaisin pystyäkseen tarkasti suunnittelemaan mitä ominaisuuksia tarvitaan ja mistä voidaan luopua. Ymmärryksemme siitä miten asiakkaamme käyttävät tuotteitamme auttoi kirjastopäivityksen suunnittelussa, taaten tehokkaan lähestymisen versiovaihdokseen. Päivitys vaikutti myös sisäisiin liiketoimintaprosesseihimme, joka antoi mahdollisuuden vahvistaa samalla omia työnkulun toimintatapojamme.
Projektin keskiössä ei ollut pelkästään tarve tuoda uutta koodia järjestelmiimme, vaan myös halu optimoida ja uudelleenkirjoittaa ominaisuuksista tehokkaita ja pitkäikäisiä, vastaamaan yrityksemme sekä asiakkaidemme tarpeita.
Aikansa se hyväkin käki kukkuu
Tekniikka on tehnyt uskomattomia kehitysharppauksia viimeisen 30-vuoden ajan eikä sen hidastumista ole näkyvissä. Tämä tarkoittaa myös sitä, ettei mikään järjestelmä kestä ajan tuomia muutoksia loputtomiin. Muuttujia ja muuttuvia osia on liikaa. Työntekijät vaihtuvat, alat korvautuvat toisilla ja prosessit uudistuvat. Kuinka moni käytäntö on vanhentunut viimeisen kahdeksan vuoden aikana omassa työssäsi?
Päivityksessä teimme läpileikkauksen järjestelmäämme ajansaatossa luomiin ominaisuuksiin voidaksemme erotella vanhentuneet toiminnallisuudet talteen otettavista. Olemme samalla myös oppineet, miten ohjelmoida asioita tehokkaammin myös tulevaisuudessa.
Mitä ovat Mikropalvelu- ja DevOps-mallit ja miksi käytämme niitä?
.NET antaa ohjelmistokehityksessä mahdollisuuden säiliöihin perustuvan, mikropalvelumallisen arkkitehtuurin rakennukseen. Mitä tämä lausehirviö oikein tarkoittaa?
Vertaillaan vaikkapa legoautoa tehtaalla valmiiksi kasattuun pienoismalliin. Jokainen yksittäinen legopala on oma säiliönsä sisältäen oman toiminnallisuutensa. Palaset muodostavat eheän kokonaisuuden, joka vastaa mikropalvelumallisista arkkitehtuuria. Legot ovat yhteensopivia keskenään, ja yksittäisiä paloja voi halutessaan lisätä ja päivittää. Pienoismalli on valmis paketti, johon ei voi tehdä muutoksia rikkomatta sitä.
Mikropalveluarkkitehtuurin avulla ohjelmistoa on siis helppo ylläpitää ja hallinnoida. Se estää myös taustajärjestelmän sotkeutumisen käyttöliittymäsuunnittelun kanssa. Näistä syistä ketterä DevOps -toimintamalli, jota käytämme Timehousella ohjelmistokehityksessämme, toimii hyvin yhdessä mikropalvelumallin kanssa.
Loppukaneetti: Miksi tekniikan päivitys kannattaa?
Päivitys antoi meille hyvän kiteytyksen siitä, miksi tekniikan jatkuva uudistaminen on aina tärkeää. Tässä oleellisimmat kohdat:
💾 Osa tekniikasta tulee vääjäämättä vanhentumaan ajan myötä
🆕 Vaikka tekniset ratkaisusi olisivat päällisin puolin kunnossa, työprosessien muutokset saattavat tehdä niistä tarpeettomia
🐢 Tekninen velkasi vähenee (panostetaan pitkäikäisyyteen nopeiden ja kestämättömien ratkaisujen sijaan)
🐾 Järjestelmälläsi on pienempi jalanjälki
🤝 Saat helpommin osaavia tekijöitä ja toimijoita työskentelemään päivitettyjen järjestelmiesi parissa