Säteilyaltistuksen seurantasovelluksen päivitys

Innowise on päivittänyt säteilyaltistuksen seurantasovellusta, parantanut vasteaikaa 3,3-kertaiseksi ja luonut pohjan ohjelmistotoimintojen laajentamiselle.

Asiakas

Teollisuus
Terveydenhuolto
Alue
EU
Asiakas vuodesta
2024

Asiakkaamme on eurooppalainen konsultointi- ja teknologiayritys, joka on erikoistunut säteilysuojeluun, laatuun ja turvallisuuden hallintaan. Yritys tukee terveydenhuolto-, kuljetus- ja energiateollisuuden yrityksiä ja auttaa niitä noudattamaan alueellisia säteilysuojelumääräyksiä ja kansainvälisiä standardeja, kuten ISO 9001, ISO 14001 ja ISO 19443.

Yli 200 yritystä käyttää päivittäin yhtä heidän lippulaivatuotteistaan, kattavaa SaaS-alustaa, jolla seurataan henkilöstön säteilyaltistusta ja terveydentilaa. Verkkosovellus, jonka tarkoituksena on parantaa työntekijöiden turvallisuutta ja hyvinvointia, tarjoaa valmiudet säteilyaltistustason laskemiseen manuaalisen annosmittaustietojen syöttämisen perusteella. Sovelluksessa on myös työntekijöiden terveystietojen seuranta, henkilökohtaiset terveystarkastukset ja ennakoiva lääketieteellisten riskien arviointi mahdollisesti vaarallisissa ympäristöissä työskenteleville.

Yksityiskohtaisia tietoja asiakkaasta ei voida luovuttaa NDA:n määräysten nojalla.

Haaste

Syvään juurtuneet sovellusongelmat estävät liiketoiminnan kasvua

Säteilyaltistuksen seurantasovellus on ollut markkinoilla jo yli 10 vuotta, mutta sen koodipohjaan ei ollut tehty merkittäviä päivityksiä tai uudelleenkirjoituksia tänä aikana. Kun asiakkaan liiketoiminta kasvoi, myös tarve vankemmalle ja skaalautuvammalle ratkaisulle kasvoi.

He halusivat nykyaikaistaa ohjelmistoa, korjata virheitä ja korjata useita järjestelmällisiä ongelmia, jotka olivat vaikuttaneet suorituskykyyn ja yleiseen käytettävyyteen:

  • Riittämätön suorituskyky. Sovellus hidastui merkittävästi, kun useat loppuasiakkaat lähettivät kyselyitä samanaikaisesti, jolloin odotusajat olivat joskus yli 500 ms ja käyttäjät turhautuivat. Koska asiakkaalla oli liiketoiminnan laajentamissuunnitelmia ja hän odotti käyttäjäkunnan kasvavan, suorituskykymittareiden perusteella oli selvää, että sovellus ei kestänyt lisääntynyttä kuormitusta.
  • Rajoitetut valmiudet. Toimintavuosien aikana asiakas huomasi, että sovelluksesta puuttui useita tärkeitä ominaisuuksia, joita tarvittiin vastaamaan paremmin asiakkaiden vaatimuksiin. He halusivat täydentää säteilyaltistuksen seurantaratkaisua uusilla, kehittyneillä toiminnoilla.
  • Huono sovellusarkkitehtuuri. Alkuperäistä arkkitehtuuria ei ollut suunniteltu skaalautuvuutta silmällä pitäen, ja asiakas oli huolissaan siitä, että se ei pystyisi enää kasvamaan.
  • Pirstaleinen dokumentaatio. Suuri osa sovelluksen dokumentaatiosta oli joko vanhentunutta tai puutteellista. Sovelluksen päivittämisen ja uusien käyttäjien käyttöönoton tehostamiseksi asiakkaan oli tarpeen kuvata kaikki olemassa olevan ratkaisun näkökohdat perusteellisessa projektidokumentaatiossa.
Tuolloin säteilyaltistuksen seurantasovellusta ylläpiti ulkoistettu tiimi, joka ei pystynyt ratkaisemaan näitä ongelmia riittävän nopeasti. Niinpä asiakas etsi kokenutta terveydenhuollon asiantuntijaa. ohjelmistokehityskumppani ottamaan hoitaakseen säteilyaltistuksen valvontasovelluksen uudistamisen.

Ratkaisu

Sovellusten perusteellinen auditointi, modernisointi ja refaktorointi

