Artikkelit

Skaalautuva, monipuolinen tuotetiedonhallinta

Monipuolinen ja skaalautuva tuotetiedonhallinta

Reilu vuosi sitten, lokakuun lopussa 2018, julkaisimme uuden sukupolven version Adeona PIM -tuotetiedonhallinnan järjestelmästä. Ensimmäinen vuosi uuden tuotesukupolven kanssa on ollut rohkaiseva ja lisännyt entisestään uskoa siihen, että olemme oikealla tiellä. Kuvaan tässä hieman mitä taustalla on tehty ja mitä ensimmäisen vuoden aikana on tapahtunut. 

Parempi käyttäjäkokemus ja pilvivalmis teknologia 

Muutama vuosi sitten teimme ison päätöksen. Halusimme uudistaa merkittävästi Adeona PIM-tuotetta, niin teknisesti kuin käyttökokemukseltaan. Erilaisten pohdintojen jälkeen päädyimme siihen, että haluamme uusia tuotteen luomalla sen käytännössä kokonaan uudestaan. Tähän meillä oli muutamia eri perusteita: 

  • parempi käyttäjäkokemus ja täysin selainpohjainen käyttöliittymä 
  • joustava, pilvivalmis teknologia, joka mahdollistaa teknisen skaalautuvuuden, erilaiset toimitusmallit ja helpon päivitettävyyden 
  • teknologiat, joiden kanssa on mukava ja tehokas työskennellä ja jotka houkuttelevat meille parhaita kykyjä 
  • tekemisen muuttaminen nopeammaksi: miten luoda nopeammin uusia ominaisuuksia ja toimittaa niitä asiakkaiden käyttöön 

API ja suorituskyky suunnittelun taustalla

Heti uuden version suunnittelun alussa meille oli selvää, että tuote rakentuisi vahvasti API-ajattelun pohjalle. API tarkoittaa ohjelmointirajapintaa, jonka välityksellä esimerkiksi eri sovellukset voivat siirtää tietoa. Tuotteessamme käyttäisimme yhtä hyvin dokumentoitua julkista API:a (public API), oli sitten kyse “meidän käytöstä” (esim. käyttöliittymän ja palvelimen välinen keskustelu) tai API:n käytöstä esim. asiakkaan tai vaikkapa verkkokauppakumppanin toimesta. Heti ensimmäisestä versiosta asti tämä ajatus on pitänyt, ja rajapintadokumentaatiosta olemme saaneet paljon positiivista palautetta, kuin myös API:n selkeydestä ja helppokäyttöisyydestä. Meidän API on REST API, jossa tiedot välitetään käyttäen JSON-sanomia. 


Heti uuden version suunnittelun alussa meille oli selvää, että tuote rakentuisi vahvasti API-ajattelun pohjalle. Toinen suunnittelua ohjannut periaate oli maksimoida järjestelmän suorituskyky, vaikka tuotemäärät olisivat suuria.


Toinen suunnittelua ohjannut periaate oli maksimoida järjestelmän suorituskyky, vaikka tuotemäärät olisivat suuria. Maailmalla on paljon PIM-tuotteita, tai sen kaltaisia, jotka toimivat hyvin muutamien satojen tuotteiden ylläpitoon esim. verkkokaupan taustalla. Meidän asiakkaissa on usein kymmeniä tai jopa satoja tuhansia tuotenimikkeitä, joten me haluamme tukea paljon suurempia tuotemääriä ja silti mahdollistaa hyvän käyttäjäkokemuksen ja loistavan suorituskyvyn. Useat teknologiavalinnoistamme tukevat tätä, mutta myös järjestelmän arkkitehtuurissa on tehty ratkaisuja tähän liittyen.

Käytämme järjestelmän taustalla sekä perinteistä relaatiotietokantaa (PostgreSQL), että vahvasti indeksointiin perustuvaa hakumoottoria (Elasticsearch), joista hyödynnetään niiden parhaita puolia. Relaatiotietokanta auttaa mm. tiedon eheyden varmistamisessa ja hakumoottori nopeissa hauissa ja tiedon nopeassa striimaamisessa esim. integraatioissa. PIM-arkkitehtuurissamme on logiikka, joka lähes reaaliaikaisesti indeksoi relaatiotietokantaan tulevat muutokset hakumoottoriin. Käyttöliittymässä taas on satsattu joustaviin ja helposti käytettäviin Excel-pohjaisiin vienti- ja tuontiominaisuuksiin. 

