Pillar-sivu

Järjestelmäintegrointi yrityksille

Yhdistämme ERP-, CRM-, kirjanpito-, HR/palkkahallinto- ja yritysrekisterijärjestelmiä, Microsoft Graphia, Salesforcea ja SAP:ia. Integraatiot API:n, jonojen, ETL:n ja webhookien kautta — täydellisellä laadunvalvonnalla, audit-jäljellä ja tuotantomonitoroinnilla.

Keskikokoinen yritys käyttää tusinasta useaan kymmeneen liiketoimintasovellukseen. Jokainen tallentaa palasia samasta tiedosta — asiakkaasta, laskusta, työntekijästä, tilauksesta. Ilman integraatiota työntekijät käyttävät päivittäin tunteja tietojen manuaaliseen uudelleenkirjoittamiseen, vientiin ja tuontiin järjestelmien välillä.

Järjestelmäintegrointi ei ole luksusta — se on digitaalisen muutoksen perusta. Hyvin suunnitellulla integraatiolla: CRM:ään lisätty asiakas ilmestyy ERP:hen ilman puuttumista, kirjanpidossa laadittu lasku päivittää toimitusjohtajan talousmittariston, tilauksen tila on yhtenäinen verkkokaupassa, varastossa ja asiakaspalvelussa.

Miksi integraatiot ovat vaikeita?

Jokaisella järjestelmällä on oma datamallinsa, oma nimi samalle kentälle, oma toimintojen järjestys, omat API-rajoituksensa (rate limitit, viiveet, tilapäiset virheet). Kaksi järjestelmää voivat näyttää „yhteensopivilta" teoriassa, mutta käytännössä ne vaativat viikkojen työtä mappauksissa, muunnoksissa, reunatapausten käsittelyssä ja ristiriitojen ratkaisussa.

Toinen vaikeuskerros on tuotannon luotettavuus. Dev-ympäristössä oikein toimiva integraatio on noin 30 % matkasta. Loput 70 % on poikkeustilanteiden käsittelyä: ulkoinen järjestelmä ei ole saatavilla, se muutti API-sopimustaan, palauttaa odottamatonta dataa, CRM:ään ilmestyy uusi asiakas merkeillä, joita vanha ERP ei osaa käsitellä. Jokainen tällainen tapaus vaatii pohdinnan, testin ja hälytyksen, kun se tapahtuu.

Integraatiotyypit

Kuusi perusmallia. Useimmissa projekteissa yhdistämme useita ja valitsemme oikean menetelmän kuhunkin tapaukseen.

REST API / GraphQL

Synkroninen viestintä sovellusten välillä. JSON vaihtoformaattina, OAuth2/JWT auktorisointiin, OpenAPI/Swagger dokumentaatioon. Yleisin valinta moderneille pilvijärjestelmille.

Viestijonot

RabbitMQ, Redis Streams, Kafka — asynkroninen vaihto, kun lähettäjä ei odota vastaanottajaa. Täydellinen ilmoituksille, liiketoimintatapahtumille, pitkäkestoisille operaatioille. Toimitusvarmuus + retry.

ETL / ELT

Tietojen eräpohjainen lataus tietovarastoon (Snowflake, BigQuery, Redshift, on-premise PostgreSQL). Airflow tai dbt orkestraattorina, datan laadun validointi (Great Expectations), lineage-monitorointi.

Webhookit

Push-ilmoitukset lähdejärjestelmästä (Stripe, GitHub, Slack, Salesforce) sovellukseemme. HMAC-allekirjoituksen vahvistus, idempotenttisuus, dead-letter queue epäonnistuneille toimituksille.

SOAP / XML

Vanhemmat enterprise-järjestelmät (SAP, Oracle, pankkitoiminta, vakuutukset) — täysi WSDL-tuki, XSD-validointi, WS-Security. Adapteri moderneihin protokolliin muulle järjestelmälle.

Tietokannat — replikaatio, CDC

