JavaRush /Java-Blog /Random-DE /Kaffeepause Nr. 21. Python mit Java integrieren. Lernen S...

Kaffeepause Nr. 21. Python mit Java integrieren. Lernen Sie Jakarta EE und Eclipse MicroProfile kennen

Veröffentlicht in der Gruppe Random-DE

Python-Integration mit Java? Warum nicht!

Quelle: Jaxenter Kaffeepause Nr. 21.  Python mit Java integrieren.  Kennenlernen von Jakarta EE und Eclipse MicroProfile – 1 Eigentlich ist die Kombination von Systemprogrammierung und Skriptsprachen kein seltsames neues Konzept: Sie wird nur selten verwendet. Bei Programmiersprachen, die über eine gemeinsame binäre Anwendungsschnittstelle verfügen, ist es durchaus möglich, diese in einer einzigen Bibliothek oder ausführbaren Datei zu kombinieren. Dies macht die Sache zwar etwas schwieriger, es gibt jedoch Tools, die helfen können. Python und Java ergänzen sich tatsächlich. Beispielsweise können Sie eine davon für typische Unteraufgaben und die andere als Skriptsprache verwenden, um die Einstellungen Ihrer Anwendung zu erweitern. Wenn es um die Integration anderer Sprachen geht, wird beispielsweise JavaScript normalerweise nicht außerhalb von Webbrowsern verwendet, zumindest im Vergleich zu anderen Skriptsprachen wie Perl, Tcl, Visual Basic und Python. Alle diese Sprachen werden jedoch meist mit anderen Sprachen kombiniert. Python wird traditionell mit C und C++ kombiniert, während Visual Basic häufig die Skriptsprache der Wahl für C++ auf der Windows-Plattform ist. Und Perl wird wie Tcl häufig unter C/Unix verwendet. Python wird unter Windows etwas häufiger verwendet, da es sich problemlos in die Microsoft Scripting Host-Architektur sowie COM integrieren lässt. Außerdem eignet es sich hervorragend für macOS-Tools.

Warum Java und Python?

Python ist eine objektorientierte Skriptsprache und passt daher gut zu Java. In Kombination mit einem vollständig in Java geschriebenen Python-Interpreter wie Jython können Sie ganze Applets in Python schreiben, die dann in jedem JDK-kompatiblen Browser ausgeführt werden können, wobei die Codeausführung fast so schnell ist wie in C/CPython. Der Jython-Interpreter übersetzt Python-Quellcode direkt in Java-Bytecode und sorgt so für unglaubliche Geschwindigkeit. Aber andere Java-Scripting-Lösungen (Java/TCL, Java/Perl usw.) hängen die JVM an die C-Implementierung in diesen Sprachen an, was nicht nur ein Portabilitätsproblem schafft, sondern diese Lösungen selbst auch nicht so einfach sind, wie wir es gerne hätten.

Was ist der beste Weg, Java und JPython zusammen zu verwenden?

Es gibt eine Reihe bewährter Tools, die Python in Java oder umgekehrt implementieren, sodass Sie Befehle aus einer Sprache in einer anderen ausführen können. Hier ist eine kurze Liste einiger der besten Tools zur Integration von Python mit Java:
  • Jython ist Python, das in Java implementiert ist.
  • JPype – Ermöglicht die Ausführung von Java-Befehlen mit Python.
  • Jepp – Java in Python integriert.
  • JCC ist ein C++-Codegenerator zum Aufrufen von Java aus C++/Python.
  • Javabridge ist ein Paket zum Ausführen und Interagieren mit der JVM von CPython.
  • Py4j – Ermöglicht die Ausführung von Java-Befehlen in Python.
  • Voc ist ein Element des BeeWare- Tools . Konvertiert Python-Code in Java-Bytecode.
  • p2j – Konvertiert Python-Code in Java. Nicht mehr in der Entwicklung.
