L'inserimento dei dati in JMP è una parte fondamentale del flusso di lavoro analitico, pertanto JMP 18 introduce nuovi connettori dati per ampliare la gamma di fonti dati di terze parti a cui JMP può accedere. JMP 18 consente una configurazione più dettagliata delle fonti dati ODBC e semplifica la condivisione di tali configurazioni con i colleghi su diverse piattaforme e la pubblicazione su JMP Live. Analizziamo i connettori dati, non solo come disponibili in JMP 18, ma anche i piani per estenderli nelle versioni future di JMP.
Buongiorno o buongiorno, a qualsiasi ora del giorno siate mentre guardate questo video. Mi chiamo Neal Siekierski. Sono uno sviluppatore software qui in JMP. Sono uno dei principali sviluppatori della nostra iniziativa Data Connector. Sono qui oggi per parlare di questa iniziativa, di cosa significa per JMP 18 e cosa significherà anche in futuro.
Abbiamo queste tre C qui. Questo è ciò che vogliamo davvero ottenere con Data Connect. Vogliamo semplificare la connessione a più fonti dati rispetto a prima. Vogliamo anche rendere possibile la condivisione di queste connessioni più semplice. Sia con i tuoi colleghi che potrebbero utilizzare la tua stessa piattaforma, Mac o Windows, sia con piattaforme diverse, sia con JMP Live. Oltre a darti accesso a più fonti dati, vogliamo anche rendere possibile tutto questo in un'unica interfaccia comune.
Con JMP 18 non potevamo fare tutto questo, quindi ci siamo concentrati su ODBC. ODBC è una tecnologia che JMP utilizza per comunicare con origini dati remote, database come SQL Server o MySQL e molti altri. Abbiamo scelto ODBC perché, essendo un sistema che accede già a diversi tipi di database, c'era spazio per renderne possibile l'accesso a un numero ancora maggiore.
Ci sono alcuni ostacoli che attualmente rendono questo processo un po' complicato. Questo è un altro motivo per cui abbiamo preso in considerazione questo aspetto. Ad esempio, una delle fonti di difficoltà che riscontriamo è nel codice SQL. Il codice SQL è un linguaggio di programmazione utilizzato per estrarre dati dai database, e JMP deve creare quel codice, inviarlo tramite l'API ODBC per ottenere i risultati e mostrarli.
Non tutti i database hanno codice SQL esattamente identico. Ad esempio, con un database PostgreSQL, stiamo ottenendo un paio di colonne da una tabella, in questo caso la nostra classe principale preferita. Avrebbe questo aspetto. Ma la stessa query per MySQL e altri database avrà questo aspetto. Potete vedere PostgreSQL. Abbiamo le virgolette doppie, MySQL, abbiamo gli apici inversi e SQL Server è ancora diverso.
Per questo motivo, JMP deve sapere a quale database sta comunicando. Possiamo ottenere questa informazione. Ma per poterla effettivamente utilizzare, JMP deve conoscere ogni tipo di database. Se JMP non conosce quel tipo di database, abbiamo un comportamento di fallback specifico. Se funziona, allora è fantastico. E cerchiamo di renderlo un insieme ragionevole di impostazioni predefinite, ma potrebbe non funzionare. In tal caso, non è possibile utilizzare Query Builder con la propria origine dati.
Un'altra fonte di difficoltà sono le stringhe di connessione utilizzate. Per connettersi a un database, JMP deve fornire a ODBC una stringa che gli fornisca una serie di informazioni su dove si sta connettendo, come connettersi e una stringa di connessione molto semplice potrebbe apparire così. Ad esempio, il server a cui ci stiamo connettendo, JMP, è una macchina di test a cui abbiamo accesso qui a JMP. Ne parleremo più avanti.
Ma, cosa ancora più importante, abbiamo anche un driver. Un driver è un particolare software che si collega a ODBC per consentire l'accesso a una specifica fonte dati. ODBC in sé non conosce le fonti dati e, proprio come i software che hai, non puoi installarli su Mac e Windows. O, se lo fai, si tratta di due download diversi. Sono due software diversi. È molto simile per ODBC.
Actual SQL Server è un driver per SQL Server creato da un'azienda chiamata Actual ed è per Mac. Se avessi una connessione che utilizza questa stringa di connessione e volessi condividerla con qualcun altro, ma questa persona usa Windows o JMP Live, dovrebbe modificarla.
Per farlo, avrebbero bisogno di sapere qual è il driver di Windows. In questo caso, si chiama SQL Server. Posso eseguirlo sul mio computer Windows e funziona perfettamente. Ma, ancora una volta, è necessario sapere cos'è quel database. È necessario conoscere il driver corrispondente su ciascuna piattaforma, e questo rende difficile la condivisione.
Tra queste, le differenze tra i database che richiedono JMP, la conoscenza di questi ultimi e le diverse connessioni e stringhe di connessione. Condividere le connessioni può essere complicato, così come connettere tutte le origini dati che si desidera.
Per far fronte a questo problema, disponiamo del framework del connettore dati che abbiamo introdotto internamente in JMP 18 e di un'applicazione specifica in ODBC.
L'idea centrale è che abbiamo preso tutte le opzioni che JMP imposta internamente in base al tipo di connessione. SQL Server è un set di opzioni. PostgreSQL ne richiede un altro. Le abbiamo esposte tutte e rese configurabili individualmente.
In questo modo, se si dispone di un database simile a SQL Server per un aspetto, ma diverso per un altro, è possibile modificare un'opzione e il risultato sarà soddisfacente. Queste opzioni non sono solo voci nel menu delle preferenze. Sono configurazioni che possono essere denominate e condivise.
È possibile ottenere un set completo di configurazione. È possibile assegnargli un nome. Quindi, ogni volta che si desidera farvi riferimento per connettersi a un database specifico, è possibile, se si desidera connettersi altrove, utilizzarne un altro. Dare un nome alle connessioni rende anche più possibile condividerle.
Infine, le impostazioni che si effettuano possono dipendere dalla piattaforma. Abbiamo appena visto come i driver potrebbero dover essere diversi o altre impostazioni.
Se si desidera una cosa su Mac e niente su Windows, è possibile farlo. O se si ha a disposizione qualcosa di più dettagliato, potrebbe essere possibile farlo. Queste sono le idee fondamentali. Ora vorrei parlarne più approfonditamente, ma non lo farò mostrando tutto in azione.
Ecco JMP. Se andiamo su File Database, vediamo che c'è una nuova voce di menu "Connettori dati". Cliccandoci sopra, vediamo una finestra che, se avete mai usato Query Builder, vi sembrerà piuttosto familiare. Se andiamo su "Nuova connessione", vediamo un elenco di configurazioni.
Ci sono alcune cose da notare. Tutte quelle qui in alto sono configurazioni predefinite, quindi iniziano tutte con com.jmp. Sono fornite da noi. Corrispondono ai vari database che supportiamo internamente e che ora abbiamo reso pubblici in questo modo.
Forse non sono direttamente utili per la connessione. Non contengono informazioni come un server o altro, ma sono comunque utili come base per la creazione di nuove configurazioni. Sotto vediamo una serie di altre configurazioni.
Alcuni di questi li ho creati io stesso. La maggior parte, tuttavia, non l'ho fatto. JMP li ha creati automaticamente dalle connessioni gestite da ODBC, chiamate nomi sorgente di dominio DNS. Qui possiamo vedere un elenco delle connessioni, i DNS che ho sul mio Mac, e ne vediamo alcuni anche in JMP.
Vengono creati automaticamente, così è più facile iniziare. Chiudo. Dato che li abbiamo nelle mie connessioni create, idealmente la cosa più semplice che potremmo fare è semplicemente cliccare su "Connetti".
In realtà non funziona. Quello che vediamo è il messaggio di errore del driver. Dice che non abbiamo fornito un ID utente. Si tratta di informazioni che JMP non è stato in grado di raccogliere durante la conversione di questa configurazione.
Tuttavia, qui ci viene offerta questa opportunità. La finestra di dialogo suggerisce di creare una nuova configurazione, in modo da poterla utilizzare in un certo senso. Aggiungiamo ciò di cui abbiamo bisogno, in questo caso un nome utente e una password. Poi possiamo provare a connetterci. Quindi, clicchiamo su "Sì".
Questo è l'editor dei connettori. Ne parleremo più in dettaglio più avanti. Ma per il momento aggiungiamo solo le informazioni che ci servono. Ci serve una password. Prima non c'era una password. Ora ne avremo una. La inserirò. Ci serve anche un nome utente. Quindi, stessa idea.
Ora che abbiamo compilato tutto, possiamo provare a testare la connessione. Vediamo che è andata a buon fine. Ora che abbiamo qualcosa che funziona, prima di procedere con la connessione, salveremo una copia. Questo ci risparmierà la fatica di doverlo ripetere in seguito. La configurazione qui è che abbiamo configurato la connessione, quindi l'ho salvata, ok? Per connetterci.
Qui vediamo un elenco di schemi. Se ne seleziono uno, vediamo un elenco di tabelle. Andiamo avanti e scegliamo la vera classe "table big". Ora la cosa più semplice che possiamo fare è aprire la tabella, quindi se clicchiamo su "Apri tabella" vediamo che la nostra tabella si apre. Ottimo.
Ma possiamo anche usare Query Builder. Chiudo qui e ora possiamo cliccare sul pulsante Query Builder. Quando si apre Query Builder, vedremo di nuovo la stessa interfaccia di prima.
Possiamo creare la nostra query. Posso continuare a procedere passo passo. Aggiungere alcune colonne, eseguire la query e, al termine della query, rivedere la nostra tabella. Ora che abbiamo la nostra tabella, abbiamo visto che tutto funziona. Supponiamo di ripetere la stessa operazione correttamente.
Abbiamo salvato una connessione, quindi dovremmo poterla usare. Scolleghiamola. Ora possiamo andare. Possiamo trovare quella che abbiamo salvato. Possiamo connetterci, quindi ora ci siamo connessi e vediamo di nuovo tutto.
Procediamo e apriamo di nuovo la nostra tabella. Una volta aperta, potremmo voler fare qualcos'altro. Ho parlato di condivisione, sia con i colleghi che con JMP Live. Iniziamo con la seconda opzione e condividiamola con JMP Live.
Voglio pubblicare la tabella dati. Questa è la schermata, quindi abbiamo la nostra tabella. Clicchiamo su "Avanti". La pubblicheremo semplicemente nel mio spazio personale e, ora che è stata pubblicata, chiudiamola e passiamo a JMP Live.
Ecco il mio spazio personale che aggiornerò. Ora vediamo la nostra tabella, quindi apriamola. Attendiamo che si carichi e ora, andando nelle impostazioni, abbiamo la possibilità di aggiornare i dati con lo script. È qui che si nota una delle differenze rispetto a Query Builder. Prima avevamo bisogno di una stringa di connessione per impostare uno script di aggiornamento. Ora, se andiamo avanti e utilizziamo lo script sorgente, vedremo qualcosa di leggermente diverso.
Non ci darò troppo peso adesso. Voglio solo vedere se funziona, quindi lo salvo. Assegnerò delle credenziali e poi andrò avanti. Farò clic su Aggiorna. Vedremo se funziona. Non è riuscito. Ma vediamo perché. Qui riceviamo un errore. È un po' difficile da capire, ma il punto è che non abbiamo specificato un driver valido.
Diamo un'occhiata al nostro script, un po' più in dettaglio, per capire cosa sta succedendo. Se osserviamo attentamente, vediamo una riga qui: "driver actual open source databases". Stiamo specificando un driver. Ma vedete di nuovo che è uno di quei driver solo per Mac, quindi non sorprende che non funzioni.
Ora, di nuovo, quello che dovremmo fare è scoprire qual è il nome del driver di Windows, sostituirlo qui e poi riprovare. Ma in questo caso non devo scoprire qual è. Lo eliminerò. Lo salverò e riproveremo. Sembra che abbia funzionato, quindi lo ricaricherò.
Non c'è davvero nulla di diverso da vedere qui. I dati non sono cambiati, ma li abbiamo effettivamente aggiornati. Il motivo per cui ha funzionato è questo. Di nuovo, diamo un'altra occhiata al nostro script. Stiamo usando questa configurazione integrata. Abbiamo aggiunto questi elementi di configurazione aggiuntivi in modo che corrisponda alla configurazione creata da JMP.
In genere, ogni volta che pubblichiamo JMP live, impostiamo lo script sorgente in modo da creare qualcosa di equivalente alla configurazione specificata.
Il motivo della differenza. Il motivo per cui non ci limitiamo a specificare ID JMP dev in pkg-config è che JMP Live non conosce quel nome specifico. Per renderlo più compatibile con JMP Live, stiamo ricreando una configurazione equivalente, partendo da una di quelle integrate che sappiamo essere in JMP Live e aggiungendovi tutto il resto.
Questo driver integrato fa funzionare tutto. Come ho detto, uno dei concetti fondamentali dei connettori dati è che possiamo avere una configurazione dipendente dalla piattaforma. Lo vediamo con questa configurazione integrata, la configurazione Postgres integrata, che cercherà automaticamente un driver appropriato sulla piattaforma su cui è in esecuzione.
Sul mio Mac troverebbe il driver per database open source su Windows, e troverebbe il driver PostgreSQL per Windows. Tutti quelli integrati si comportano così.
Questo lo rende ancora più semplice. Questo aumenta anche la facilità di condivisione tra Mac e Windows, e tra macchine che potrebbero avere set di driver diversi installati. Questo è JMP live. Torniamo a JMP e possiamo chiudere. Scolleghiamolo, così siamo di nuovo a posto. Questa è la configurazione. È stata creata da JMP.
Ora, cosa succederebbe se volessimo creare una configurazione da soli? Non vogliamo passare attraverso il gestore ODBC, chiedere a JMP di rilevarla e poi mostrarla qui? Diamo un'occhiata a questo aspetto contemporaneamente. Parleremo più in dettaglio. Questa volta connettiamoci a SQL Server. Ecco la configurazione.
E se clicco su "Nuovo", ciò che farò sarà creare una nuova configurazione che inizia con questa, così non dovrò specificare ogni piccolo dettaglio su SQL Server. Devo solo specificare le informazioni univoche della mia connessione. Quando apri questa finestra, vedrai di nuovo l'editor. E ora diamo un'occhiata più nel dettaglio.
Per prima cosa abbiamo il tipo di connessione e JMP 18. Abbiamo solo ODBC. Poi abbiamo la base della connessione, quindi, come ho detto, iniziamo con questa configurazione integrata di SQL Server. Vediamo qui che abbiamo SQL Server, la nostra configurazione integrata di SQL Server. E in particolare, stiamo identificando cosa vogliamo con questo. Ci sono altre opzioni. Possiamo partire completamente da zero, semplicemente con le impostazioni predefinite per ODBC in generale.
Potremmo specificare il percorso di un file. Potremmo anche specificare una configurazione da usare come base in linea. Ma in generale ci aspettiamo che ne userete un'altra, quindi questo sarà l'ID qui. Poi, sotto, vediamo tutte le opzioni, quindi sono raggruppate, quindi il primo gruppo contiene le informazioni di connessione.
Dove ti stai connettendo e quali sono le tue credenziali. Il contenuto della stringa di connessione per ODBC. Sotto ci sono altre opzioni, quindi vediamo diverse opzioni per SQL e abbiamo anche opzioni solo per il livello ODBC sottostante.
Se vado su "Connessione", vogliamo effettivamente creare una connessione. Inserirò le informazioni necessarie. Il nome del database è SQBTest. Come potete vedere, quando l'ho fatto, questa casella di controllo è diventata deselezionata. Questo indica se stiamo utilizzando il valore ottenuto da questa configurazione di base.
Che l'abbia modificato o meno, la casella di controllo è deselezionata. Posso riselezionarla e tornerà al valore base. Ma è necessario. Lo riempirò di nuovo.
Qui vediamo il driver per la condivisione fino a JMP 19. Devo farlo, quindi lo faremo velocemente. Il valore della password è lì. Il nostro server sarà di nuovo jmpdev2. Abbiamo il nostro nome utente. Vediamo se si connette. Lo fa. Ma prima di procedere, consideriamo uno scenario. Supponiamo che non mi stia effettivamente connettendo a SQL Server. Supponiamo che sia qualcosa di molto simile a SQL Server ma non del tutto identico.
La differenza sta nel fatto che, se ricordate, SQL Server usa le parentesi quadre. Supponiamo che usi le virgolette doppie invece di PostgreSQL. Se analizziamo tutte queste opzioni SQL, vediamo molte differenze. Ma andiamo a vedere il tipo di virgoletta. Vedete, attualmente è specificato come parentesi quadre. Se lo cambio in virgolette doppie, allora saprete che avremo trovato ciò di cui il nostro database ha bisogno.
Per comodità di questa demo, SQL Server supporta entrambi. Le parentesi quadre sono la sua caratteristica nativa, ma le virgolette doppie sono più standard. Dato che supporta entrambi, andiamo avanti e vediamolo in azione. Salviamolo. Sarà il mio SQL Server. Connettiamoci.
Prima di poter visualizzare le tabelle che abbiamo, possiamo selezionare una classe, ad esempio. Se apriamo il Generatore di Query, vedremo che il codice SQL generato riflette la nostra scelta.
Di solito, ci si aspetterebbe che le virgolette quadre fossero le parentesi quadre. Ma ora abbiamo le virgolette doppie. Possiamo anche vedere che funziona. Se eseguo la query, otteniamo la nostra tabella. Anche in questo caso, ho creato una configurazione non necessariamente da zero, ma partendo da quelle di base. Ho dovuto fornire solo poche opzioni e ora ho una connessione perfettamente funzionante.
Sono persino riuscito a modificare alcuni comportamenti per renderli un po' diversi. Ora ho fatto tutto questo duro lavoro. E se qualcun altro nella mia organizzazione volesse trarne vantaggio? È possibile condividere queste connessioni non solo con JMP Live, come ho mostrato, ma anche con altri.
Per farlo, abbiamo questo piccolo menu a forma di triangolo rosso. Se clicchiamo su di esso, vediamo un'opzione per condividere i connettori. Ora lo apro. Potete vedere un elenco delle nostre configurazioni sulla sinistra. Quelle che abbiamo qui escludono quelle integrate perché non è necessario condividerle.
Se selezioniamo la nostra configurazione, la vedremo apparire qui a destra. Ho fatto doppio clic per farlo, ma abbiamo anche questi pulsanti, quindi posso cliccare su questo per spostarla o rimuoverla. Clicco su questo per aggiungerla di nuovo. Per condividerla, creeremo un componente aggiuntivo. Utilizzeremo la funzionalità di aggiunta di JMP per distribuire queste configurazioni e semplificarne l'installazione.
Ma poiché si tratta di un componente aggiuntivo, tutti i componenti aggiuntivi necessitano di un ID. Ecco a cosa serve questa casella qui sotto. Per impostarlo di default sul nome host del tuo computer con i sottocomponenti invertiti. L'indirizzo del mio computer è mh382.mmt.com. Lo abbiamo modificato, com.sas.mmt.mh302. Questa sarà la base. Poi, poiché ho aggiunto solo una configurazione, userà solo il nome di quella. Ma se ne aggiungessi un'altra, ad esempio, sarebbe solo connettori dati.
Ma rimuoviamolo. Clicchiamo su Salva. Il nome predefinito è l'ID completo più il componente aggiuntivo JMP. Ma non è necessario. Possiamo renderlo un po' più amichevole, quindi andiamo avanti e lo chiameremo semplicemente Server. In effetti, possiamo fare un po' meglio. Non dobbiamo usare questo nome predefinito. Eliminiamolo. Cambiamo il nome. Diciamo, ad esempio, azienda, useremo il mio nome utente. Invece di usare di nuovo questo nome, diremo cosa ci serve per la Discovery Conference di quest'anno.
Premiamo Salva. Lo rinomineremo con un nome un po' più amichevole. Salviamolo e ora ci viene chiesto se vogliamo conservare la password. Poiché prevediamo che la tua password non sia necessariamente qualcosa che vorrai condividere con altre persone, troviamo un'opzione per aiutarti a rimuoverla automaticamente. In questo caso, procediamo con la rimozione della password.
Puoi vedere che è stato salvato. Ora sul mio desktop c'è questo componente aggiuntivo. Ma ora cosa ne facciamo? Beh, devi darlo a qualcun altro. In questo caso, invece di darlo a qualcun altro, lo darò a me stesso. Ma su Windows. Passiamo a Windows. Dobbiamo accedere qui velocemente, ed eccoci qui. Ecco JMP. Dobbiamo trovare questo componente aggiuntivo, che ho nella cartella dei miei download. Ora ho questo componente aggiuntivo subito se lo apro e JMP e lo installo.
Bene, e ora vediamo in azione: andiamo su File, Database, Connettori dati. Apriamo le nostre configurazioni. Vediamo che eccoli qui. Proviamo a connetterci. Vediamo che la connessione non è riuscita perché l'accesso non è riuscito. Beh, ha senso. Abbiamo spostato la nostra password. Supponiamo di volerla configurare ulteriormente. Aggiungiamo di nuovo quella password. Puoi testarla. Vediamo che funziona. Premiamo OK. Vediamo che ci siamo connessi.
Abbiamo creato [inudibile 00:26:10] Mac. L'abbiamo trasferito su Windows e siamo in grado di collegarlo. Vedremo che tutto funziona allo stesso modo. Questa è condivisione. Queste sono configurazioni da zero. Ma come funziona tutto questo sotto? Torniamo a JMP. Lo vediamo sotto la configurazione integrata di SQL Server. Vediamo queste altre configurazioni che abbiamo creato.
Bene, che aspetto hanno? Dove si trovano? Le configurazioni integrate si trovano in una cartella che fa parte dell'installazione di JMP, ma quelle create da te si troveranno nell'area dati utente di JMP, insieme a tutti gli altri dati. Se accedo alla cartella della libreria nella mia cartella utente su Mac, vado su Supporto Applicazioni e JMP su Windows.
Questa è una cartella in App Data. Come puoi vedere, oltre a una serie di altre informazioni specifiche di JMP, abbiamo informazioni specifiche della versione. Abbiamo anche informazioni su Python. Abbiamo anche una cartella per i connettori dati.
Se lo apro, vedo file che corrispondono a tutte le configurazioni che ho creato e ai JMP creati da ODBC per mio conto. Ad esempio, se guardiamo, vediamo questa configurazione di MySQL Server e abbiamo un'estensione JMP DC che sta per JMP Data Connector. Oltre a tutti questi file JMP DC, abbiamo anche questo file JMPDataConnectorRegistry.JSON. Questo contiene informazioni su tutti questi file ed è ciò che mappa il nome del MySQL Server, ad esempio, a questo file specifico.
Può contenere anche altre informazioni. Ma diamo un'occhiata al suo contenuto. Useremo un editor di testo, scusate, ho sbagliato. Ne ho nominati due molto simili, quindi apriamo questo. Quello che vediamo è molto testo che sembra JSL, e questo perché è JSL o meglio, è un sottoinsieme di JSL.
Qui abbiamo, a sinistra i nomi delle nostre opzioni e a destra i loro valori. Questa prima riga è speciale. Ci dice che la nostra base è quella che verrà identificata da com.JMP.SQLServer. Possiamo vedere se contiene impostazioni. Possiamo vedere che il server che abbiamo impostato è il loro database, la nostra modifica al tipo pro.
In generale, i nomi delle opzioni a sinistra corrispondono molto fedelmente a quanto presente nell'editor. A destra, invece, abbiamo i valori che, ancora una volta, assomiglieranno a quelli presenti nell'editor. Qui non abbiamo il breve testo finale che fornisce un esempio. In particolare, per il nome utente e la password, abbiamo queste stringhe codificate. Le abbiamo memorizzate in questo modo, in modo che non memorizzino direttamente il nome utente e la password.
Ma JMP è riuscito comunque a connettersi con loro, e come ho detto, questo è JSL. Un modo per verificarlo è se vogliamo aggiungere una configurazione specifica per la piattaforma, come abbiamo visto per quelle integrate. Ma se vogliamo farlo noi stessi, diciamo che vogliamo adottare, scegliamo un'opzione di cui non abbiamo ancora parlato. Il recupero dei blocchi. È qualcosa che rende più efficiente l'acquisizione dei dati se è possibile abilitarlo, ma a volte non è supportato o non funziona correttamente.
Supponiamo che funzioni qui sul mio Mac, ma non su Windows. Vogliamo attivarlo per Windows e per Mac, ma altrimenti vogliamo disattivarlo. Con una riga come questa, in cui ho impostato l'opzione Block Fetch su questa espressione JSL, otterremo l'effetto desiderato, perché tutti questi valori a destra sono solo codice JSL.
Ogni volta che JMP carica questa configurazione, la valuterà. Dirà "Oh sì", in questo caso siamo su un Mac. Avremo il recupero dei blocchi attivato. Ecco come funzionerà. Sì, e con JMP stesso puoi usare JSL per lavorare con queste cose. Chiudiamo questo punto perché è tutto chiaro.
Chiudiamo tutto. Eccoci di nuovo con JMP. Apriamo un editor di script. È un boilerplate. Cosa posso fare? Beh, posso caricare la configurazione da un file. Sarà nel connettore dati in memoria. Di nuovo, diamo un'occhiata a... Abbiamo lavorato con questo server MySQL. Questa riga qui lo caricherà. Ci fornirà quella configurazione. Poi posso fare cose come ottenere valori specifici da esso, in modo da ottenere l'opzione Block Fetch che abbiamo impostato.
Oppure potrei ottenere il tipo di citazione. Posso cambiare le opzioni, in modo da poter reimpostare il tipo di citazione al valore che avevo prima, ovvero tra parentesi. Potrei semplicemente disattivare il Block Fetch. Ora possiamo stamparlo di nuovo per vedere se sta avendo l'effetto desiderato. Se eseguo tutto questo, vediamo che il Block Fetch è attivo. Il tipo di citazione è doppio. Poi, dopo averlo impostato, tutto è disattivato.
Ecco alcune delle cose che si possono fare per manipolare la situazione. Se osserviamo il tutto nel suo complesso, quello che succede è che vedremo tutti i valori che non sono quelli predefiniti. Ad esempio, vediamo il nostro nome utente e la nostra password. Ma vediamo anche un sacco di altre opzioni in cui SQL Server è diverso da quello predefinito. Vediamo tutto questo lì. Il registro. Anche questa mappatura dai nomi alle configurazioni effettive è accessibile tramite JSL.
Ho una variabile qui. Quindi posso fare cose come ottenere tutte le voci disponibili. Questo elencherà di nuovo sia quelle che abbiamo creato, sia quelle integrate in JMP. Se lo facessimo su Windows, vedremmo anche quella installata tramite il componente aggiuntivo. Possiamo ottenere metadati su una voce specifica. Possiamo di nuovo guardare una configurazione che abbiamo creato qui. Questo ci indicherà sia il nome che il percorso. Queste informazioni essenziali, ma includono anche il tipo e, poiché è ODBC, conterrà anche il driver.
È anche possibile registrare una configurazione per JSL. Supponiamo di voler scrivere la nostra e di chiamarla MySQLServer2DC. Abbiamo aggiunto una nuova variabile di percorso. Per chi di voi ha familiarità con le variabili di questo tipo, punta direttamente alla cartella dei connettori dati che vi ho mostrato prima. Posso scrivere del testo lì.
Vogliamo semplificare le cose. Inizieremo con la nostra configurazione di base, questo server MySQL. Ripristineremo, diciamo, un tipo di file come era prima. Ora ho questo. Infine, con il comando "segui il mio percorso", lo registrerò. Il nome corrisponderà al nome del file, proprio come abbiamo fatto con gli altri. Poi il percorso. Percorso. Se eseguo tutto questo, possiamo provare a caricarlo.
Qui faremo esattamente come prima, ma con entrambi. Possiamo vedere che funziona, che stampa qualcosa qui. Potremmo persino ottenere il valore che abbiamo modificato. Vedete, è lì. Bene, quindi, di nuovo, abbiamo visto questo, e possiamo entrambi usare JSL per manipolare le configurazioni. Se siamo disposti a lavorare direttamente con quelle configurazioni, possiamo vedere dove si trovano nel file system e possiamo aggiungere configurazioni specifiche per la piattaforma.
Ho già parlato molto. Riepiloghiamo un po'. Torniamo all'inizio. Ho detto che avevamo obiettivi specifici per questa iniziativa. Bene, analizziamoli uno per uno. Il primo obiettivo era la possibilità di connettersi a più fonti dati. Per JMP 18, abbiamo ampliato l'accesso alle fonti dati all'interno di ODBC. Spero che, ad esempio, modificando il tipo JSON per SQL Server, vi abbia dato un assaggio di ciò che è possibile fare.
Abbiamo migliorato la compatibilità con le vostre origini dati. In termini di condivisione, spero che mostrare la condivisione da JMP Live a Windows abbia, credo, chiarito cosa possiamo fare in questo ambito. Finalmente, un'interazione più uniforme. Questa è una novità che non avevamo ancora visto. Vi ho mostrato una nuova interfaccia. Vi ho mostrato qualcosa che funziona solo con ODBC. È importante ricordare che ci concentriamo su ODBC e che stavamo gettando le basi per altre novità. È qualcosa che vedremo in futuro.
Per quanto riguarda il futuro di JMP 18.1, abbiamo alcuni piccoli miglioramenti pianificati principalmente per l'editor. In JMP 19, introdurremo ulteriori miglioramenti all'editor. Ma, cosa più importante, credo che avremo nuovi tipi di connessioni. Prenderemo qualcosa che attualmente è solo per ODBC, ma lo estenderemo anche ad altri elementi. Il primo di questi è SAS.
In JMP 18 abbiamo dovuto rimuovere la connettività SAS. Ma in JMP 19 la ripristineremo e sarà integrata in questo framework di connettori dati. Ciò significa la stessa interfaccia per connettere lo stesso editor per la modifica delle configurazioni e la stessa possibilità di condividere tali configurazioni, come con i componenti aggiuntivi. Aggiungeremo anche la connettività ad Amazon S3 e Microsoft SharePoint. Una richiesta che credo sia stata avanzata da tempo.
La cosa interessante di questi due, S3 e SharePoint, è che non saranno distribuiti con JMP. Mentre con SAS puntiamo a qualcosa di simile a ciò che avevamo prima di JMP 18. Sarà distribuito con JMP. Avrete accesso a molte delle funzionalità GSL che erano presenti in precedenza.
Per S3 e SharePoint, questi non saranno inclusi in JMP, ma saranno distribuiti tramite il marketplace JMP. Alcuni di voi potrebbero averne sentito parlare. In caso contrario, probabilmente ne sentirete parlare altrove durante la fase di discovery.
In breve, sarà un modo per distribuire estensioni a JMP. Distribuiremo le estensioni, la connettività S3 e SharePoint, in questo modo. Per farle funzionare con JMP, definiremo un'API Python esposta da JMP che potrà essere utilizzata per interfacciarsi con tutto ciò che è necessario per connettersi a quel framework di connettori e poi passare a Query Builder e oltre.
Per implementarli, utilizziamo quell'interfaccia e anche le librerie Python esistenti. Questo è parte della meraviglia dell'ecosistema Python, e anche il frutto del lavoro che abbiamo svolto per migliorare l'integrazione di Python con JMP 18. Ma non è qualcosa che sarà limitato a noi.
Vi mostreremo e documenteremo questa interfaccia, qualcosa che vi permetterà non solo di conoscerla, ma anche di creare nuovi tipi di connessioni e integrarle con JMP e Query Builder. Potete usare tutti gli stessi strumenti.
Questo è ciò che faremo per il futuro. È praticamente tutto ciò che ho. Voglio ribadire che spero che quanto fatto nel 2018 non solo abbia gettato le basi per futuri miglioramenti come quelli di cui sto parlando qui, ma fornisca anche di per sé un interessante aggiornamento di ciò che possiamo fare con ODBC.
Che è possibile connettersi a più fonti di dati, che è possibile condividere queste connessioni più facilmente. Ancora una volta, penso che il futuro sarà ancora migliore in termini di ciò che possiamo fare. Non vedo l'ora di scoprire cosa potremo fare in questo campo. Con questo, voglio ringraziarvi per l'ascolto e spero che vi godiate il resto della scoperta.