Change Data Capture (Debezium, AWS DMS) lähdetietokannan muutosten streaming-replikointiin kohteeseen. PostgreSQL logical replication korkeaan saatavuuteen ja raportointiin.

Kuusi keskeistä tuotannollista haastetta

Asiat, joita seuraamme jokaisessa integraatioprojektissa. Yhdenkin puuttuminen = aikapommi.

Idempotenttisuus

Jokainen pyyntö useaan kertaan suoritettuna tuottaa saman tuloksen. Idempotenttisuusavaimet headereissa, sovellustason deduplikaatio, transaktiot kriittisten operaatioiden ympärillä.

Retry ja backoff

Tilapäiset verkkovirheet ovat normaaleja. Exponentiaalinen backoff (1s, 2s, 4s, 8s…), jitter thundering herd -ilmiön välttämiseksi, circuit breaker N epäonnistuneen yrityksen jälkeen.

Mappaus ja muunnokset

Järjestelmä A nimeää kentän "client_id", järjestelmä B "customerId", järjestelmä C "id_klienta". Keskitetty mappauskatalogi, muunnokset yhdessä paikassa, testit jokaiselle muunnokselle.

Eventual consistency

Tieto kahdessa järjestelmässä ei koskaan ole 100 % yhtenäistä reaaliajassa. Hyväksymme viiveet (tyypillisesti sekunteja), monitoroimme driftiä ja hälytämme pidempiä poikkeamia.

Audit ja compliance

Jokainen integraatio-operaatio logaa: kuka/mitä/milloin/mistä/minne, payload (anonymisoituna jos sisältää PII:tä), tulos. Audit-loki täyttää GDPR- ja ISO 27001 -vaatimukset.

Skaalautuminen ja kustannukset

Integraatiot kasvavat liiketoiminnan mukana. Horisontaalinen skaalaus (lisää instansseja), rate limiting (suoja liiallisilta pyynnöiltä), integraatiokohtainen kustannusmonitorointi.

Miten toimitamme integraatioprojektin

  1. Discovery (1-2 viikkoa): nykyisten datavirtojen kartoitus, totuuden lähteen tunnistaminen jokaiselle entiteetille, API-sopimusten kerääminen, riskien ja riippuvuuksien arviointi.
  2. Arkkitehtuurisuunnittelu (1 viikko): kuvioiden valinta (sync vs. async, push vs. pull, hub-and-spoke vs. point-to-point), audit-lokin skeema, monitorointisuunnitelma.
  3. Pilotti yhdellä entiteetillä (2-3 viikkoa): toimitamme integraation yhdelle datatyypille (esim. asiakkaille) end-to-end. Sopimusten validointi, kuormatestit, dry-run testiympäristössä.
  4. Laajennus muihin entiteetteihin (4-8 viikkoa): seuraavat synkronisoinnit (laskut, tilaukset, tuotteet) samalla kuviolla. Jokainen rollout edellytetään Change Requestin ja regressiotestien jälkeen.
  5. Historiallisen datan migraatio (1-3 viikkoa): olemassa olevan datan siirto. Dry-run, audit, rollback-suunnitelma. Migraatio joko inkrementaalisesti tai huoltoikkunassa.
  6. Hypercare (4 viikkoa tuotannossa): intensiivinen monitorointi, nopea incident-vastaus, hälytysten viritys. Hypercare-vaiheen jälkeen siirtyminen normaaliin ylläpitoon.

Esimerkkejä toimitetuista integraatioista

KRS + CRBR — RejestrFirm

Mikropalvelu, joka yhdistää tietoja Puolan kaupparekisteristä (740k+ yritystä) tosiasiallisten edunsaajien keskusrekisteriin. Smart caching (24h), dual-source automaattisella fallbackilla, 15+ REST-endpointia. Käytetään KYC-prosesseissa, vastapuolen tarkistuksessa ja compliance-raportoinnissa.