Für den Einsatz dieser Tools gibt es mehrere Ansätze. Jedes hat seine eigenen Vor- und Nachteile. Sie können beispielsweise einen Prototyp einer gesamten Anwendung in Jython erstellen und nach mehreren Test- und Neugestaltungsrunden alles in Java neu schreiben. Dadurch können Sie schon früh in Ihrem Projekt von der erhöhten Flexibilität und Geschwindigkeit der Entwicklung von Skriptsprachen profitieren. Allerdings muss Ihr Endprodukt etwas detaillierter sein, als wenn Sie gerade erst begonnen hätten, nur in Java zu schreiben. Und wenn Sie Bedenken hinsichtlich der UI-Bibliotheken haben: Jython kann sich in dieselben UILs einbinden wie normales Java, sodass die Konvertierung von Java ein Kinderspiel sein dürfte. Allerdings sind die Dinge nicht so einfach, wenn Sie versuchen, ein großes Projekt zu erstellen. Sie werden wahrscheinlich auf den Nachteil stoßen, dass verschiedene Komponenten und Schichten unabhängige Entwicklungszyklen haben, beispielsweise Komponenten der obersten Ebene. Natürlich können Sie einzelne Komponenten in Java umschreiben, wenn Sie sich einem stabilen Release nähern, oder einige Ihrer Komponenten einfach von Anfang an ausschließlich in Java schreiben. Eine andere Möglichkeit besteht darin, nur die Komponenten neu zu schreiben, für die die Leistung wichtig ist. Auf diese Weise können Sie die Komponenten auf hoher Ebene in Jython belassen, was bedeutet, dass Sie nur die Komponenten auf niedrigerer Ebene neu schreiben müssen und in einigen Fällen überhaupt nichts neu schreiben müssen.

Wir stellen Jakarta EE und Eclipse MicroProfile vor

Quelle: DZone Noch nichts von Jakarta EE und Eclipse MicroProfile gehört? Es ist also an der Zeit, sich mit der Entwicklung des Java Enterprise-Standards vertraut zu machen. Beide Technologien werden Ihnen in Zukunft sicherlich von Nutzen sein, da sie sich hervorragend für die Erstellung cloudnativer und moderner Unternehmensanwendungen eignen.

Was ist Jakarta EE?

Jakarta EE ist eine Reihe von Spezifikationen (JAX-RS, CDI, JPA, JSON-P usw.) zum Schreiben von Unternehmensanwendungen in Java. Bei diesen Spezifikationen handelt es sich um Dokumente, die die API und die Interaktion der Technologie definieren. Kaffeepause Nr. 21.  Python mit Java integrieren.  Kennenlernen von Jakarta EE und Eclipse MicroProfile – 2Spezifikationsdokumente sind wie Schnittstellen mit formalen Definitionen, und die tatsächliche Implementierung dieser Schnittstellen hängt vom Anbieter des Anwendungsservers ab (z. B. WildFly, Open Liberty, Payara, TomEE). Um zu verhindern, dass ein Anbieter eine Spezifikation falsch implementiert, stellt jede Spezifikation ein Technology Compatibility Kit (CTS) zur Verfügung. Hierbei handelt es sich um eine Reihe von Tests zur Überprüfung der Konformität einer Implementierung einer bestimmten Spezifikation. Sobald der Anwendungsserver den CST für alle Spezifikationen übermittelt, entspricht er dem gesamten Standard. Seit vielen Jahren ist Java EE die Standardmethode zum Schreiben von Unternehmensanwendungen. Java EE (früher J2EE genannt) wird seit langem von Oracle unterstützt. Im Jahr 2017 beschloss Oracle, den Unternehmensstandard nicht mehr unter seiner Federführung weiterzuentwickeln und übertrug ihn an die Eclipse Foundation. Aus rechtlichen Gründen mussten sie ein Rebranding durchführen und beschlossen, das Produkt Jakarta EE zu nennen. Alle Jakarta EE-Spezifikationen finden Sie auf der offiziellen Website . Weitere Informationen zur aktuellen Funktionsweise des Spezifikationsprozesses erhalten Sie auf der Website der Eclipse Foundation.

Was ist Eclipse MicroProfile?

Da der Prozess der Veröffentlichung und Anpassung neuer Funktionen für Java EE recht langsam verlief, beschloss eine Gruppe von Anbietern und Community-Mitgliedern im Jahr 2016, MicroProfile zu erstellen. Das Hauptziel dieses Projekts bestand darin, Entwicklern zu helfen, mit der Zeit zu gehen und außerdem die bestehende Plattform für die Microservices-Architektur zu optimieren. Derzeit enthält Eclipse MicroProfile zwölf Spezifikationen. Vier davon sind auch Teil von Jakarta EE. Dadurch können Sie eigenständige Anwendungen ausschließlich mit MicroProfile erstellen. Alle Spezifikationen sind herstellerunabhängig und die Implementierung erfolgt mit dem Anwendungsserver. Die Jakarta EE-Spezifikationen können als solide Grundlage für die Entwicklung von Unternehmensanwendungen angesehen werden. Darüber hinaus füllt Eclipse MicroProfile eine Lücke beim Aufbau verteilter Systeme, da die Technologie der Zwölf-Faktor-Anwendungsmethodik folgt .
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION