Suche
Highlights der Oracle-Code-One-2018-Entwicklerkonferenz in San Francisco

Die Zukunft von Java auf der Oracle Code One 2018

Wolfgang Weigend

Zum ersten Mal öffnete die Oracle-Code-One-Konferenz ihre Pforten für Java-Entwickler und auch für Entwickler anderer Programmiersprachen, die aus aller Welt nach San Francisco kamen. Wolfgang Weigend war vor Ort dabei und fasst die Highlights der Konferenz zusammen.

Das war die Oracle Code One 2018

Die Oracle Code One ist die Nachfolgekonferenz der früheren JavaOne. Die Konferenz ist auf verschiedene Programmiersprachen, Technologien und Entwickler-Communities ausgerichtet. Die Oracle Code One lief unter dem Motto „Live for the Code“ und fand im Moscone Center West San Francisco statt, die Keynotes wurden im Moscone Center North abgehalten.

Das Gebäude Moscone West wurde zur zentralen Anlaufstelle für die Teilnehmer, mit der Developer-Exchange-Ausstellung im Erdgeschoss und den beiden oberen Etagen für die Vorträge. Zudem fand am Samstag und Sonntag die Oracle Code4Kids statt, bei sich  Kinder im Alter von 10-16 Jahren im Oracle Conference Center mit der Java-Programmierung beschäftigen konnten. Insgesamt haben ca. 8000 Teilnehmer die Oracle Code One besucht, was den Besucherzahlen vom Vorjahr entspricht. Die stetige Anzahl von 12 Millionen Java-Entwicklern, 350 Java-User-Gruppen, über 240 Java Champions, 1000 Beteiligte bei JCP-Standards, 30 Milliarden aktive JVMs und 20 Milliarden Cloud-Connected-JVMs spiegeln das Interesse an Java wieder. Das Oracle-Code-One-Konferenzprogramm bot die Themenbereiche Container, Serverless, Cloud, Java SE, Datenstrukturen, MySQL, Entwicklungsumgebungen, DevOps & CI/CD, Java EE & Jakarta EE, Microservices, Web-Technologien, Emerging-Technologien, Entwickler-Community und Java-Ökosystem an.

Java Keynote: The Future of Java is today – GitHub, Java und OpenJDK

Die Java Keynote fand am Sonntag nachmittag im Moscone Center North statt. Sie fokussierte sich auf den Entwickler mit den Themen GitHub, Java und die weltweite Zusammenarbeit der Java Community im OpenJDK. Matthew McCullough, GitHub VP of Field Services, betonte die Verbundenheit von GitHub mit Java, mit 1,1 Milliarden Code-Contributions, die von 31 Millionen Benutzern in 4 Millionen Java Repositories verwaltet werden.

McCullough leitete daraus ab, dass die Masse im Einzelfall sehr viel bewegen kann, wenn jeder Entwickler einen Bug fixt, schneller arbeiten kann, weniger manuelle Tätigkeit ausführen muss und sich auf ein Feature konzentriert oder sogar zum Contributor wird. Getreu dem Motto „Think small to accomplish more“. Dazu stellte McCullough das OpenJDK-Projekt Skara vor. In Skara wird ein alternatives Source-Code-Management-System mit Code-Review-Optionen für den JDK-Quellcode untersucht, das anstelle von Mercurial Git nutzt. In der GitHub-Skara-Demo wurde ein Code-Update mit einem JDK 10 Feature in einem älteren Java-Programm durchgeführt, dann der Pull Request erzeugt und die Änderung analysiert. Der Git-openjdk-jcheck vom Pull Request ergab, dass ein Code-Reviewer der Änderung zustimmen muß. Die Demo verdeutlichte die einzelnen Verbesserungen mit GitHub bei der Java-Entwicklung.

Georges Saab, Oracle VP Development Java Platform, sprach über die Tugenden von Java. Er betonte, dass Java weiterhin frei und offen bleibe, die Plattform stetig vervollständigt sowie in Qualität und Sicherheit investiert werde. Die offene und transparente Entwicklung von Java soll bewahrt werden, und die Investitionen in Entwickler-Produktivität und Kompatibilität sollen weiter fließen.

