Lasciate i vostri contatti, vi invieremo la nostra panoramica via email
Acconsento al trattamento dei miei dati personali per l'invio di materiale di marketing personalizzato in conformità con la normativa vigente. Informativa sulla privacy. Confermando l'invio, l'utente accetta di ricevere materiale di marketing
Grazie!

Il modulo è stato inviato con successo.
Ulteriori informazioni sono contenute nella vostra casella di posta elettronica.

Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1600+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.
Chi siamo
Innowise è una società internazionale di sviluppo software a ciclo completo fondata nel 2007. Siamo un team di oltre 1600+ professionisti IT che sviluppano software per altri professionisti in tutto il mondo.

Pipeline di dati con Apache Kafka: 36% di aumento dell'accuratezza decisionale

Utilizzando lo streaming dei dati di Apache Kafka, Innowise ha fornito una pipeline di dati fluida per un processo decisionale e analitico informato.

Cliente

Industria
Automotive, Produzione
Regione
UE
Cliente da
2023

Il nostro cliente è una multinazionale specializzata nella produzione di una vasta gamma di veicoli passeggeri e commerciali, motocicli, motori e turbomacchine.

Le informazioni dettagliate sul cliente non possono essere divulgate in base alle disposizioni dell NDA.

Sfida

Inefficienze operative e mancanza di comprensione dei flussi di lavoro aziendali

La casa automobilistica, un'entità globale con filiali e centri di distribuzione in tutti i continenti, si è trovata ad affrontare un problema significativo gestione dei dati dilemma. Diverse unità all'interno dell'azienda operavano in modo indipendente, causando inefficienze e una mancanza di visione delle operazioni, delle vendite, della gestione dei progetti e altro ancora. 

La presenza di più fonti di dati ha portato a duplicazioni, a una qualità incoerente dei dati e a un notevole dispendio di risorse, in quanto i team di diverse sedi faticavano a riconciliare le informazioni. Questa frammentazione ha ostacolato la capacità del produttore di prendere decisioni strategiche informate in modo rapido ed efficace.

Inoltre, il cliente aveva difficoltà ad accedere ai dati in tempo reale necessari per il processo decisionale strategico. I ritardi nella condivisione e nell'elaborazione dei dati hanno fatto sì che si perdessero opportunità e si rispondesse tardivamente alle richieste del mercato, che si evolve rapidamente in termini di tendenze e preferenze dei consumatori. 

Il cliente cercava una soluzione completa per unificare le diverse fonti di dati in un sistema coeso e garantire la scalabilità per adattarsi alle future espansioni aziendali.

Soluzione

Pipeline di dati Apache per integrare fonti di dati eterogenee in un unico sistema coesivo

Innowise ha offerto un approccio trasformativo incentrato sull'integrazione di Apache Kafka per affrontare le sfide del cliente. In poche parole, abbiamo trasformato i flussi di informazioni esistenti del cliente in flussi di dati Kafka per garantire un flusso di dati ininterrotto, analisi in tempo reale e visualizzazioni complete.

Connettore Kafka per l'origine dati Codebeamer

Il nostro compito iniziale è stato quello di creare un'architettura per scaricare le informazioni dalle fonti di dati e trasmetterle ad Apache Kafka. In primo luogo, abbiamo costruito un connettore per Codebeamer, una piattaforma di gestione dei progetti completa che il cliente utilizzava per lo sviluppo e la collaborazione del software. Abbiamo scelto Apache Kafka per la sua eccezionale capacità di gestire flussi di dati su larga scala, ad alto rendimento e in tempo reale, in modo scalabile, distribuito e con tolleranza agli errori. 

Inizialmente, gli specialisti di Innowise hanno analizzato a fondo la documentazione API di Codebeamer per identificare i metodi più efficienti per estrarre i dati del progetto, compresi gli elementi di lavoro, i changeset e le attività degli utenti. Abbiamo anche esaminato il meccanismo di autenticazione, i limiti di richiesta dei dati e i formati di ritorno dell'API.

Sulla base dell'analisi delle API, abbiamo progettato l'architettura del connettore con particolare attenzione alla modularità, alla scalabilità e alla tolleranza agli errori. I nostri ingegneri software hanno utilizzato Java per codificare il connettore, che era responsabile del collegamento all'API di Codebeamer, del recupero dei dati e della loro scrittura in un topic Kafka. Abbiamo implementato un convertitore per trasformare i dati dal formato di Codebeamer a un formato compatibile con Kafka. Questo includeva la mappatura di vari campi di dati alle coppie chiave-valore di Kafka e la gestione delle variazioni di schema. Infine, il nostro team di progetto ha gestito una solida configurazione, consentendo agli utenti di specificare dinamicamente le credenziali API, gli intervalli di polling e gli argomenti Kafka di destinazione.

Nella prima fase, il connettore interroga l'API di Codebeamer per recuperare dati nuovi e aggiornati a intervalli configurabili. Quindi, trasforma i dati in un formato compatibile con Kafka, assicurando che ogni informazione sia rappresentata come un evento discreto. Abbiamo utilizzato le funzionalità di elaborazione batch per gestire in modo efficiente grandi volumi di dati senza sovraccaricare l'API di Codebeamer o il cluster Kafka.

Connettore Kafka Origine dati FTP