Innowise:n tiimi aloitti projektin tekemällä perusteellisen tarkastuksen säteilyaltistuksen seurantasovelluksesta, jotta ymmärrettäisiin järjestelmään vaikuttavien ongelmien perimmäiset syyt. Löysimme seuraavaa:
  • Vanhentunut tekniikka. Sovelluksessa käytettiin vanhempia versioita ohjelmointikielistä, kuten Node.js:ää ja Angular.js:ää, sekä eri kieliversioita koko sovelluksessa.
  • Tehottomat SQL-kyselyt. SQL-kyselyjen kirjoittamisessa oli useita vastakuvioita, jotka vaikuttivat sovelluksen huonoon suorituskykyyn.
  • Versiohallintakysymykset. Sovellus kärsi tehottomista ohjelmistojen versionhallintakäytännöistä, ja lähdekoodinhallinnassa säilytettiin vanhentuneita tiedostoja, kolmannen osapuolen liitännäisiä ja suoritettavia tiedostoja.
  • Järjestäytymättömät arkistot. Arkistojen ja projektien rakenne ei ollut intuitiivinen, mikä vaikeutti koodikannan navigointia ja hallintaa.
  • Manuaalinen käyttöönotto. Sovellus otettiin käyttöön manuaalisesti ilman CI/CD-putkea, mikä lisäsi liiketoimintariskejä ja johti mahdollisiin inhimillisiin virheisiin.
  • Ei varmuuskopiointi- tai palautusmekanismeja. Sovellustietojen varmuuskopiointiin tai sovelluksen palauttamiseen ei ollut mitään mekanismeja, jos jokin meni pieleen.

Auditoinnin tulosten perusteella Innowise:n projektiryhmä laati selkeän etenemissuunnitelman parannuksista, jotka ovat välttämättömiä säteilyaltistuksen seurantasovelluksen vakauden, suorituskyvyn ja skaalautuvuuden kannalta. Kun asiakas oli antanut suunnitelmallemme vihreää valoa, siirryimme jatkuviin parannuksiin. 

Asiakas halusi, että sovelluksen kehitys tapahtuu mahdollisimman sujuvasti, joten teimme muutoksista loppukäyttäjille näkymättömiä, jotta liiketoiminta ei häiriintyisi. Vain kolmessa kuukaudessa Innowise:n tiimi otti käyttöön seuraavat muutokset säteilyaltistuksen seurantasovelluksessa.

Sovelluksen konttipakkaus

Suorituskyvyn lisäämiseksi ja tulevien skaalautumistarpeiden tukemiseksi jaoimme sovelluksen useisiin keskeisiin komponentteihin: frontend, backend, raportointimoduulit, loki- ja seurantamoduuli sekä tietokanta. Sitten tiimimme konttasivat jokaisen komponentin ja siirsivät ne erillisiin virtuaalikoneisiin. Nämä muutokset tukivat asiakkaan ennakoimaa kasvavaa työmäärää.

Teknologiapinon nykyaikaistaminen

Päivitimme sovelluksen teknistä järjestelmää päivittämällä vanhentuneita kehyksiä ja työkaluja, korjaamalla virheitä ja varmistamalla, että järjestelmä tukee tulevia parannuksia. Näin sovelluksen suorituskyky ja ylläpidettävyys paranivat kipeästi.

Tietokannan uudelleenkäsittely

Innowise:n tiimi muokkasi säteilyaltistuksen seurantasovelluksen tietokannan, paransi tietokantakyselyjä, lisäsi indeksejä ja otti käyttöön vierasavaimia. Kokonaisvaltainen lähestymistapamme lisäsi tietokannan suorituskykyä 1,5-3-kertaiseksi refaktoroinnin jälkeen.

CI/CD-putken toteuttaminen

Otimme käyttöön jatkuvan integroinnin ja käyttöönoton (CI/CD) putken, jolla korvattiin manuaalinen käyttöönottoprosessi. Tämän uuden lähestymistavan avulla tiimimme automatisoi käyttöönottoprosessin ja varmisti nopeammat ja luotettavammat päivitykset. Otimme myös käyttöön järjestelmän lokitiedonkeruun ja seurannan Prometheus:n ja Grafanan avulla, jotta voimme seurata ja visualisoida järjestelmän suorituskykyä ja ongelmia reaaliajassa.

Varmuuskopiot ja palautus

Innowise:n tiimi käytti IaC:tä (Infrastructure as Code) katastrofista toipumiseen, mikä tarkoittaa, että koko sovellus voidaan nyt ottaa uudelleen käyttöön uuteen ympäristöön vain 15 minuutissa. Otimme myös käyttöön vankat varmuuskopiointimenettelyt, jotta tiedot ovat turvassa ja ne voidaan tarvittaessa palauttaa nopeasti.

Hakemusasiakirjat

Refaktoroinnin ohella Innowise:n tiimi laati huolellisesti säteilyaltistuksen seurantasovelluksen dokumentaatiota, joka sisälsi kaikki arkkitehtuuriin ja järjestelmään tehdyt muutokset.

Tuleva kehitys ja käyttöliittymän uudelleensuunnittelu

