Datapipelines med Apache Kafka: 36% stigning i beslutningstagningens nøjagtighed

Ved hjælp af Apache Kafka-datastreaming leverede Innowise en jævn datapipeline til informeret beslutningstagning og analyse.

Kunde

Industri
Region
EU
Kunde siden
2023

Vores kunde er et multinationalt selskab, der har specialiseret sig i at fremstille en bred vifte af passager- og erhvervskøretøjer, motorcykler, motorer og turbomaskiner.

Detaljerede oplysninger om klienten kan ikke videregives i henhold til bestemmelserne i NDA.

Udfordring

Ineffektivitet i driften og manglende indsigt i virksomhedens arbejdsgange

Bilproducenten, en global enhed med filialer og forhandlercentre på tværs af kontinenter, stod over for en betydelig Datahåndtering dilemma. Forskellige enheder i virksomheden arbejdede uafhængigt af hinanden, hvilket resulterede i ineffektivitet og manglende indsigt i drift, salg, projektledelse og meget mere. 

Flere datakilder førte til dobbeltarbejde, inkonsekvent datakvalitet og et betydeligt ressourcetræk, da teams på forskellige steder kæmpede for at afstemme oplysninger. Denne fragmentering hæmmede producentens evne til at træffe informerede, strategiske beslutninger hurtigt og effektivt.

Desuden kæmpede kunden med at få adgang til realtidsdata, som var nødvendige for at træffe strategiske beslutninger. Forsinkelser i datadeling og -behandling betød, at man gik glip af muligheder og reagerede for sent på markedets krav, da markedstendenser og forbrugerpræferencer udvikler sig hurtigt. 

Kunden søgte en omfattende løsning til at forene forskellige datakilder i et sammenhængende system og sikre skalerbarhed for at tilpasse sig fremtidige forretningsudvidelser.

Løsning

Apache-datapipeline til at integrere forskellige datakilder i et enkelt sammenhængende system

Innowise tilbød en transformativ tilgang centreret omkring integration af Apache Kafka for at løse kundens udfordringer. Kort sagt forvandlede vi kundens eksisterende informationsstrømme til Kafka-datastrømme for at sikre et uafbrudt dataflow, analyser i realtid og omfattende visualiseringer.

Kafka-forbindelse til codebeamer-datakilde

Vores første opgave var at skabe en arkitektur til at aflaste information fra datakilder og overføre den til Apache Kafka. Først byggede vi en connector til Codebeamer, en omfattende projektstyringsplatform, som kunden brugte til softwareudvikling og samarbejde. Vi valgte Apache Kafka på grund af dens enestående evne til at håndtere datastrømme i stor skala, med høj kapacitet og i realtid på en fejltolerant, skalerbar og distribueret måde. 

I første omgang analyserede Innowise's specialister Codebeamers API-dokumentation grundigt for at identificere de mest effektive metoder til at udtrække projektdata, herunder work items, changesets og brugeraktiviteter. Vi undersøgte også godkendelsesmekanismen, grænserne for dataforespørgsler og API'ens returformater.

Baseret på API-analysen designede vi connector-arkitekturen med fokus på modularitet, skalerbarhed og fejltolerance. Vores softwareingeniører brugte Java til at kode connectoren, som var ansvarlig for at linke til Codebeamers API, hente data og skrive dem til et Kafka-emne. Vi implementerede en konverter til at omdanne data fra Codebeamers format til et Kafka-kompatibelt format. Dette omfattede kortlægning af forskellige datafelter til Kafkas nøgleværdipar og håndtering af skemavariationer. Endelig sørgede vores projektteam for robust konfiguration, så brugerne dynamisk kunne angive API-legitimationsoplysninger, polling-intervaller og mål for Kafka-emner.

I den første fase pollede connectoren Codebeamers API for at hente nye og opdaterede data med konfigurerbare intervaller. Derefter omdannede den dataene til et Kafka-kompatibelt format og sikrede, at hvert stykke information blev repræsenteret som en diskret begivenhed. Vi brugte batch-behandling til effektivt at håndtere store datamængder uden at overvælde Codebeamers API eller Kafka-klyngen.

Kafka-forbindelse FTP-datakilde

Vi udviklede også en brugerdefineret Kafka-connector til en FTP-datakilde, en kritisk komponent til konsolidering af forskellige filer og formater, herunder JSON, XML og CSV. Connectoren blev forbundet med FTP-serveren og overvågede effektivt for nye og opdaterede filer og udtrak og transporterede dem ind i Kafka-økosystemet. 

