Legg igjen kontaktinformasjon, så sender vi deg oversikten vår på e-post
Jeg samtykker i å behandle personopplysningene mine for å sende personlig tilpasset markedsføringsmateriell i samsvar med Retningslinjer for personvern. Ved å bekrefte innsendingen samtykker du i å motta markedsføringsmateriell.
Takk skal du ha!

Skjemaet har blitt sendt inn.
Mer informasjon finner du i postkassen din.

Innowise er et internasjonalt selskap som utvikler programvare for hele syklusen. selskap grunnlagt i 2007. Vi er et team på 1800+ IT-profesjonelle som utvikler programvare for andre fagfolk over hele verden.
Om oss
Innowise er et internasjonalt selskap som utvikler programvare for hele syklusen selskap grunnlagt i 2007. Vi er et team på mer enn 1600+ IT-profesjonelle som utvikler programvare for andre fagfolk over hele verden.

Forbedring av GDS-nettapplikasjonen: 2 ganger raskere API-integrasjon

Innowise gjennomførte en omfattende refaktorering av plattformkoden og forenklet prosessen med å integrere nye API-er betydelig. 

Kunde

Industri

Reise

Region

EU

Kunde siden

2023

Vår kunde, en fremtredende aktør i reiselivsbransjen, driver et globalt distribusjonssystem (GDS) for utstedelse av fergebilletter og andre reisetjenester. Denne webapplikasjonen er et enkelt kontaktpunkt for håndtering av ulike fergebestillinger, inkludert lange og korte reiser, flersetersreiser og til og med komplekse reiseruter med flere avganger.

Detaljert informasjon om kunden kan ikke utleveres i henhold til vilkårene i taushetserklæringen.

Utfordring

Navigere i markedsbegrensninger og mangler i dokumentasjonen

Denne kunden følte seg begrenset av sin nåværende markedsstørrelse og ønsket å ekspandere ytterligere. For å oppnå dette ønsket de å etablere API-integrasjoner med reisebyråer. 

I tillegg var fraværet av en strukturert dokumentasjon av programvarearkitekturen et stort problem. Denne mangelen førte til flere utfordringer, blant annet når det gjaldt å lære opp nyansatte teammedlemmer, opprettholde en felles forståelse av systemet blant ulike interessenter og implementere nye produktfunksjoner på en smidig måte. 

Kunden henvendte seg derfor til oss for å få API-integrasjoner og for å lage en omfattende arkitektur for programvaredokumentasjon.

Løsning

Effektivisering av webapplikasjoner og forbedring av API-integrasjonsteknikker

Innowise leverte modernisering og optimalisering av webapplikasjoner API-integrasjoner med reisebyråer for å løfte fergeopplevelsen over hele Europa.

Opprette dokumentasjon av programvarearkitektur

Innledningsvis gjennomførte vi omfattende intervjuer med kundens utviklingsteam og interessenter. På den måten sikret vi at vi fikk med oss essensen av det de trengte. 

Med utgangspunkt i denne informasjonsmengden satte vi oss fore å utforme en intuitiv og forståelig dokumentasjonsstruktur. Dokumentasjonen dekket alt fra systemoversikter på høyt nivå til detaljer på kodenivå. Vi brukte diagrammer, flytskjemaer og interaktive elementer for å gjøre den informativ og engasjerende.

Men det handlet ikke bare om å lage et statisk dokument. Vår erfaring er at den beste dokumentasjonen er den som lever, puster og utvikler seg i takt med systemet den beskriver. Derfor implementerte vi en dynamisk dokumentasjonsprosess som kontinuerlig ble oppdatert etter hvert som systemet vokste og endret seg. Denne levende dokumenttilnærmingen sørget for at dokumentasjonen alltid var oppdatert.

I tillegg fokuserte vi på å gjøre dokumentasjonen tilgjengelig og forståelig for alle involverte parter. Dette innebar å unngå sjargong, bruke et klart og konsist språk og sørge for at både tekniske og ikke-tekniske interessenter kunne finne verdi i dokumentasjonen.