Kun olimme luoneet pohjan säteilyaltistuksen seurantasovelluksen kehittämiselle, meidän oli tarkoitus siirtyä ominaisuuksien kehittämiseen ja käyttöliittymän uudelleensuunnitteluun. Seuraavassa on tulevia parannuksia, joita tiimimme on jo suunnitellut:
  • Raportoinnin parannukset. Parannamme raportointiominaisuuksia lisäämällä uusia lääkärintarkastustyyppejä ja ottamalla käyttöön uusia raporttimuotoja.
  • Käyttöliittymän uudelleensuunnittelu. Me tulemme käyttöliittymän uudelleensuunnittelu olla intuitiivisempi ja mukautua eri laitteisiin ja näyttökokoihin, mikä tarjoaa paremman loppukäyttäjäkokemuksen.
  • Arkkitehtuurin lisäparannukset. Tietojen ja suorituskykymittareiden perusteella Innowise jatkaa sovelluksen arkkitehtuurin parantamista varmistaakseen, että se voidaan skaalata tehokkaasti.

Teknologiat

Frontend

Angular

Backend

Node.js, WinDev

Cloud

OVHcloud

Tietokanta

MySQL

DevOps

Terraform, Bitbucket, Grafana, Prometheus, Docker, Docker Compose, Docker Compose.

Prosessi

Koska asiakas halusi joustavuutta projektin laajuudessa, sovimme Time & Material -hinnoittelumallista, mikä tarkoittaa, että arvioimme projektin tunnit etukäteen, mutta veloitimme asiakasta vain todellisuudessa käytetyistä tunneista. Kun asiakas halusi laajentaa projektin laajuutta, projektipäällikkömme toimitti lisälaskelmia, jotta asiakas pystyi helposti seuraamaan kuluja ja projektin edistymistä.

Otimme käyttöön iteratiivisen projektinhallintamenetelmän, jaoimme projektin sprintteihin ja määrittelimme kullekin vaiheelle selkeät välitavoitteet. Projektiryhmämme järjesti joka viikko puheluita asiakkaan sidosryhmien kanssa, joissa se kertoi edistymisestä ja tuloksista, mikä paransi tiimin yleistä yhteenkuuluvuutta.

Joukkue

1

Projektipäällikkö

1

Toimituspäällikkö

1

liiketoiminta-analyytikko

1

Ratkaisuarkkitehti

1

Back-End-kehittäjä

1

Front-End-kehittäjä

1

DevOps Engineer

1

QA Engineer

1

Tunkeutumistestaus Engineer

Tulokset

Parempi suorituskyky ja vankka sovellusarkkitehtuuri

Nyt, vain kolmen kuukauden jälkeen, asiakkaalla on paljon vankempi, skaalautuvampi ja ylläpidettävämpi sovellus säteilyaltistuksen seurantaa varten. Olemme onnistuneesti uudistaneet ohjelmistoinfrastruktuuria, korjanneet suorituskykyongelmia ja varmistaneet, että arkkitehtuuri kestää tulevan kasvun. Innowise:n tiimi on myös laatinut selkeän etenemissuunnitelman tuleville ominaisuuksien kehittämiselle ja järjestelmän parannuksille, joiden avulla käyttäjäkokemusta ja toiminnan tehokkuutta voidaan parantaa entisestään.

Seuraavien kuukausien aikana tiimimme toteuttaa suunnitellut päivitykset, jotta asiakas voi vastata kehittyviin käyttäjätarpeisiin.

Hankkeen kesto
  • Joulukuu 2024 - Jatkuva

3.3

kertaa nopeampi sovelluksen vasteaika

1.5-3

kertaa parempi tietokannan suorituskyky

    Ota yhteyttä

    Varaa puhelu tai täytä alla oleva lomake, niin otamme sinuun yhteyttä, kun olemme käsitelleet pyyntösi.

    Lähetä meille ääniviesti
    Liitä asiakirjoja
    Lataa tiedosto

    Voit liittää 1 enintään 2 Mt:n tiedoston. Hyväksytyt tiedostomuodot: pdf, jpg, jpeg, png.

    Klikkaamalla Lähetä, annat suostumuksesi siihen, että Innowise käsittelee henkilötietojasi meidän Tietosuojakäytäntö antaa sinulle asiaankuuluvia tietoja. Antamalla puhelinnumerosi suostut siihen, että voimme ottaa sinuun yhteyttä puheluiden, tekstiviestien ja viestisovellusten kautta. Puhelu-, viesti- ja datahintoja voidaan soveltaa.

    Voit myös lähettää meille pyyntösi
    osoitteeseen contact@innowise.com

    Mitä tapahtuu seuraavaksi?

    1

    Kun olemme vastaanottaneet ja käsitelleet pyyntösi, otamme sinuun yhteyttä ja kerromme yksityiskohtaisesti projektin tarpeet ja allekirjoitamme NDA-sopimuksen luottamuksellisuuden varmistamiseksi.

    2

    Tutkittuaan toiveesi, tarpeesi ja odotuksesi tiimimme suunnittelee projektin ehdotuksen, jossa esitetään työn laajuus, tiimin koko, aika- ja kustannusarviot.

    3

    Järjestämme kanssasi tapaamisen, jossa keskustellaan tarjouksesta ja sovitaan yksityiskohdista.

    4

    Lopuksi allekirjoitamme sopimuksen ja aloitamme projektisi toteuttamisen heti.

    nuoli