Hallo zusammen. Wir freuen uns sehr, Ihnen heute unser Poster präsentieren zu dürfen. Es behandelt die JMP-Integration mit AWS-Services. Mein Name ist Yacine Belamiri und ich arbeite als Data Engineer bei Soitec.
Ich bin Guillaume Bugnon und arbeite als Data Engineer bei Soitec. Heute stelle ich Ihnen das Poster vor. JMP ermöglicht den Zugriff auf zahlreiche Datenquellen in nativen Formaten wie Excel, JSON und sogar PDF-Dateien. JMP kann außerdem über eine native ODBC-Verbindung mit vielen Datenbanken interagieren, was jedoch manchmal nicht ausreicht. Warum? Weil Cloud-Dienste wie Azure, AWS oder Google Cloud in unserer und allen anderen Branchen immer häufiger eingesetzt werden und mittlerweile fester Bestandteil der Datenarchitektur von Unternehmen sind. In manchen Fällen benötigen JMP-Nutzer Zugriff auf aktuelle Daten, in anderen Fällen müssen wir GSL-spezifische Konnektoren entwickeln.
Was sind die Ziele dieses Posters? Zunächst möchten wir Ihnen mitteilen, dass JMP ab Version 15 die Python-Integration nutzt, um die Funktionalität von JMP zu erweitern, indem sowohl JMP als auch Python auf den PCs der Benutzer installiert werden. Was hat uns das ermöglicht? Wir konnten JMP-Bibliotheken erstellen, die im Wesentlichen aus einer Reihe von GSL-Funktionen bestehen, die speziell für AWS-Dienste oder andere Anwendungsfälle entwickelt wurden, die nicht nativ von JMP abgedeckt werden. Wir haben über 600 Benutzer und müssen diese Bereitstellungen verwalten, um die Nutzung dieser Verbindung für alle zu vereinfachen und sicherzustellen, dass unsere Entwickler denselben Code verwenden.
Ab JMP 18 vereinfacht JMP die Verwaltung der Python-Integration und beseitigt die bisherigen Abhängigkeiten. Dadurch wird die Installation von JMP beschleunigt und vereinfacht, und Sie können JMP einfach mit Python installieren und nativ verwenden.
Wir tun dies, weil es die Benutzerfreundlichkeit verbessert und den Datenzugriff vereinfacht. Wir können die Daten im Vorfeld aufbereiten, speichern und auf Unternehmensebene validieren. Darüber hinaus hat sich JMP bei Soitec als wichtiger Bestandteil unserer Datenverarbeitungspipeline etabliert. Wenn wir also Daten für statistische Zwecke bereitstellen müssen, verwenden wir JMP.
So sind wir vorgegangen. Dieses kurze Diagramm veranschaulicht unsere Vorgehensweise. Zunächst haben wir gemeinsame Python-Bibliotheken erstellt. Diese Bibliotheken stellen beispielsweise Verbindungen zu AWS her, bieten statistische Funktionen, die in JMP nicht enthalten sind, oder enthalten Diagramme, die wir ansprechender, unterhaltsamer oder Ähnliches finden. Das ist der erste Schritt.
Dann rufen wir diese Python-Bibliotheken aus unseren JSL-Bibliotheken auf. Dieses JSL sollen unsere JSL-Entwickler anschließend verwenden. Es wird intern von unserer IT-Abteilung validiert, sodass wir alle denselben Code verwenden können. Abschließend zertifiziert Soitec diese Bibliotheken und ermöglicht ihnen, GSL-Bibliotheken aufzurufen. Dadurch erhält der Benutzer eine sehr einfache Methode, um eine Datenverbindung herzustellen.
Wenn wir mit einfachen Symbolen ins Detail gehen, erhalten wir diese Architektur. Wir haben die drei Bausteine, die Yacine vorhin erwähnt hat. Nehmen wir an, ich bin ein Softwareentwickler und möchte unsere extrahierten Daten, die in S3-Buckets auf einem AWS-Server gespeichert sind, verbinden. Zuerst muss ich den Bibliothekspfad und die Python-Bibliothek JSL einbinden, dann rufe ich einfach meine Funktion auf. Wie Sie sehen, ist das mit nur vier Codezeilen ganz einfach. Ich kann nun auf die in AWS S3 gespeicherten Dateien zugreifen. Dafür entstehen jedoch anfänglich Kosten. Wir müssen noch die beiden anderen Bausteine entwickeln, den roten und den schwarzen.
Nehmen wir an, diese App – nennen wir sie einfach Python-Bibliothek – wird hier importiert. Genau. Das Ganze besteht aus Bausteinen. Wir haben grüne, schwarze und blaue Bausteine. Sehen wir uns das mal an. Entschuldigung. Öffnen wir JMP. Es ist genau hier. Ganz einfach. Fügen wir das Log hinzu. Ich muss nur meine Python-GSL-Bibliothek importieren. Wie Sie sehen, enthält diese Python-GSL-Bibliothek verschiedene Funktionen, hier zwei.
Dann kann ich einfach sagen, dass ich die Paketdateien öffnen möchte. Parquet ist ein nicht natives Dateiformat, das von JMP aktuell nicht erkannt wird, aber mit Python kann ich die Paketdateien öffnen, also ist das in Ordnung. Ich muss nur sagen, dass ich die Paketdatei öffnen möchte, die die Daten speichert… Nehmen wir Johns Entdeckung mit Unter-Buckets, dem Dateinamen und dem Adressbereich, also alles klar. Ich muss die neue Datenansicht erstellen, und das ist einfacher und schneller, und ich kann meine Daten abrufen, dann kann ich JMP für meine Analyse verwenden.
Eine andere Möglichkeit ist dieselbe, aber wir verwenden auch hier dieselbe Bibliothek, um ein Geheimnis zu erhalten. Das Geheimnis könnte beispielsweise ein Passwort oder eine Zugangsdaten für die Datenbankverbindung sein. Mit dieser Funktion, die ebenfalls in der Bibliothek enthalten ist, lässt sich diese Sequenz ganz einfach abrufen. Mein Geheimnis ist die Erkennung des Entwickler-Gems auf der entsprechenden Seite. Anschließend kann ich die Geheimnisse ausgeben, und wir können hier sehen, welche Werte die Geheimnisse haben.
Ein weiteres, praxisnäheres Anwendungsbeispiel: Wir haben bei Soitec eine Anwendung, die sich mit einer AWS-RDS-Datenbank verbinden kann, um aggregierte Daten abzurufen. Die Anwendung kann außerdem eine Verbindung zu AWS S3 herstellen, um Rohdaten im Paketformat zu erhalten.
Dank der Entwicklung der Python- und GSL-Bibliothek können wir uns problemlos mit Datenbanken und S3-Buckets verbinden und anschließend alle statistischen Berechnungen mit JMP durchführen. Dies können beispielsweise SPC-Diagramme oder Kennwerte für CPK sein. Wir erhalten dann die aggregierten und die Rohdaten. Anschließend können Sie Data Mining und Datenanalysen durchführen.
Wir haben unseren Umgang mit den Daten in S3 vorgestellt. Zusammenfassend lässt sich sagen, dass die Integration von Python in JMP für den AWS-Zugriff zahlreiche Vorteile bietet. Sie verbessert sowohl die Funktionalität als auch die Effizienz. Python-Bibliotheken erleichtern die Interaktion mit beliebigen Diensten. In unserem Beispiel haben wir AWS demonstriert, aber es kann sich um jeden anderen Dienst handeln, der nicht nativ in JMP integriert ist. Wir haben dies mit S3, DynamoDB und Secret Manager demonstriert – allesamt AWS-Dienste, die wir bei Soitec aktuell nutzen.
Die Integration ab JMP 18 reduziert die Komplexität und spart uns Zeit, da wir zuvor die Python-Bibliotheken und die Python-Installation selbst bereitstellen mussten. Heute ermöglicht uns Python alles aus einer Hand, sodass wir auf alle Daten zugreifen können und unsere Endnutzer sich auf die Analyse statt auf die Datenerfassung konzentrieren können. Python und JMP bilden zusammen eine leistungsstarke Synergie für effiziente datenbasierte Entscheidungen.
In den kommenden JMP-Versionen wird die Python-Bibliothek jmputils eingeführt. Diese bietet eine völlig neue Möglichkeit der Interaktion zwischen JMP und Python, und wir freuen uns sehr darauf, zu erfahren, wie wir sie einsetzen werden und wie sie uns ein deutlich verbessertes Erlebnis bietet, alles in Python auszuführen und anschließend für JMP vorzubereiten. Wir erwarten diese Veröffentlichung mit Spannung.
Vielen Dank. Das war alles von uns. Sie sehen hier eine kurze Präsentation unseres Unternehmens, unserer Tätigkeiten und unseres Kerngeschäfts.
Danke schön.
Danke schön.