Ved å etablere denne omfattende arkitekturen for programvaredokumentasjon la vi ikke bare grunnlaget for det aktuelle prosjektet, vi ga også kunden et verktøy som kunne hjelpe til med fremtidig utvikling, onboarding av nye teammedlemmer og legge til rette for tydelig kommunikasjon mellom alle involverte parter. Det var hjørnesteinen som all videre utvikling ble bygget på.

Refaktorering av kode og migrering til mikrotjenester

Da vi dykket ned i kundens eksisterende system, fant vi en utdatert versjon av Java med duplisering av kode og utdatert praksis. Den opprinnelige arkitekturen, en monolittisk applikasjon, hadde tjent sitt formål i en tidlig fase. Men etter hvert som plattformen vokste, viste denne tilnærmingen sine begrensninger. Skalerbarheten ble vanskelig, og kodebasen ble en uoversiktlig labyrint som ble stadig vanskeligere å navigere i og oppdatere uten å introdusere nye feil.

På bakgrunn av analysen kom vi frem til at det var nødvendig å gå over til en mikrotjenestearkitektur. Mikrotjenester var løsningen på det monolittiske systemets problemer med skalerbarhet og smidighet. Hver mikrotjeneste i denne arkitekturen fungerer uavhengig av hverandre, noe som betyr at endringer i én tjeneste ikke har direkte innvirkning på de andre. Denne uavhengigheten er avgjørende for et system som kundens, der hyppige oppdateringer og integrasjoner er standard.

Overgangen til en mikrotjenestearkitektur skjedde ikke over natten. I stedet valgte vi en inkrementell tilnærming, der vi forsiktig demonterte den monolittiske strukturen og satte den sammen igjen til en mer dynamisk, mikrotjenestebasert arkitektur. Denne metoden gjorde det mulig for oss å opprettholde systemfunksjonaliteten gjennom hele overgangen, og vi unngikk betydelig nedetid som kunne påvirke kundens drift negativt.

Vi tok nøye ut hver enkelt tjeneste, videreutviklet den og distribuerte den uavhengig av hverandre. Utviklerne våre skilte tjenester som billettbestilling og reiserutehåndtering i separate enheter. Denne separasjonen gjorde det for eksempel mulig å oppdatere systemet for reiserutehåndtering uten å risikere utilsiktede konsekvenser i bookingsystemet.

Til denne transformasjonen brukte vi Spring Boot og Spring Cloud. Spring Boot gjorde det enklere å sette opp og konfigurere mikrotjenester, noe som gjorde utviklingen raskere. Spring Cloud tilbød verdifulle verktøy for distribuerte systemer, som konfigurasjonsadministrasjon og tjenesteoppdagelse.

Vi integrerte også Kafka som meldingsformidler. Kafkas evne til å håndtere store datamengder og sikre pålitelig kommunikasjon mellom tjenestene var avgjørende, spesielt med tanke på den store dataflyten i den nye arkitekturen.

Til slutt implementerte vi nye mikrotjenester på den nyeste versjonen av Java. Denne oppgraderingen bidro til bedre ytelse og økt sikkerhet og dannet et sterkt og moderne fundament for hele arkitekturen.

Utdyping av utviklingen av en ny prosesseringsmodul

Etter hvert som vi videreutviklet og forbedret kundens system, identifiserte vi behovet for en mer effektiv måte å håndtere nye integrasjoner på. Dette førte til at vi utviklet en spesialisert behandlingsmodul, et viktig tillegg til systemet som førte til betydelige forbedringer i integrasjonsprosessen.

Håndtering av redundansutfordringer

En av hovedutfordringene vi sto overfor, var at kodeskrivingsprosessen var så repetitiv for hver ny integrasjon. Før vi utviklet denne behandlingsmodulen, ble hver nye integrasjon med en annen reisebyrå eller -tjeneste krevde en betydelig mengde kode skrevet fra bunnen av.

Utforming av behandlingsmodulen

Prosesseringsmodulen vi utviklet, ble designet for å fungere som et allsidig grensesnitt mellom kundens system og eksterne API-er. Modulen består av forhåndsbygde, tilpassbare maler og verktøy som reduserer behovet for å skrive ny kode for hver enkelt integrasjon. Den fungerer ved å abstrahere standardfunksjoner og prosesser som vanligvis er involvert i integrering med ulike reisetjenester, for eksempel billettbestillingssystemer eller kundedatabaser.

Modulen inneholder flere viktige funksjoner:

  • API-kommunikasjonsbehandlere: Disse er utviklet for å håndtere reisebyråenes innkommende og utgående API-forespørsler. De håndterer kompleksiteten i ulike API-protokoller og dataformater, noe som gjør det enklere å koble til eksterne systemer.
  • Verktøy for kartlegging og transformasjon av data: Ofte varierer datastrukturene mellom ulike systemer. Vår modul inneholder verktøy som automatisk mapper og transformerer data til og fra det formatet som kreves av kundens system og eksterne tjenesteleverandører. Dette legger til rette for smidig datautveksling og integrasjon.
  • Grensesnitt for konfigurering og tilpasning: For å ta hensyn til behovet for fleksibilitet er modulen utstyrt med et grensesnitt som gjør det enkelt for utviklere å konfigurere og tilpasse integrasjoner uten å gå dypt inn i kjernekoden. Dette gjør det mulig å raskt tilpasse seg de spesifikke kravene til hvert enkelt reisebyrå eller hver enkelt tjeneste.

API-integrasjoner med reisebyråer

Deretter integrerte vi kundens GDS med fire reisebyråer som brukte REST- og SOAP-utvekslingsmekanismer. Disse integrasjonene var avgjørende for å forbedre prosessene for bestilling, endring og kansellering av fergebilletter. Utfordringen vår var å skape et integrasjonsrammeverk som kunne håndtere et bredt spekter av fergebestillinger, inkludert ulike ruter, setekonfigurasjoner og tilleggstjenester.

Implementeringen av disse integrasjonene omfattet flere viktige trinn. Først gikk vi gjennom byråenes API-er for å forstå deres datastrukturer og funksjonelle krav. Ved hjelp av vår nyutviklede behandlingsmodul skapte vi tilpassede koblinger for hvert enkelt byrå. Disse koblingene ble skreddersydd for å håndtere byråenes spesifikke dataformater og arbeidsflyter, noe som sikret en smidig dataintegrasjon med kundens GDS.

Prosessen omfattet bruk av avanserte verktøy for datakartlegging og -transformasjon i behandlingsmodulen vår. Denne teknologien spilte en avgjørende rolle for å sikre dataintegritet og -konsistens. Teamet vårt gjennomførte omfattende tester for å validere effektiviteten og påliteligheten til disse integrasjonene. Vi simulerte ulike bestillingsscenarier for å teste integrasjonene under ulike forhold. Etter at testingen var vellykket, implementerte vi integrasjonene i live-miljøet og satte opp kontinuerlige overvåkningsmekanismer for å overvåke ytelsen og raskt løse eventuelle problemer.

Teknologier

Back end

Java 17, Spring, Spring Boot, Spring Cloud, Hibernate

API

REST, SOAP

Lagring av data

PostgreSQL, Memcached

Meldingsmeglere

Kafka

DevOps

GitLab CI/CD-pipelines

Tjenester

Gitlab, Jira og Confluence

Prosess

Oppdagelse og analyse

Vi utarbeidet et visjons- og omfangsdokument for å tilpasse prosjektmålene til kundens forventninger i den innledende fasen. Dette dokumentet la grunnlaget for prosjektet ved å forstå kundens mål og systemutfordringer.

Utvikling av dokumentasjon av programvarearkitektur

Deretter utviklet vi en dynamisk og lettfattelig dokumentasjon som utvikler seg i takt med prosjektet, noe som optimaliserer kommunikasjonen i teamet og gjør onboardingprosessen mer effektiv.

Utforming og utvikling

Her fokuserte vi på å implementere mikrotjenestearkitekturen og utvikle behandlingsmodulen. I denne fasen fikk vi vist frem vår tekniske ekspertise, noe som resulterte i en raffinert systemarkitektur og en fullt funksjonell behandlingsmodul.

Integrering og testing

Ved hjelp av behandlingsmodulen har vi sømløst integrert reisebyråenes API-er. Grundig testing sikret systemets pålitelighet og forbedrede funksjonalitet.

Kommunikasjon og sporing av oppgaver

Microsoft Teams var vårt primære kommunikasjonsverktøy for å effektivisere diskusjoner, oppdatere delinger og opprettholde et sentralt informasjonslager. Vi brukte Jira for å holde orden og effektiv arbeidsflytstyring for sporing av oppgaver.

Team

4

Back-end-ingeniører

1

Kvalitets- sikringsingeniør

1

Teamleder

1

Prosjektleder

1

Programvarearkitekt

1

Forretningsanalytiker

1

Leveringssjef

Resultater

Oppnår transformative resultater med kraftig økning i salget og økt tilstedeværelse på markedet.

Etter den vellykkede implementeringen viste kundens webapplikasjon bemerkelsesverdige ytelsesforbedringer. Kombinasjonen av kode-refactoring og migrering til en mikrotjenestearkitektur resulterte i en betydelig smidigere drift. Denne tekniske overhalingen, kombinert med den sømløse integreringen av nye tjenester, førte til en betydelig økning i kundens salg.

Virkningen av denne transformasjonen strakte seg utover det finansielle området. Den førte til en betydelig ekspansjon, ikke bare i omsetning, men også i geografisk tilstedeværelse. Dette markerte et stort sprang i selskapets markedsdekning og styrket selskapets posisjon som en fremtredende aktør i bransjen. Samarbeidet med kunden fortsetter, og flere integrasjoner er på trappene.

Prosjektets varighet
  • Mars 2023 - Løpende

30%

økt salg

2x

økt hastighet for API-integrering

Ta kontakt med oss!

Bestill en samtale eller fyll ut skjemaet nedenfor, så kontakter vi deg så snart vi har behandlet forespørselen din.

    Ta med prosjektdetaljer, varighet, teknisk stack, behov for IT-fagfolk og annen relevant informasjon.
    Spill inn en talemelding om din
    prosjektet for å hjelpe oss å forstå det bedre
    Legg ved ytterligere dokumenter om nødvendig
    Last opp fil

    Du kan legge ved opptil 1 fil på totalt 2 MB. Gyldige filer: pdf, jpg, jpeg, png

    Vær oppmerksom på at når du klikker på Send-knappen, vil Innowise behandle personopplysningene dine i samsvar med vår Personvernerklæring for å gi deg relevant informasjon.

    Hva skjer videre?

    1

    Etter at vi har mottatt og behandlet forespørselen din, vil vi komme tilbake til deg innen kort tid for å beskrive prosjektbehovene dine og undertegne en taushetserklæring for å sikre informasjonens konfidensialitet.

    2

    Etter å ha undersøkt kravene, utarbeider våre analytikere og utviklere en prosjektforslag med arbeidsomfang, teamstørrelse, tid og kostnader estimater.

    3

    Vi arrangerer et møte med deg for å diskutere tilbudet og komme til en avtale.

    4

    Vi signerer en kontrakt og begynner å jobbe med prosjektet ditt så raskt som mulig.

    Спасибо!

    Cообщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Takk skal du ha!

    Meldingen din er sendt.
    Vi behandler forespørselen din og kontakter deg så snart som mulig.

    Takk skal du ha!

    Meldingen din er sendt. 

    Vi behandler forespørselen din og kontakter deg så snart som mulig.

    pil