Ciao a tutti. Oggi siamo lieti di presentarvi il nostro poster. Il poster tratterà l'integrazione di JMP con i servizi AWS. Mi chiamo Yacine Belamiri e lavoro come Data Engineer presso Soitec.
Sono Guillaume Bugnon e lavoro come Data Engineer presso Soitec. Oggi vi presenteremo il poster. JMP consente di accedere a numerose fonti di dati con formati nativi come Excel, JSON e persino file PDF. JMP può anche connettersi a molti database tramite la connessione nativa ODBC, ma a volte questo non è sufficiente. Perché? Perché oggi il cloud e i servizi cloud come Azure, AWS o Google sono sempre più utilizzati nel nostro settore e in tutti i settori, e sono ormai parte integrante dell'architettura dati aziendale. In alcuni casi, gli utenti di JMP devono accedere ai dati attuali e in altri casi dobbiamo anche sviluppare connettori specifici per GSL.
Quali sono gli obiettivi di questo poster? Innanzitutto, è importante sapere che a partire da JMP 15 abbiamo integrato Python per estendere le funzionalità di JMP, installando sia JMP che Python sui PC degli utenti. Cosa ci ha permesso di fare questo? Ci ha permesso di creare librerie JMP, ovvero un insieme di funzioni GSL dedicate ai servizi AWS o a qualsiasi altro caso non gestito nativamente da JMP. Abbiamo più di 600 utenti e dobbiamo gestire queste implementazioni in modo da semplificare l'utilizzo della connessione per tutti e garantire che i nostri sviluppatori utilizzino lo stesso codice.
A partire da JMP 18, la gestione dell'integrazione con Python è diventata più semplice, eliminando le dipendenze precedenti e rendendo l'installazione di JMP più rapida e agevole. Ora è sufficiente installare JMP con Python e utilizzarlo in modo nativo.
Il motivo per cui agiamo in questo modo è che migliora l'esperienza utente e semplifica l'accesso ai dati. Possiamo preparare i dati, archiviarli e validarli a livello aziendale. Inoltre, oggi in Soitec abbiamo validato JMP come passaggio fondamentale nella nostra pipeline di data engineering, quindi quando dobbiamo esporre i dati per scopi statistici, lo facciamo tramite JMP.
Ecco come abbiamo fatto. Questo è solo un breve schema di ciò che facciamo. Innanzitutto, abbiamo creato delle librerie comuni in Python. Queste librerie si connettono, ad esempio, ad AWS, possono includere alcune funzionalità statistiche non presenti in JMP o semplicemente grafici che abbiamo scelto di includere perché li abbiamo trovati più accattivanti, divertenti o qualcosa del genere. Questo è il primo passo.
Quindi, quello che facciamo è richiamare queste librerie Python dalle nostre librerie JSL. Questo JSL è quello che vogliamo che i nostri sviluppatori JSL utilizzino in seguito. Questo viene convalidato internamente, questo viene convalidato da noi IT, questo e poi possiamo tutti usare lo stesso codice. Infine, Soitec certifica, credo si possa chiamare così, queste librerie GSL, e poi fornisce all'utente un metodo davvero semplice per connettersi ai dati.
Se entriamo più nel dettaglio con simboli semplici, otterremo questo tipo di architettura. Abbiamo i tre diversi mattoni di cui Yacine ha appena parlato. Supponiamo che io sia uno sviluppatore di job e voglia connettermi ai nostri dati estratti che sono archiviati nei bucket S3 sul server AWS. La prima cosa che devo fare è richiamare il percorso della libreria e la libreria Python, che è JSL, e poi devo semplicemente usare la mia funzione. Come potete vedere, è molto semplice: con quattro righe di codice, ora sono in grado di accedere ai file archiviati su AWS S3. Ma per fare questo c'è un costo iniziale. Dobbiamo ancora sviluppare questi altri due mattoni, il mattone rosso e quello nero.
Innanzitutto, diciamo che questa app, chiameremo questa libreria Python, e qui importiamo semplicemente la libreria Python. Esatto. È come un mattone. Abbiamo i mattoni verdi, neri e blu. Facciamo una dimostrazione. Scusate. Andiamo in JMP. È proprio qui. È molto semplice. Inseriamo il log. Devo solo importare la mia libreria Python GSL. Come potete vedere, in questa libreria Python GSL abbiamo diverse funzioni, quindi due qui.
Quindi posso semplicemente dire che voglio aprire i file di pacchetto. Parquet è un formato di file non nativo, non rilevato al momento da JMP, ma con Python posso aprire i file di pacchetto, quindi va bene. Devo solo dire che voglio aprire il file di pacchetto che memorizza... Prendiamo la scoperta di John con un sotto-bucket, il nome del file e la regione dell'indirizzo, quindi va bene. Devo creare la nuova vista dati, ed è più facile, più veloce e sono in grado di ottenere i miei dati, quindi posso usare JMP per fare la mia analisi.
Un altro modo per farlo è lo stesso, ma usiamo anche la stessa libreria per ottenere un segreto. Il segreto potrebbe essere una password o una credenziale per connettersi al database, ad esempio. Con questa funzione, che è presente anche nella libreria, è davvero facile ottenere questa sequenza. Il mio segreto è `dev gem discovery` a questo punto, e poi posso stampare i segreti, e qui possiamo vedere quali sono i valori dei segreti.
Un altro caso d'uso più concreto, che abbiamo qui in Soitec, è la seguente: la nostra applicazione è in grado di connettersi al database AWS RDS per ottenere dati aggregati. L'applicazione è anche in grado di connettersi ad AWS S3 per ottenere dati grezzi archiviati in formato pacchetto.
Grazie allo sviluppo di Python e della libreria GSL, possiamo connetterci facilmente a database e bucket S3, e poi utilizzare JMP per eseguire tutti i nostri calcoli statistici. Potrebbe trattarsi di grafici SPC o indicatori di capacità per CPK e così via. In questo modo otteniamo i dati aggregati e i dati grezzi. Dopodiché, saprete di essere in grado di effettuare data mining e analisi dei dati.
Abbiamo illustrato il nostro metodo per accedere ai dati su S3. Possiamo quindi concludere che l'integrazione di Python in JMP per l'accesso ad AWS offre oggi numerosi vantaggi, migliorando sia la funzionalità che l'efficienza. Le librerie Python semplificano l'interazione con qualsiasi servizio. Nel nostro caso, abbiamo mostrato AWS, ma è possibile utilizzare qualsiasi altro servizio non nativo di JMP. Lo abbiamo fatto con S3, DynamoDB e Secret Manager, tutti servizi AWS, perché sono quelli che utilizziamo attualmente in Soitec.
L'integrazione che abbiamo a partire da JMP 18 riduce la complessità e ci fa risparmiare tempo, perché nel nostro caso dovevamo installare e distribuire autonomamente le librerie Python. Oggi, invece, Python ci permette di fare tutto, garantendoci l'accesso a tutti i dati e consentendo ai nostri utenti finali di concentrarsi sull'analisi anziché sulla raccolta dei dati. Insieme, Python e JMP creano una potente sinergia per un processo decisionale efficiente basato sui dati.
Nelle prossime versioni di JMP, introdurremo la libreria Python jmputils. Questa offrirà un modo completamente nuovo di interagire tra JMP e Python e siamo entusiasti di scoprire come potremo utilizzarla e come ci offrirà un'esperienza completamente migliorata, permettendoci di eseguire tutto in Python e prepararlo successivamente per JMP. Attendiamo con impazienza questa versione per potervi offrire un'esperienza completa.
Grazie. Questo è tutto per noi. Avete potuto vedere una breve presentazione della nostra azienda, di cosa ci occupiamo e di cosa costituisce il fulcro della nostra attività.
Grazie.
Grazie.