Toimitusmalli asiakastarpeen mukaan

Asiakkaamme ovat kaiken kokoisia ja toimivat eri toimialoilla. Osa asiakkaistamme haluaa kaikki järjestelmänsä omaan (tai kumppaninsa) konesaliin. Toisaalta yhä useampi haluaa järjestelmänsä käyttöpalveluna. Näistä syistä haluamme olla järjestelmän toimituksen suhteen mahdollisimman joustavia ja tukea erilaisia malleja. 

Taustalla olemme tuotteistaneet järjestelmätoimituksen, riippumatta siitä haluaako asiakkaamme järjestelmän meiltä palveluna (SaaS) vai omaan ympäristöönsä. Tuotteistuksessa käytetään konttiteknologiaa (Docker), jolla tekninen ympäristö saadaan vakioitua ja toisaalta tuettua myös helppoa ja joustavaa päivitettävyyttä. Konttien käytön lisäksi olemme tuotteistaneet myös mm. järjestelmän tiedon automaattisen varmistamisen off-site pilvipalveluun (Google Cloud Storage), riippumatta siitä missä järjestelmä muuten pyörii. 


Olemme tuotteistaneet järjestelmätoimituksen, riippumatta siitä haluaako asiakkaamme järjestelmän meiltä palveluna (SaaS) vai omaan ympäristöönsä.


Uuden tuoteversion myötä yhä useampi asiakkaamme haluaa PIM-järjestelmänsä meiltä SaaS-mallilla. Tällöin me vastaamme koko järjestelmästä ja asiakas vain käyttää sitä ja hyödyntää järjestelmän dataa esimerkiksi API:n kautta. 

Jatkuvat päivitykset helposti ja nopeasti 

Yksi tavoitteistamme uuden tuotesukupolven osalta oli mahdollistaa nopeat ja helpot päivitykset sekä nopeampi uusien ominaisuuksien kehitys. Elämä uuden tuotesukupolven kanssa on lähtenyt liikkeelle mukavasti ja ensimmäisen virallisen versiojulkaisun (10/2018) jälkeen olemme tehneet yhteensä 12 versiojulkaisua, eli noin yhden joka kuukausi. Näissä päivityksissä on tullut noin 500 uutta ominaisuutta tai parannusta. 


Jokainen uusi versiojulkaisu on ollut jokaisen asiakkaamme käytettävissä noin viikon kuluttua julkaisusta. Päivittäminen on helppoa ja nopeaa. Adeona PIM -käyttöliittymässä on “PIM News” -toiminto, jonne asiantuntijamme kirjoittavat vinkkejä uusista ominaisuuksista, sekä niiden käytöstä. 


Meille on tärkeää myös, että järjestelmän taustalla olevat komponentit päivittyvät. Näin vältymme siltä, että keräisimme ns. teknistä velkaa ja tulevina vuosina joutuisimme tekemään valtavan suuria päivityksiä. Adeona PIM hyödyntää lukuisia avoimeen lähdekoodiin perustuvia kirjastoja ja sovelluskomponentteja. Useat niistä päivittyvät ja kehittyvät vauhdilla ja pidämme huolen että emme jää kehityksestä jälkeen. 

Kehitys yhdessä asiakkaidemme kanssa 

Asiakkaistamme muodostuva Adeona Community -käyttäjäyhteisö on aktiivisesti mukana Adeona PIM -kehityksessä. Vuonna 2019 järjestimme kaksi työpajaa, joissa yhdessä asiakkaidemme kanssa suunnittelimme uusia ominaisuuksia ja priorisoimme jo kehityksessä olevia piirteitä. 2020 yhteisömme toivottavasti jatkaa kasvuaan ja saamme entistä enemmän arvokasta palautetta tuotteen kehittämiseksi. Tule sinäkin mukaan!