Saab untermauerte die Offenheit von Java mit einigen Fakten: die Technologie-Freigabe des Application-Class-Data-Sharing im OpenJDK 10, das Projekt ZGC (Garbage Collector mit niedriger Latenzzeit für Multi-Terabyte-Heaps), die Bereitstellung des Flight Recorder im OpenJDK 11 und des Mission Control Tools im OpenJDK als Open-Source sowie die technische Austauschbarkeit des Oracle JDK 11 mit dem OpenJDK 11. Zur schnellen Bereitstellung von JDK-Verbesserungen und Innovationen wurde mit dem JDK 11 der neue sechsmonatige Release-Rhythmus eingeführt. Dazu kam der Oracle Java SE Subscription Support für Desktops, Server und Cloud-Deployments, sowie die Wahlfreiheit, auch andere Hersteller-JDKs zu verwenden oder unterschiedliche OpenJDK-Varianten (Oracle, IBM, Red Hat, MicroDoc, Azul, Bellsoft, AdoptOpenJDK) einzusetzen.

Der Chef-Architekt der Oracle Java Platform Group, Mark Reinhold, sprach über die mit JDK 9 eingeführte Java-SE-Modularisierung und zeigte Beispiele zur Abhängigkeitsanalyse mit dem Werkzeug jdeps. Reinhold wies darauf hin, dass Anwendungs-Code, der nur Standard Java SE APIs verwendet, nach aller Wahrscheinlichkeit ohne Änderungen auch mit einer höheren Version ablauffähig sein sollte. Er berichtete vom neuen sechsmonatigen Java-Release-Zyklus und stellte klar, dass die Java-Feature-Releases zueinander passen, Non-LTS-Releases nicht „experimentell“ sind und die als „Deprecated“ markierten-Features nicht einfach aus Zwischen-Releases verschwinden werden.

