Projektas · Sistemų integracija

Automatinė duomenų sinchronizacija tarp vidinių sistemų

Automatizuotas sprendimas, kuris periodiškai palygina duomenis skirtingose sistemose, nustato neatitikimus ir pagal apibrėžtas taisykles atnaujina informaciją bei susijusius failus.

Tipas

Sistemų integracija ir procesų automatizavimas

Rezultatas

Apie 25 sutaupytos komandos darbo valandos per savaitę

Technologijos

Java · Spring Boot · MySQL · Smartsheet API

01 · Situacija

Informaciją keliose sistemose reikėjo nuolat išlaikyti vienodą

Organizacija naudojo kelias skirtingas sistemas. Duomenys jose buvo susiję, tačiau standartinės integracijos, kuri automatiškai palaikytų informaciją aktualią abiejose vietose, nebuvo.

Darbuotojams reikėdavo periodiškai tikrinti įrašus, ieškoti skirtumų ir rankiniu būdu atnaujinti pasikeitusią informaciją. Kai kuriais atvejais kartu reikėdavo perkelti ir su įrašais susijusius failus.

Čia neužteko vieną kartą perkelti duomenų iš vienos sistemos į kitą. Informacija keitėsi, todėl reikėjo nuolat nustatyti, kas pasikeitė ir ką konkrečiu atveju reikia atnaujinti.

02 · Sprendimas

Automatinis duomenų palyginimas ir atnaujinimas

Sukurtas automatizuotas procesas, kuris nustatytu periodiškumu gauna aktualius duomenis iš skirtingų sistemų ir susieja atitinkamus įrašus.

Sistema palygina reikalingas reikšmes, nustato neatitikimus ir pagal iš anksto apibrėžtas verslo taisykles nusprendžia, kuri informacija turi būti atnaujinta.

Jei kartu su įrašu turi būti perduoti susiję failai, jie taip pat automatiškai paimami ir perkeliami į kitą sistemą.

01

Duomenų gavimas

Iš skirtingų sistemų gaunama aktuali informacija.

02

Palyginimas

Susiejami atitinkami įrašai ir nustatomi skirtumai.

03

Sprendimas

Pagal taisykles nustatoma, ką ir kur reikia atnaujinti.

04

Sinchronizacija

Duomenys ir susiję failai atnaujinami automatiškai.

03 · Ne vienkryptis duomenų importas

Sistema turi nustatyti, ką iš tikrųjų reikia keisti

Paprasto automatinio kopijavimo šiam procesui nepakako. Reikėjo atsižvelgti į tai, kad informacija gali pasikeisti, jos gali trūkti arba skirtingose sistemose gali būti saugomos skirtingos to paties įrašo dalys.

Todėl sinchronizavimo procesas paremtas taisyklėmis: nustatoma, kurie laukai turi būti lyginami, kuris šaltinis konkrečiu atveju laikomas pagrindiniu ir kada atnaujinimas apskritai turi būti atliekamas.

04 · Sudėtingiausia dalis

Patikimai susieti kintančius duomenis skirtingose sistemose

Didžiausias projekto iššūkis buvo ne pats duomenų perdavimas, o sinchronizacijos taisyklių ir išimčių valdymas.

Dalies importuojamų duomenų struktūra nebuvo pastovi. Keitėsi įrašų kiekis ir jų išdėstymas, todėl sprendimas negalėjo remtis fiksuotomis duomenų pozicijomis.

  • susieti tuos pačius įrašus skirtingose sistemose;
  • nustatyti, kuriuos laukus reikia lyginti;
  • apibrėžti pagrindinį duomenų šaltinį skirtingais atvejais;
  • atpažinti reikalingus duomenis kintančioje struktūroje;
  • apdoroti trūkstamus arba pasikeitusius duomenis;
  • išvengti nereikalingų pakartotinių atnaujinimų;
  • perkelti kartu su įrašais susijusius failus;
  • užtikrinti, kad vieno įrašo problema nesustabdytų viso proceso.

05 · Rezultatas

Apie 25 komandos darbo valandos sutaupomos kiekvieną savaitę

Rankinį sistemų tikrinimą ir duomenų perkėlimą pakeitė automatizuotas procesas, kuris periodiškai patikrina informaciją ir atlieka reikalingus atnaujinimus.

Automatizacija sutaupo apie 25 komandos darbo valandas per savaitę, nes darbuotojams nebereikia periodiškai lyginti sistemų, rankiniu būdu atnaujinti neatitikimų ir perkelti susijusių duomenų.

Kartu sumažėja rizika, kad skirtingose sistemose liks pasenusi arba nesutampanti informacija, o procesas nebepriklauso nuo to, ar darbuotojas prisimins atlikti periodinį patikrinimą.

Projektas parodo, kad sistemų integracija nebūtinai reiškia paprastą duomenų perdavimą. Kai informacija keičiasi keliose vietose, svarbiausia tampa taisyklės, pagal kurias skirtingos sistemos suderinamos tarpusavyje.

Naudotos technologijos

Techninis pagrindas

Java
Spring Boot
MySQL
Smartsheet API
OpenAI API
Selenium
Apache POI

Sistemos nesusikalba tarpusavyje?

Nebūtinai reikia keisti pačias sistemas.

Jei informaciją tarp naudojamų sistemų tenka reguliariai tikrinti, kopijuoti ar atnaujinti rankiniu būdu, galima įvertinti, ar šį procesą įmanoma automatizuoti sukuriant individualią integraciją.