Inoltre, abbiamo sviluppato un connettore Kafka personalizzato per una fonte di dati FTP, un componente critico per il consolidamento di vari file e formati, tra cui JSON, XML e CSV. Il connettore si interfacciava con il server FTP e monitorava in modo efficiente i file nuovi e aggiornati, estraendoli e trasportandoli nell'ecosistema Kafka. 

Abbiamo implementato un robusto meccanismo di file-watching per rilevare l'aggiunta di nuovi file o la modifica di quelli esistenti. Abbiamo incorporato una logica di parsing intelligente in grado di riconoscere automaticamente ed elaborare correttamente ogni tipo di file per gestire la diversità dei formati (JSON, XML, CSV). Questo è stato fondamentale per trasformare i dati strutturati e semi-strutturati all'interno di questi file in un formato uniforme adatto allo streaming attraverso Kafka.  

Tecnologie

Backend

Macchina virtuale Java 17, Kotlin, Spring

CI/CD

CI/CD on-premise

Processo

Il nostro team di progetto ha seguito un percorso ben strutturato, con risultati alla fine di ogni fase per garantire l'allineamento con gli obiettivi del cliente. Il nostro approccio si è basato sul framework Scrum, che ha facilitato la flessibilità, il miglioramento continuo e il forte coinvolgimento del cliente durante tutto il progetto.  

Inizialmente, i nostri analisti aziendali hanno condotto dei workshop con il cliente per comprendere il suo panorama di dati, identificare le fonti di dati chiave e definire l'ambito di integrazione di Kafka. Sulla base di queste informazioni, hanno tracciato un piano di progetto completo e un elenco di requisiti per i connettori Kafka.

Dopo aver raccolto i requisiti, i nostri sviluppatori hanno progettato l'architettura dei connettori Kafka. A loro volta, ingegneri QA ha eseguito controlli approfonditi, compresi test di unità, integrazione e prestazioni, per garantire l'affidabilità e l'efficienza dei connettori.

Infine, abbiamo implementato i connettori nell'ambiente del cliente, organizzando sessioni di formazione per il team del cliente sulla gestione e l'utilizzo delle nuove soluzioni di streaming dei dati.

Durante tutto il progetto, la comunicazione con il cliente è stata una priorità assoluta. Abbiamo utilizzato Slack per le comunicazioni quotidiane e Zoom per i check-in settimanali e le revisioni di sprint. Il tracciamento dei compiti e la gestione del progetto sono stati gestiti tramite Jira, consentendo una visibilità trasparente sull'avanzamento del progetto e sulla responsabilità di tutti i membri del team.

Attualmente, il nostro team di progetto apporta piccole modifiche in base alle necessità. Inoltre, il cliente intende rivolgersi a noi per altri progetti di streaming di dati in futuro.

Team

1

Proprietario del prodotto

1

Architetto di soluzioni

1

Responsabile tecnico

2

Sviluppatori back-end

Risultati

44% aumento dell'accessibilità ai dati dopo l'implementazione della pipeline di dati con Apache Kafka

Innowise ha sviluppato un sistema di connettori che aggrega le informazioni dalle fonti di dati del cliente e le trasforma in flussi di dati Apache Kafka. Integrando fonti di dati eterogenee in una pipeline di dati Apache in streaming unificata e in tempo reale, abbiamo affrontato le sfide principali della frammentazione dei dati, della scalabilità e dell'integrazione. Il produttore automobilistico beneficia ora di una riduzione dei silo di dati, di un processo decisionale informato e di analisi trasparenti che favoriscono la crescita del business.

La nostra soluzione di streaming dei dati basata su Kafka è costruita per scalare, in modo che il cliente possa crescere rapidamente e aggiungere nuove fonti di dati senza compromettere le prestazioni.

Durata del progetto
  • Novembre 2022 - In corso

36%

aumento dell'accuratezza decisionale

44%

 aumento dell'accessibilità ai dati

Contattateci!

Prenota una chiamata oppure compilate il modulo sottostante e sarete ricontattati una volta elaborata la vostra richiesta.

    Si prega di includere i dettagli del progetto, la durata, lo stack tecnologico, i professionisti IT necessari e altre informazioni pertinenti
    Registra un messaggio vocale sul tuo
    progetto per aiutarci a capirlo meglio
    Allega ulteriori documenti se necessario
    Caricare il file

    È possibile allegare fino a 1 file di 2 MB complessivi. File validi: pdf, jpg, jpeg, png

    Vi informiamo che cliccando sul pulsante Invia, Innowise tratterà i vostri dati personali in conformità con la nostra Informativa sulla privacy allo scopo di fornirvi informazioni adeguate.

    Cosa succede dopo?

    1

    Dopo aver ricevuto ed elaborato la vostra richiesta, vi ricontatteremo a breve per illustrare le esigenze del progetto e firmare un NDA per garantire la riservatezza delle informazioni.

    2

    Dopo aver esaminato i requisiti, i nostri analisti e sviluppatori elaborano una proposta di progetto con l'ambito di lavoro, le dimensioni del team, i tempi e i costi stimati.

    3

    Organizziamo un incontro con voi per discutere l'offerta e giungere a un accordo.

    4

    Firmiamo un contratto e iniziamo a lavorare sul vostro progetto il prima possibile.

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    Grazie!

    Il tuo messaggio è stato inviato.
    Elaboreremo la vostra richiesta e vi ricontatteremo al più presto.

    freccia