Project Panama soll Verbindung zwischen JVM und nativen APIs herstellen

Das Projekt könnte eine Alternative zum Java Native Interface bieten und es Java-Entwicklern ermöglichen, auf bekannte Bibliotheken aus anderen Sprachen zuzugreifen.

In Pocket speichern vorlesen Druckansicht 16 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Oracle-Mitarbeiter John Rose hat ein neues OpenJDK-Projekt vorgeschlagen. Project Panama soll eine schnelle Möglichkeit bieten, Java-Anwendungen und native APIs zu verbinden – wie der Panamakanal den Atlantik und den Pazifik. Der Vorschlag stand die letzten zwei Wochen zur Abstimmung zu Verfügung, wobei die abgegebenen Stimmen durchweg positiv ausfielen.

In einem Blogeintrag im März 2014 beschrieb Rose das Ziel des Projekts damit, dass Bibliotheken, die Programmierer, die nicht mit Java arbeiten, nützlich und leicht zu verwenden finden, für Java-Programmierer ähnlich zugänglich sein sollten. Einen Tag später startete er, gesetz den Regeln des OpenJDK für neue Projekte, eine Diskussion über ein eventuelles Projekt. Dort formulierte er auch erneut den Wunsch, Java-Nutzern mit Panama bessere Möglichkeiten zum Nutzen von C- und C++-APIs bieten zu wollen, als sie JNI, das Java Native Interface, zur Verfügung stelle. Dieses ließe vor allem in Sachen Performance zu wünschen übrig.

Die Komponenten, die das vorgeschlagene Komitee entwickeln will, sollen unter anderem Zugriff auf Daten und nativen Code über native APIs ermöglichen, grundlegende Einbindungen für ausgesuchte native APIs bereitstellen und Werkzeuge zum Extrahieren von APIs und Speichern von API-Metadaten unterstützen. Panama soll von John Rose angeleitet werden und unter dem Sponsoring der HotSpot-Gruppe laufen.

Das Projekt soll eine Kopie des JDK-9-Repositories zur Grundlage nehmen und da vor allem die Sub-Repositories hotspot, langtools und jdk nutzen. Des Weiteren sollen Teile des im JDK Enhancement Proposal 191 beschriebenen Foreign Function Interface zum Einsatz kommen. Konzepte und Ziele hat John Rose auf seinem Blog zusammengefasst. (jul)