SSO useissa sovelluksissa

Keskitetty Keycloak-alusta (realm eskom-ai) integroituna kymmeneen asiakassovellukseen. OAuth2/OIDC + PKCE, social login (Google, Microsoft, Apple, Facebook), käyttäjien provisiointi, laskutus LLM-tokenien käytön perusteella. Single sign-on kaikkiin ESKOM AI -tuotteisiin.

Microsoft Graph — kalenterit, sähköposti, OneDrive

Integraatio Microsoft 365:een kalenterin automatisointia (tekoälyagentti varaa palaverit), transaktioemailien lähetystä ja dokumenttien arkistointia varten. OAuth2 delegoiduilla käyttöoikeuksilla, refresh-tokenit Vaultissa, Graph API:n rate-limit-monitorointi.

LLM Proxy — multi-provider-reititys

Keskitetty jono, joka yhdistää useita LLM-tarjoajia (Anthropic, OpenAI, paikallinen Ollama). Tehtäväkohtainen reititys (pienet — paikallinen malli, monimutkaiset — Claude Opus), vastausten välimuisti, projektikohtainen kustannusmonitorointi, fail-over tarjoajien välillä.

Usein kysytyt kysymykset

Mitä järjestelmäintegrointi tarkoittaa?
Järjestelmäintegrointi on prosessi, jossa kaksi tai useampi sovellus yhdistetään niin, että ne voivat vaihtaa tietoja, käynnistää tapahtumia toisissaan ja pysyä yhdenmukaisina. Käytännössä: kun asiakas lisätään CRM:ään, hän ilmestyy automaattisesti ERP:hen; kun lasku laaditaan kirjanpidossa, tieto kulkee CRM:ään ja analytiikkaan. Ilman integraatiota yritys jongleeraa tietoja manuaalisesti (CSV-vienti, kopiointi järjestelmien välillä), mikä aiheuttaa virheitä, viiveitä ja kustannuksia.
Mitä integraatioteknologioita käytätte?
Teknologian valinta riippuu kontekstista: REST API ja webhookit moderneille pilvijärjestelmille, SOAP/XML vanhalle ERP:lle/pankkitoiminnalle, viestijonot (RabbitMQ, Redis Streams, Kafka) asynkroniseen vaihtoon, ETL/ELT tietovaraston syöttämiseen, GraphQL kun asiakas haluaa joustavuutta. Yhdistämme usein lähestymistapoja — synkronisesti siellä, missä käyttäjä odottaa tulosta, asynkronisesti siellä, missä läpisyöttö ratkaisee.
Hajoavatko integraatiot, kun lähdejärjestelmät päivitetään?
Tämä on yksi integraation suurimmista ongelmista — ja siksi rakennamme adaptereita eristyksellä (anti-corruption layer). Ulkoinen järjestelmä muuttaa sopimuksensa → vain adapteri muuttuu, muu integraatio pysyy ennallaan. Lisäksi: sopimukset versioidaan (v1, v2), integraatiotestit ajetaan päivittäin sandbox-API:ja vasten, Sentry/Wazuh-hälytykset laukaisevat vastauksen formaattimuutoksissa. Asiakas saa tiedon ongelmasta ennen kuin se saavuttaa loppukäyttäjät.
Kuinka kauan tyypillinen integraatio kestää?
Yksinkertaiset integraatiot (yksi järjestelmä toiseen, ~5 endpointia, yksisuuntainen synkronisointi) toimitetaan 1-2 viikossa. Monimutkaiset (kaksisuuntainen sync, tusina entiteettiä, mappauksia, muunnoksia, deduplikointia) kestävät 4-8 viikkoa. Monijärjestelmäiset integraatiot (hub-and-spoke) suunnitellaan vaiheittain, toimittaen liiketoiminta-arvoa 2-3 viikon iteraatioissa.
Entä historialliset tiedot uudessa integraatiossa?
Jokainen integraatioprojekti sisältää erillisen historiallisen migraatiovaiheen. Ensin täysi analyysi: kuinka monta tietuetta, mitkä datatyypit, missä duplikaatit ovat, mitkä kentät ovat pakollisia vs. valinnaisia. Sitten migraatioskripti dry-runilla, audit-jäljellä (mitä siirrettiin, mitä hylättiin, miksi) ja rollback-suunnitelmalla. Migraatio tapahtuu huoltoikkunassa tai inkrementaalisesti riippuen liiketoimintariskistä.
Pitääkö integraation toimia 24/7?
Riippuu liiketoimintakriittisyydestä. Online-prosessit (maksut, auktorisoinnit) edellyttävät korkeaa saatavuutta — suunnittelemme ne redundanssilla (load balancer, useita instansseja, health checkit, auto-restart). Yölliset prosessit (raportit, eräpohjaiset synkronoinnit) voivat toimia huoltoikkunoissa. Luokittelemme jokaisen integraation SLA:lla: p95-vasteaika, hyväksyttävä kuukausittainen downtime, RTO/RPO.
Miten monitoroitte tuotantointegraatioita?
Jokainen integraatio lähettää metriikoita Prometheukseen (request rate, error rate, latency p50/p95/p99), lokit keskitettyyn SIEM:iin (Wazuh), virheet Sentryyn. Hälytykset laukaisevat läpisyötön pudotessa, virheasteen nousussa tai timeouteissa. Dashboard näyttää kaikkien integraatioiden tilan yhdessä paikassa — operaattori näkee esimerkiksi, että integraatiolla toimittajaan X on 3 % virheastetta, kun muut toimivat sujuvasti.
Entä turvallisuus ulkoisissa integraatioissa?
Jokainen integraatio käyttää vähimmäisoikeuksia (least privilege). Avaimet ja tokenit säilytetään HashiCorp Vaultissa (ei .env-tiedostoissa, ei koodissa). Viestintä aina TLS 1.2+:n yli, sertifikaatit varmistetaan (ei koskaan verify=False). Saapuvilla webhookeilla on HMAC-allekirjoituksen vahvistus. Tokenin vuodon jälkeen — välitön rotaatio, audit-loki näyttää mitä ja milloin tapahtui.
Miten ESKOM AI:n integraatiolähestymistapa eroaa klassisesta ESB:stä (Enterprise Service Bus)?
Klassiset ESB:t (Mule, BizTalk, WebMethods) ovat monoliittisia alustoja — kalliita lisensoida ja vaativat dedikoidun tiimin. Mallimme: integraatiomikropalvelut, jokainen integraatio erillisenä komponenttina omalla käyttöönotollaan ja monitoroinnillaan, open source -pohjainen infrastruktuuri (FastAPI, RabbitMQ, Redis, PostgreSQL, Vault). Alemmat lisenssikustannukset, helpompi ylläpito, ei vendor lock-iniä. Osalle asiakkaista taloudellinen argumentti, osalle — strateginen.
Integroitteko Puolan julkisten järjestelmien (KRS, CRBR, KSeF, ePUAP) kanssa?
Kyllä. Tuotannossa pyörii mikropalvelu, joka integroituu KRS:ään ja CRBR:ään (rejestrfirm.eskom.ai — tietoja 740k+ yrityksestä mukaan lukien tosiasialliset edunsaajat). KSeF (Puolan sähköinen laskutus) — meillä on valmiit integraatiokomponentit Kontroling-projektissa. ePUAP, e-toimitukset — saatavilla Microsoft Graph API:n ja suorien integraatioiden kautta. Täysi Puolan lainsäädännön mukaisuus (GDPR, raportointivelvoitteet).

Onko sinulla integraatioprojekti?

Aloitamme ilmaisesta auditoinnista — kartoitamme nykyiset datavirrat, tunnistamme pullonkaulat ja ehdotamme suunnitelman selkeissä vaiheissa.