Mitkä ratkaisun osat ovat low-codea ja mitkä räätälöityä koodia?
Lähestymistapamme on koodilähtöinen low-code, ei ”mustan laatikon” low-code.
Alustassa on kahdenlaista koodia: peruskoodia (uudelleenkäytettävät komponentit ja palvelut) ja automaattisesti generoitua projektikoodia. On tärkeää huomata, että kaikki koodi (perus- tai generoitu koodi) on alun perin ohjelmistokehittäjien kirjoittamaa. Kehittäjä toteuttaa ensin komponentin, moduulin tai palvelun sisäisen koodityylimme ja alan standardien mukaisesti, minkä jälkeen se katselmoidaan ja testataan. Sen jälkeen komponentti muunnetaan käsin malliksi, joka soveltuu generaattorille ja sovellusmalliin sisällytettäväksi.
Asiakasratkaisun ensimmäisen käyttöönoton aikana (tyypillisesti noin 20–40 minuuttia) generaattori mukauttaa (refaktoroi) mallikoodin vastaamaan asiakasprojektia (esim. nimeäminen, etuliitteet, nimiavaruudet, tekijänoikeusotsakkeet jne.). Osana tätä prosessia komponentista tai mallista tuotetaan kopio, joka tallennetaan erilliseen, juuri kyseistä asiakasta ja projektia varten luotuun omaan repositorioon. Tämä refaktoroitu kopio noudattaa samoja koodistandardeja ja samaa koodityyliä, ja se on käytettävissä manuaaliseen kehitykseen ja muutoksiin käyttöönoton jälkeen.
Automaattisesti generoitu koodi on käytettävissä virheenjäljitykseen ja laajentamiseen (esim. osittaisten luokkien ja periytymisen avulla), ja se pysyy luettavana ja standardien mukaisena.
Esimerkkejä automaattisesti generoidusta koodista (valtaosa):
- Frontendin TypeScript-mallit, jotka generoidaan C#-taustajärjestelmän tietomalleista ja rajapinnoista
- Frontendin lokalisoinnin apuvälineet (käännösmuuttujat), joita monikielinen käyttöliittymä edellyttää
- Perusapu- ja muunnosluokat yleisiä käyttöliittymäesityksiä varten (merkkijonot, listan alkiot jne.)
Esimerkkejä (uudelleenkäytettävästä) peruskoodista:
- AuthService – tunnistautuminen ja valtuutus
- NotificationService – ilmoitukset (sähköposti, tekstiviesti, push-ilmoitukset, sovelluksen sisäiset ilmoitukset)
- FileService – tiedostojen ja kuvien tallennus ja hallinta
- SyncService – uudelleenkäytettävät integraatiomekanismit ERP-järjestelmiin liittymistä varten (ml. synkronointimallit)
Täsmennyksiä (riskien pienentäminen)
- Ei ajonaikaista ”taikuutta”
- Koodin generointi tapahtuu pystytyksen ja toteutuksen aikana; tuloksena on tavallinen koodikanta, ei suljetun moottorin sisällä ajettavaa piilotettua logiikkaa.
- Ylläpidettävyys
- Generoitu ja refaktoroitu koodi noudattaa yhtenäistä koodityyliä ja yhtenäisiä arkkitehtuurikäytäntöjä.
- Turvalliset laajennuskohdat
- Laajennamme ratkaisua vakiomekanismeilla (osittaiset luokat, periytyminen, erilliset laajennustiedostot), jotta päivitykset tai uudelleengenerointi eivät korvaa asiakaskohtaista logiikkaa.