Mark Reinhold belegte den Übergang von bestehenden Bibliotheken, Frameworks & Tools, die mit JDK 9 laufen (#WorksFineOnJDK9), wobei ca. 50% der Java-Anwendungen bereits mit dem JDK 11 ablauffähig sind (#WorksLikeHeavenOnJDK11). Dann sprach er über die Inhalte der Projekte Amber (Right-Sizing Language Ceremony), Loom (Continuations & Fibers), Panama (Foreign Function/Data Interface) und Valhalla (Value Types & Spezialized Generics). Dazu zeigte er Beispiele in der jshell. Die Java-Keynote beschloss Mark Reinhold mit der Aussicht, dass sich Java jetzt mit einer höheren Geschwindigkeit weiterentwickeln soll und wir uns alle damit auch schneller bewegen können.

Code-One-Konferenzprogramm

Im Konferenzprogramm wurden ca. 600 Vorträge angeboten. Die Java Champions, die sich bereits am Samstag im Hotel Parc55 ausgetauscht hatten, und andere Entwickler zeigten ihre Coding-Erfahrungen mit Java SE, JavaFX, Java EE, Docker, Microservices, Kubernetes und Cloud-Native-Technologien.

Sean Philipps und Dr. Diane Davis (a.i. solutions) zeigten im Bereich der interplanetarischen Orbit-Design-Anwendungen verschiedene JavaFX-Visualisierungsprojekte (3D Scene Update, High Speed asynch. Plot of Canvas Data), die für die NASA entwickelt wurden und dort im Einsatz sind. Johan Vos (CTO Gluon) stellte den Release- und Supportplan für JavaFX 11 vor. Kevin Rushforth vom Oracle JavaFX Engineering ging auf das Projekt OpenJFX ein, in dem die JavaFX-Module durch die Modularisierung aus dem JDK herausgelöst wurden. OpenJFX 11 passt jetzt mit dem OpenJDK 11 zusammen.

JavaFX 11 wird als eigenständiges Release über Gluon angeboten und kann als Open Source Software mit dem OpenJDK betrieben werden. Die JavaFX-Module können mit dem javafx-sdk-11 (SDK) über dem Java-Module-Path integriert werden oder über die JavaFX 11 JMODs, die mit dem Werkzeug jlink in eigene Anwendungen eingebunden werden. Maven und Gradle wird von JavaFX 11 ebenfalls unterstützt. Die Beteiligung der JavaFX-Entwicklergemeinschaft wird durch das Projekt Skara mit einem OpenJFX-GitHub-Mirror vereinfacht.

Kevin Rushforth stellte zudem die weitere Roadmap für JavaFX vor. Demnach soll JavaFX 12 eine Woche vor dem JDK 12 erscheinen, und dieser Release-Rhythmus soll künftig beibehalten werden. Bei JavaFX 12 und höheren Versionen stehen die Bugfixes im Vordergrund, aber auch der kontinuierliche Plattform-Support für Compiler, Betriebssysteme (Ubuntu u.a.) und die Ersetzung abgekündigter Plattform-APIs (Metal ersetzt OpenGL bei Apple).

Erwartungsgemäß wurde in der Q&A-Runde die Frage nach dem Status von Java Swing gestellt. Die Antwort lautete, dass Java Swing ein Bestandteil von Java SE 8 ist und der Support gemäß Java SE Support Roadmap bis zum März 2025 läuft. Beim JDK 11 steckt Java Swing im Modul java.desktop.jmod, und für JDK 11 erstreckt sich der Support bis zum September 2026.

Arun Gupta (AWS Technical Evangelist) beschrieb den Tagesablauf eines Java-Entwicklers mit Kubernetes in seinem Vortrag. Marcus Hirt (Oracle Engineering) zeigte in mehreren Vorträgen die Weiterentwicklung von JDK Mission Control & JDK Flight Recorder als eigenständige Projekte im OpenJDK. Nach der geplanten Fertigstellung des JMC 7.0.0 Ende Januar 2019, im Zusammenspiel mit dem JDK 11, soll die Roadmap von JDK Mission Control jeweils die Paare JMC 7.1.0 & JDK 12 (Cipher Events, Improved-Thread-Visualisierung), JMC 7.2.0 & JDK 13 (JMC Agent, Flame Cahrt View) und JMC 8.0.0 & JDK 14 (Integrierter JMC Agent Support, evtl. Agent Rules Engine) umfassen.

API Summit 2018
Christian Schwendtner

GraphQL – A query language for your API

mit Christian Schwendtner (PROGRAMMIERFABRIK)

Alex Buckley, Oracle Specification Lead für die Java-Programmiersprache & JVM, ging auf die mit dem JDK 9 eingeführte modulare Entwicklung ein. Er verdeutlichte die Weiterentwicklung des Java-Module-Systems mit dem Werkzeug jdeps zur Modulabhängigkeitsanlyse im JDK 11 und dem Zusammenspiel einer mit jlink erstellten Java-Anwendung sowie einer eigenen Microservices-Anwendung.

Die Verpackung von Microservices oder existierenden Java-EE-Anwendungen mit Docker war Bestandteil des Java & Container Experten-Panels mit Bernhard Traversat (Oracle VP Java Engineering), Mikael Vidstedt (Oracle JVM Direktor) und Bob Vandette (Oracle JVM-Architekt). Es wurden Code-Beispiele gezeigt, die mittels jlink eine individuelle JRE (48 MB) erzeugten, im Gegensatz zur Größe von 297 MB beim gesamten JDK 11. Die individuell erstellten JRE-Docker-Images verwenden Multi-Stage-Docker-Dateien. Noch kleinere Java-Laufzeitumgebungen wurden mit dem Alpine Linux (4,4 MB) und dem OpenJDK-Projekt Portola vorgestellt. Die JDK 12 Startup-Zeiten für verschiedene Anwendungen (Jetty, SpringBoot) in Verbindung mit den Class-Data-Sharing-Archiven konnten signifikant verbessert werden. Auch die Unterstützung von Microservices mit der Open Source Light-Weight-Laufzeitumgebung Helidon für Java SE & Helidon für MicroProfile passt zu der Verbesserung von Startzeiten im Docker-Container.

Chad Arimura (Oracle VP Serverless), zeigte in seinem Vortrag die Kombination einer skalierenden Functions-Umgebung mit FaaS und Kubernetes. Er berichtete über die Fortschritte im Open-Source-Projekt Fn. Fn kann lokal, auf Servern oder direkt in unterschiedlichen Cloud-Anbieterumgebungen verwendet werden. Die Freigabe des Fn-managed-Cloud-Service soll demnächst erfolgen, aber es besteht schon jetzt die Möglichkeit für Early Adopter, sich damit zu beschäftigen. Das Fn Deployment mit Helm und Kubernetes wurde angesprochen und auf die Fn Mandantenfähigkeit (Multi Tenancy) eingegangen. Über die Fn Extension Points kann ein Laufzeit-Pool eingebunden werden. Der Betrieb von Fn mit Kubernetes unterstützt Prometheus-Metriken, Fluentd Logs und Grafana-Visualisierung.

Goldman Sachs berichtete über ihre Erfahrungen, die mit der hauseigenen Programmiersprache Slang entwickelten Pricing- und Risk-Trading-Anwendung mit Truffle & GraaLVM zu kombinieren. Truffle ist eine Java-Bibliothek zur Unterstützung von AST-Interpretern (Abstract Syntax Tree) zur Einbindung jeder Programmiersprache mit Java. GraalVM ist eine universelle JVM, die in Java geschrieben wurde und für die polyglotte Sprachunterstützung gebaut wurde. Die bisherigen Erkenntnisse von Goldman Sachs waren positiv, so dass Slang mit Truffle kombiniert werden kann.

Developer Exchange und Groundbreaker Hub

In der Ausstellung im Moscone West konnten sich die Entwickler mit den einzelnen Firmen austauschen. Die Besucher brauchten diesmal etwas mehr Stehvermögen aufgrund mangelnder Sitzgelegenheiten, aber dafür wurde Kaffee und Blockchain-Bier serviert. In der Developer-Exchange-Ausstellung war der Oracle Groundbreakers Hub, der als zentraler Treffpunkt für die Entwickler wahrgenommen wurde.

Die Ausstellung bot eine Vielzahl von technischen Attraktionen: Bullet Time Photo Booth, Chatbot with Pepper, Code Card, Groundbreakers Live Stage, Commit Strip, Hackergarten, Oracle Cloud DJ with Sonic Pi, Oracle Education Foundation, Personalized Manufacturing Demo, Superhero Escape Room, Video Hangout und Zip Lab Challenge.

Die Groundbreaker-Hub-Bühne wurde auch für die Verleihung vom Duke’s Choice Award 2018 genutzt. Die Preisträger sind Apache NetBeans, Bulgarian Java User’s Group, ClassGraph, Jelastic, Jpoint, MicroProfile.io, Project Helidon und Twitter4J.

JCP Party & Awards

In diesem Jahr war die JCP Party & Awards Ceremony im Starlight Room vom Sir Francis Drake Hotel im 21. Stockwerk einer der Höhepunkte für die Entwickler, die bei angeregten technischen Diskussionen ausgelassen feiern konnten. Am Dienstag Abend kamen viele Entwickler direkt nach der Keynote aus dem Moscone Center in das Press-Club-Restaurant mit Lounge, um die neu gewonnenen Eindrücke untereinander zu besprechen. Ebenfalls bat IBM die Entwickler zur Java Community Party am Mittwoch Abend in den Coin-Up Game Room, und Google lud die Entwickler zum Java Influencer Lunch in ihrem Gebäude an der Bay Bridge in San Francisco. Dabei wurden Demos zu Java, dem JDK 11 und Tools mit Kubernetes vorgeführt.

Keynote Oracle Cloud Plattform

Amit Zavery (Oracle Executive VP, Product Development Cloud Platform) erwähnte die Applikationsentwicklungstrends (Microservices & Serverless, DevSecOps, Open Source, Digital Assistants, Blockchain und AI & ML) zur Entwicklung von künftigen Cloud-Apps mit der Oracle-Cloud-Plattform. Er hob die Offenheit der Oracle Cloud hervor, die Wahlfreiheit des Technologie-Stacks (Programmiersprachen, Datenstrukturen, Tools) anbietet, auf Open Source (Docker, Kubernetes, Hadoop, Kafka, Blockchain, Tensorflow u.a.) stetzt. Dazu kommt die breite Technologieunterstützung von 3rd Party-Anwendungen, Security OAuth, System-Management und Social Media Channels (Amazon Alexa, Facebook Messenger, Slack). Im Mittelpunkt der Oracle Cloud Infrastructure steht die kontinuierliche Innovation durch Oracle Engineering und der Cloud-Developer-Community, sodass die Open-Source-Code-Implementierungen auch auf andere Cloud-Anbieter übertragen werden können. Die gesamte Technologiefülle wurde in eine Demo gegossen, die das Team von Matt Thompson (Oracle VP Developer Engagement and Evangelism Cloud Platform) anhand eines Car-Selling-Chatbots-Beispiels vorführte. Mittels AI wurde ein Kommunikations-Interface trainiert, das dann den User-Dialog beginnt. Die Geschäftslogik wurde über Fn Serverless Functions gesteuert. Um die Demo noch zu steigern, wurde der Autoverkauf über einen Blockchain-Cloud-Service getätigt.

Cloud Native Computing Keynote

Dee Kumar, VP Marketing & Developer Relations Cloud Native Computing Foundation (CNCF), betonte die Bedeutung von Open Source. Die Frage nach dem Aufstieg von Kubernetes beantwortete sie durch die Zusammenarbeit von Entwicklern, Kontributoren, Supporter, Progamm-Manager und Community-Leader, die gemeinsam als Benutzer und Hersteller die Basis des Cloud-Native-Ökosystem bilden. Kubernetes wurde als Standard etabliert und trägt zum starken Wachstum von Cloud-nativen Technologien bei. Dee Kumar zeigte eine Grafik mit den Vorteilen von Cloud-Native-Projekten, mit 50% schnellerer Deployment-Zeit, 45% verbesserter Skalierbarkeit und 42% Cloud-Portabilität. Wie die Entwickler und Anwender diese Reise unternehmen können, zeigte Kumar mit der Cloud-Native-Trail-Map, die als Wanderkarte die einzelnen Schritte mit den Technologien und Werkzeugen anschaulich erläutert.

Oracle Groundbreakers

Stephen Chin, Director Oracle Developer Community, stellte das unmittelbar vor der Oracle Code One eingeführte Oracle-Groundbreaker-Ambassador-Programm vor. Mit dem Oracle Groundbreakers Award werden innovative Entwickler ausgezeichnet, die sich mit ihren Beträgen in der Entwicklergemeinschaft verdient gemacht haben. Die ersten Oracle Groundbreakers wurden erstmals von Oracle nominiert, aber die künftige Nominierung soll eigenständig durch jeden möglich sein, der besondere Technologieleidenschaften (Programmiersprachen, Tools & Frameworks, Datenstrukturen, ML, AI, DevOps, Microservices, Container u. a.) besitzt.

Die Groundbreaker-Auszeichnung erhielten Neha Narkhede, Co-Founder & CTO Confluent & Co-Creator Apache Kafka, Guido van Rossum, Principal Engineer Dropbox & Creator Python, Doug Cutting, Cief Architect Cloudera & Co-Creator Hadoop, Graeme Rocher, Project Lead Object Computing & Co-Creator Grails + Micronaut und Charles Nutter, Senior Principal Software Engineer Red Hat & Co-Creator JRuby. Die fünf Groundbreakers saßen auf der Bühne, und Stephen Chin moderierte das Diskussions-Panel. Die Themen rankten sich um die Antriebsfeder für die Erschaffung einzelner Open-Source-Projekte, die in den meisten Fällen unerwartet erfolgreich wurden, bis zur Work-Life-Balance der Open-Source-Entwickler. Dieses Spannungsfeld wurde einhellig mit effektiver Arbeit und individueller Erholung durch Familie, Tiere, Hobbys und Sport beantwortet.

IBM Keynote: Coding in the Cloud

John Duimovich, IBM Distinguished Engineer, und Tim Ellison, IBM Java CTO, berichteten über das Zusammenspiel von OpenJDK und OpenJ9. Mark Stoodley, Eclipse OpenJ9 Project Lead, zeigte in einer Demo die Wirkungsweise von Ahead-of-Time- (AoT) und Just-in-Time-Compilation (JIT). Dabei wurde der JIT-Anteil aus der JVM herausgezogen und in einen JIT-as-a-Service verfrachtet, der einem Runtime Service in der Cloud zugeordnet war. Der AoT-Anteil steckte ebenfalls in dem gleichen Runtime Service und sollte die bestmögliche Cache-Compilation bereitstellen. Die Demo zeigte experimentell, dass es möglich ist, angrenzende JVM-Aufgaben als Cloud-Services auszulagern.

In einer Diskussionsrunde, moderiert von Pratik Patel (IBM Lead Java Developer Advocate), wurden die Teilnehmer Ian Robinson (IBM Lead Java Developer Advocate), Will Lyons (Oracle Senior Director WebLogic Server Product Management), Mark Little (Red HatVP Engineering) und David Blevins (Founder of Tomitribe) zu den Themen Jakarta EE und MicroProfile befragt. Beide Projekte befinden sich in den Händen der Eclipse Foundation. Die meisten Java EE APIs wurden bereits zur Eclipse Foundation übertragen, und ein neuer Spezifikationsprozess befindet sich im Community-Review. Die Jakarta EE Working Group, bestehend aus Oracle, IBM, Red Hat, Tomitribe, Payara und Fujitsu, soll bis zum Jahr 2021 gegründet werden. Das Jakarta EE 8 Plattform-Release wird im Frühjahr 2019 erwartet. JNoSQL ist die erste neue Projektspezifikation und wird für Jakarta EE 9 erwartet. Das Eclipse MicroProfile ist auf einem guten Weg, einen Standard für Microservices auf der Basis von Java zu etablieren.

Community Keynote: The Code Avengers

Stephen Chin übernahm diesmal den Charakter des „Dr. Stephen Strange“ in einer Interpretation des Films „Avengers Infinity War“, und er führte gleichzeitig Regie in seinem Film „The Code Avengers“. Die Darsteller kamen allesamt aus der Java-Community und spielten mit Begeisterung ihre Rollen im Avenger-Streifen. Die begehrten Steine mussten zuerst gefunden werden und dann auf ihre Echtheit überprüft werden, bevor sie mit viel Coding-Intelligenz wieder in den magischen Handschuh eingesetzt werden konnten. Die Software „Glovernetes_ v2.0“ aus den „JCP LABS“ übernahm die Steuerung und meldete solange „Stone Processing In Progress“, bis Dr. Stephen Strange davon überzeugt war, dass Coding helfen kann, das Universum zu retten.

Fazit

Das Feedback der Konferenzbesucher war positiv, geprägt durch die Fertigstellung von Java SE 11, der technischen Gleichstellung des Oracle JDK 11 mit dem Oracle OpenJDK11, der Übergabe des Java-EE-8-Quellcodes mit 7,7 Millionen Codezeilen im GlassFish Applikationsserver zu Jakarta EE bei der Eclipse Foundation. Die unterschiedlichen Oracle Open-Source-Projekte, wie beispielsweise Fn, fanden breite Zustimmung bei den Cloud-native-Entwicklern, und das universelle Deployment mit Kubernetes findet Anklang im DevOps-Umfeld.

Verwandte Themen:

Geschrieben von
Wolfgang Weigend
Wolfgang Weigend
Wolfgang Weigend arbeitet als Sen. Leitender Systemberater bei der Oracle Deutschland B.V. & Co. KG. Er beschäftigt sich mit Java-Technologie und -Architektur für unternehmensweite Anwendungsentwicklung.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: