Skjemaet har blitt sendt inn.
Mer informasjon finner du i postkassen din.
Innowise gjennomførte en omfattende refaktorering av plattformkoden og forenklet prosessen med å integrere nye API-er betydelig.
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.
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.
Innowise leverte modernisering og optimalisering av webapplikasjoner API-integrasjoner med reisebyråer for å løfte fergeopplevelsen over hele Europa.
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å.
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.
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.
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.
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:
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.
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
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.
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.
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.
Ved hjelp av behandlingsmodulen har vi sømløst integrert reisebyråenes API-er. Grundig testing sikret systemets pålitelighet og forbedrede funksjonalitet.
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.
4
Back-end-ingeniører
1
Kvalitets- sikringsingeniør
1
Teamleder
1
Prosjektleder
1
Programvarearkitekt
1
Forretningsanalytiker
1
Leveringssjef
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.
30%
økt salg
2x
økt hastighet for API-integrering
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.
Etter å ha undersøkt kravene, utarbeider våre analytikere og utviklere en prosjektforslag med arbeidsomfang, teamstørrelse, tid og kostnader estimater.
Vi arrangerer et møte med deg for å diskutere tilbudet og komme til en avtale.
Vi signerer en kontrakt og begynner å jobbe med prosjektet ditt så raskt som mulig.
© 2007-2024 Innowise. Alle rettigheter forbeholdt.
Personvernerklæring. Retningslinjer for informasjonskapsler.
Innowise Sp. z o.o Ul. Rondo Ignacego Daszyńskiego, 2B-22P, 00-843 Warszawa, Polen
Ved å registrere deg godtar du vår Retningslinjer for personvern, inkludert bruk av informasjonskapsler og overføring av dine personopplysninger.
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.
We’ll process your request and contact you back as soon as possible.