Lomake on lähetetty onnistuneesti.
Lisätietoja on postilaatikossasi.
Innowise toteutti kattavan alustakoodin uudistamisen ja yksinkertaisti merkittävästi uusien sovellusliittymien integrointia.
Asiakkaamme on merkittävä matkailualan toimija, joka ylläpitää maailmanlaajuista jakelujärjestelmää (GDS) lauttalippujen ja muiden matkapalvelujen myöntämiseen. Tämä verkkosovellus on keskitetty yhteyspiste erilaisten lauttojen varausten hallinnointiin, mukaan lukien pitkät ja lyhyet matkat, monipaikkaiset matkat ja jopa monimutkaiset usean välilaskun matkareitit.
Yksityiskohtaisia tietoja asiakkaasta ei voida luovuttaa NDA:n ehtojen mukaisesti.
Tämä asiakas koki, että hänen nykyiset markkinansa olivat rajalliset, ja hän halusi laajentaa toimintaansa. Laajentuakseen he halusivat luoda API-integraatioita matkatoimistojen kanssa.
Lisäksi jäsennellyn ohjelmistoarkkitehtuuridokumentaation puuttuminen oli merkittävä ongelmakohta. Tämä puute johti useisiin haasteisiin, kuten tiimin uusien jäsenten perehdyttämiseen, järjestelmän yhteisen ymmärryksen ylläpitämiseen eri sidosryhmien kesken ja uusien tuoteominaisuuksien sujuvaan käyttöönottoon.
Tämän vuoksi asiakas kääntyi meidän puoleemme API-integraatioiden ja kattavan ohjelmistodokumentointiarkkitehtuurin luomiseksi.
Innowise tarjosi web-sovelluksen modernisointia ja optimoitua API-integraatiot matkatoimistojen kanssa, jotta lauttakokemusta voidaan parantaa kaikkialla Euroopassa.
Aluksi teimme laajoja haastatteluja asiakkaan kehitystiimin ja sidosryhmien kanssa. Tällä lähestymistavalla varmistimme, että saimme selville heidän tarpeidensa ytimen.
Tämän runsaan tietomäärän pohjalta suunnittelimme intuitiivisen ja ymmärrettävän dokumentaatiorakenteen. Dokumentaatio kattoi kaiken korkean tason järjestelmäkatsauksista kooditason yksityiskohtiin. Sisällytimme kaavioita, vuokaavioita ja interaktiivisia elementtejä, jotta dokumentaatiosta tulisi informatiivista ja mukaansatempaavaa.
Kyse ei kuitenkaan ollut vain staattisen asiakirjan luomisesta. Kokemuksemme mukaan paras dokumentaatio on sellainen, joka elää, hengittää ja kehittyy kuvaamansa järjestelmän mukana. Niinpä otimme käyttöön dynaamisen dokumentointiprosessin, jota päivitettäisiin jatkuvasti järjestelmän kasvaessa ja muuttuessa. Tämä elävän dokumentin lähestymistapa varmisti, että dokumentaatio oli aina ajan tasalla.
Lisäksi keskityimme siihen, että dokumentaatio on kaikkien osapuolten saatavilla ja ymmärrettävissä. Tämä tarkoitti sitä, että vältimme jargonia, käytimme selkeää ja ytimekästä kieltä ja varmistimme, että sekä tekniset että muut kuin tekniset sidosryhmät voivat hyödyntää sitä.
Luomalla tämän kattavan ohjelmiston dokumentointiarkkitehtuurin emme ainoastaan luoneet pohjatyötä nykyiselle projektille, vaan annoimme asiakkaalle työkalun, joka auttaa tulevassa kehityksessä, uusien tiimin jäsenten palvelukseen ottamisessa ja selkeän viestinnän helpottamisessa kaikkien osapuolten välillä. Se oli kulmakivi, jonka varaan kaikki tuleva kehitys rakennettiin.
Tutustuessamme asiakkaan nykyiseen järjestelmään löysimme vanhentuneen Java-version, jossa oli koodikaksoisuuksia ja vanhentuneita käytäntöjä. Alkuperäinen arkkitehtuuri, monoliittinen sovellus, oli palvellut tarkoitustaan alkuvaiheessa. Alustan kasvaessa tämä lähestymistapa osoitti kuitenkin rajoituksensa. Skaalautuvuudesta tuli hankalaa, ja koodikanta muuttui sekavaksi sokkeloksi, jossa oli yhä vaikeampi navigoida ja päivittää tuomatta uusia virheitä.
Analyysimme perusteella totesimme, että siirtyminen mikropalveluarkkitehtuuriin oli välttämätöntä. Mikropalvelut tarjosivat ratkaisun monoliittisen järjestelmän skaalautuvuus- ja ketteryysongelmiin. Jokainen mikropalvelu toimii tässä arkkitehtuurissa itsenäisesti, mikä tarkoittaa, että yhdessä palvelussa tehdyt muutokset eivät vaikuta suoraan muihin. Tämä riippumattomuus on ratkaisevan tärkeää asiakkaamme kaltaisessa järjestelmässä, jossa tiheät päivitykset ja integraatiot ovat standardi.
Siirtyminen mikropalveluarkkitehtuuriin ei tapahtunut yhdessä yössä. Sen sijaan omaksuttiin vaiheittainen lähestymistapa, jossa monoliittinen rakenne purettiin huolellisesti ja koottiin uudelleen dynaamisemmaksi, mikropalvelupohjaiseksi arkkitehtuuriksi. Tämän menetelmän ansiosta pystyimme säilyttämään järjestelmän toiminnallisuuden koko siirtymävaiheen ajan ja välttämään merkittäviä käyttökatkoksia, jotka voisivat vaikuttaa haitallisesti asiakkaamme toimintaan.
Otimme jokaisen palvelun huolellisesti esiin, jalostimme sen ja otimme sen käyttöön itsenäisesti. Kehittäjämme erottivat palvelut, kuten lippujen varaamisen ja matkasuunnitelmien hallinnan, erillisiksi yksiköiksi. Tämä erottelu tarkoitti sitä, että esimerkiksi matkareittien hallintajärjestelmään voitiin tehdä päivityksiä ilman, että varausjärjestelmään aiheutui tahattomia seurauksia.
Tässä muunnoksessa käytimme Spring Boot ja Spring Cloud. Spring Boot helpotti mikropalvelujen perustamista ja konfigurointia ja nopeutti kehitystä. Spring Cloud tarjosi arvokkaita työkaluja hajautettuihin järjestelmiin, kuten konfiguraationhallinta ja palveluiden löytäminen.
Integroimme myös Kafkan viestinvälittäjäksi. Sen kyky käsitellä suuria tietomääriä ja varmistaa luotettava viestintä palveluiden välillä oli ratkaisevan tärkeää, etenkin kun otetaan huomioon uuden arkkitehtuurin suuri tietovirta.
Lopuksi toteutimme uudet mikropalvelut uusimmalla Javan versiolla. Tämä päivitys paransi suorituskykyä ja lisäsi tietoturvaa ja muodosti vahvan ja modernin perustan koko arkkitehtuurille.
Kun kehitimme ja kehitimme asiakkaamme järjestelmää, havaitsimme, että tarvitsimme tehokkaamman tavan käsitellä uusia integraatioita. Tämä johti erikoistuneen käsittelymoduulin kehittämiseen, joka oli keskeinen lisäys järjestelmään ja joka paransi integraatioprosessia merkittävästi.
Yksi tärkeimmistä haasteista oli koodin kirjoittamisen toistuvuus jokaista uutta integraatiota varten. Ennen tämän prosessointimoduulin kehittämistä jokainen uusi integraatio toiseen matkatoimisto tai -palvelu vaati huomattavan määrän alusta asti kirjoitettua koodia.
Kehittämämme prosessointimoduuli suunniteltiin toimimaan monipuolisena rajapintana asiakkaamme järjestelmän ja ulkoisten sovellusrajapintojen välillä. Moduuli koostuu valmiista, mukautettavista malleista ja työkaluista, jotka vähentävät merkittävästi tarvetta kirjoittaa uutta koodia jokaista integraatiota varten. Se toimii abstrahoimalla vakiotoiminnallisuuksia ja -prosesseja, jotka tyypillisesti liittyvät integrointiin erilaisten matkapalvelujen, kuten lipunvarausjärjestelmien tai asiakastietokantojen, kanssa.
Moduuli sisältää useita keskeisiä ominaisuuksia:
Sen jälkeen integroimme asiakkaamme GDS-järjestelmän 4 matkatoimiston kanssa, jotka käyttivät REST- ja SOAP-vaihtomekanismeja. Nämä integraatiot olivat ratkaisevia, kun parannettiin lauttalippujen varaus-, muutos- ja peruutusprosesseja. Haasteenamme oli luoda integraatiokehys, jolla pystytään hallitsemaan monenlaisia lauttojen varauksia, mukaan lukien erilaiset reitit, istumapaikkakokoonpanot ja lisäpalvelut.
Näiden integraatioiden toteuttaminen sisälsi useita kriittisiä vaiheita. Aluksi tutkimme virastojen API-rajapintoja ymmärtääkseen niiden tietorakenteita ja toiminnallisia vaatimuksia. Hyödynsimme hiljattain kehittämäämme käsittelymoduulia ja loimme räätälöityjä liitäntöjä kutakin virastoa varten. Nämä liittimet räätälöitiin käsittelemään kunkin viraston erityisiä tietomuotoja ja toiminnallisia työnkulkuja, mikä varmisti tietojen sujuvan integroinnin asiakkaamme GDS-järjestelmään.
Prosessiin kuului kehittyneiden tietojen kartoitus- ja muunnostyökalujen käyttöönotto prosessointimoduulissamme. Tämä tekniikka oli ratkaisevassa asemassa tietojen eheyden ja johdonmukaisuuden varmistamisessa. Tiimimme suoritti laajoja testejä validoidakseen näiden integraatioiden tehokkuuden ja luotettavuuden. Simuloimme erilaisia varausskenaarioita testataksemme integraatioita erilaisissa olosuhteissa. Onnistuneen testauksen jälkeen otimme integraatiot käyttöön live-ympäristössä ja otimme käyttöön jatkuvat seurantamekanismit niiden suorituskyvyn valvomiseksi ja mahdollisten ongelmien ratkaisemiseksi nopeasti.
API
REST, SOAP
Tietojen tallennus
PostgreSQL, Memcached
Viestinvälittäjät
Kafka
Palvelut
Gitlab, Jira, Confluence
Loimme Vision & Scope -asiakirjan, jotta hankkeen tavoitteet ja asiakkaan odotukset saatiin sovitettua yhteen alkuvaiheessa. Tämä asiakirja loi projektin perustan ymmärtämällä asiakkaan tavoitteet ja järjestelmän haasteet.
Sen jälkeen kehitimme dynaamisen, helposti ymmärrettävän dokumentaation, joka on suunniteltu kehittymään synkronoidusti projektin kanssa, mikä optimoi tiimin viestintää ja tehostaa käyttöönottoprosessia.
Tässä keskityimme mikropalveluarkkitehtuurin toteuttamiseen ja käsittelymoduulin luomiseen. Tämä vaihe osoitti teknisen asiantuntemuksemme, ja tuloksena oli hienostunut järjestelmäarkkitehtuuri ja täysin toimiva prosessointimoduuli.
Käsittelymoduulin avulla integroimme saumattomasti matkatoimistojen API:t. Tiukka testaus varmisti järjestelmän luotettavuuden ja paremman toiminnallisuuden.
Microsoft Teams oli ensisijainen viestintävälineemme, jolla tehostettiin keskusteluja, päivitettiin jakoja ja ylläpidettiin keskitettyä tietovarastoa. Käytimme Jiraa organisoidun ja tehokkaan työnkulun hallinnan ylläpitämiseen tehtävien seurantaan.
4
Back-End Engineers
1
QA Engineer
1
Tiimin johtaja
1
Projektipäällikkö
1
Ohjelmistoarkkitehti
1
liiketoiminta-analyytikko
1
Toimituspäällikkö
Onnistuneen toteutuksen jälkeen asiakkaan verkkosovelluksen suorituskyky parani huomattavasti. Koodin uudelleenmuokkauksen ja mikropalveluarkkitehtuuriin siirtymisen yhdistelmä johti huomattavasti sujuvampaan toimintaan. Tekninen uudistaminen ja uusien palvelujen saumaton integrointi lisäsivät asiakkaan myyntiä huomattavasti.
Tämän muutoksen vaikutus ulottui rahoitusalaa laajemmalle. Se johti merkittävään laajentumiseen, ei ainoastaan tulojen vaan myös maantieteellisen läsnäolon osalta. Tämä merkitsi merkittävää harppausta yrityksen markkina-alueen kattavuudessa ja vahvisti sen asemaa alan merkittävänä toimijana. Kumppanuutemme asiakkaan kanssa jatkuu, ja uusia integraatioita on luvassa.
30%
myynnin kasvu
2x
API-integraation nopeuden lisääminen
Viestisi on lähetetty.
Käsittelemme pyyntösi ja otamme sinuun yhteyttä mahdollisimman pian.
Rekisteröitymällä hyväksyt Tietosuojakäytäntö, mukaan lukien evästeiden käyttö ja henkilötietojesi siirto.