Vi implementerede en robust filovervågningsmekanisme til at registrere, når nye filer tilføjes, eller eksisterende filer ændres. Vi indarbejdede intelligent parsing-logik, der automatisk kunne genkende og behandle hver filtype korrekt for at håndtere de mange forskellige filformater (JSON, XML, CSV). Dette var afgørende for at omdanne de strukturerede og semi-strukturerede data i disse filer til et ensartet format, der var egnet til streaming gennem Kafka.  

Teknologier

Virtuel Java-maskine 17, Kotlin, Spring

CI/CD

CI/CD på stedet

Proces

Vores projektteam fulgte et velstruktureret projektforløb med leverancer ved afslutningen af hver fase for at sikre overensstemmelse med kundens mål. Vores tilgang var baseret på Scrum-rammen, der muliggjorde fleksibilitet, løbende forbedringer og robust kundeengagement gennem hele projektet.  

I første omgang gennemførte vores forretningsanalytikere workshops med kunden for at forstå deres datalandskab, identificere de vigtigste datakilder og definere omfanget af Kafka-integrationen. På baggrund af disse oplysninger udarbejdede de en omfattende projektplan og en liste over krav til Kafka-forbindelserne.

Efter at have indsamlet kravene designede vores udviklere arkitekturen til Kafka-forbindelserne. Til gengæld, QA-ingeniører udførte omfattende kontroller, herunder enheds-, integrations- og præstationstest, for at sikre konnektorernes pålidelighed og effektivitet.

Til sidst implementerede vi konnektorerne i kundens miljø og afholdt træningssessioner for kundens team om håndtering og brug af nye datastreamingløsninger.

Gennem hele projektet var kommunikation med kunden en topprioritet. Vi brugte Slack til daglig kommunikation og Zoom til ugentlige check-ins og sprint-gennemgange. Opgavesporing og projektstyring blev håndteret via Jira, hvilket muliggjorde gennemsigtig indsigt i projektets fremskridt og ansvarlighed for alle teammedlemmer.

På nuværende tidspunkt foretager vores projektteam mindre justeringer efter behov. Desuden planlægger kunden at henvende sig til os med flere datastreamingprojekter i fremtiden.

Hold

1

Produktejer

1

Løsningsarkitekt

1

Teknisk leder

2

Back-end-udviklere

Resultater

44% øget datatilgængelighed efter implementering af datapipeline med Apache Kafka

Innowise udviklede et system af konnektorer, der samler oplysninger fra kundens datakilder og omdanner dem til Apache Kafka-datastrømme. Ved at integrere forskellige datakilder i en samlet Apache-datapipeline med streaming i realtid løste vi de centrale udfordringer med datafragmentering, skalerbarhed og integration. Bilproducenten nyder nu godt af reduceret datasilo, informeret beslutningstagning og gennemsigtige analyser, der fremmer forretningsvækst.

Vores Kafka-baserede datastreamingløsning er bygget til at skalere, så kunden kan vokse hurtigt og tilføje nye datakilder uden at gå på kompromis med ydeevnen.

Projektets varighed
  • November 2022 - Løbende

36%

øget nøjagtighed i beslutningstagningen

44%

 øget tilgængelighed af data

    Kontakt os

    Book et opkald eller udfyld formularen nedenfor, så vender vi tilbage til dig, når vi har behandlet din anmodning.

    Send os en talebesked
    Vedhæft dokumenter
    Upload fil

    Du kan vedhæfte 1 fil på op til 2 MB. Gyldige filformater: pdf, jpg, jpeg, png.

    Ved at klikke på Send accepterer du, at Innowise behandler dine personlige data i henhold til vores Politik for beskyttelse af personlige oplysninger for at give dig relevante oplysninger. Ved at indsende dit telefonnummer accepterer du, at vi kan kontakte dig via taleopkald, sms og beskedapps. Opkalds-, besked- og datatakster kan være gældende.

    Du kan også sende os din anmodning
    til contact@innowise.com

    Hvad sker der nu?

    1

    Når vi har modtaget og behandlet din anmodning, vender vi tilbage til dig for at beskrive dine projektbehov og underskriver en NDA for at sikre fortrolighed.

    2

    Når vi har undersøgt dine ønsker, behov og forventninger, udarbejder vores team et projektforslag med forslag med arbejdets omfang, teamstørrelse, tids- og omkostningsoverslag.

    3

    Vi arrangerer et møde med dig for at diskutere tilbuddet og få detaljerne på plads.

    4

    Til sidst underskriver vi en kontrakt og begynder at arbejde på dit projekt med det samme.

    pil