Karakun @ Oracle Code One 2019
In weniger als einem Monat ist es wieder soweit: die Java-Welt trifft sich vom 16.-19. September auf der Oracle Code One zum Netzwerken, Diskutieren, Lernen und Experimentieren. Auch wenn sich die Konferenz für unterschiedliche Sprachen und Technologien geöffnet hat – Java und sein Ecosystem ist und bleibt ein grosses Thema.
Wir von Karakun freuen uns, mit folgenden Talks vertreten zu sein:
Beauty and the Beast: Java Versus TypeScript
[DEV4399]
Once upon a time, there was a poor, innocent language. It was friendly and kind. Everything could have been nice and peaceful, but there was another language that was grumpy and mean. One day they met and started to argue about who the better language was…. This session compares the Java language with TypeScript. It discusses how common problems are solved with these languages, and the audience will have a chance to vote. At the end, you’ll see who is the beauty and who is the beast.
Speaker: Hendrik Ebbers, Michael Heinrichs
Not Dead Yet: Java on the Desktop
[DEV1126]
Interestingly, a lot of people say Java on the desktop is dead, and, yes, it is not in the hyped zone anymore. But on the other hand, it is still widely used. This session gives an overview of Java on the desktop and why it is not dead yet. It gives examples of scenarios where Java on the desktop really shines and others where it would be better to choose a web application. It also shows the state of JavaFX, with all of its various flavors, such as standard JavaFX on the desktop, on embedded, on mobile with Gluon, and on the web with JPro. And, of course, it includes demos of those different scenarios.
Speaker: Gerrit Grunwald
Productivity Beyond Failure
[DEV2358]
We all have heard Fail fast! Embrace failure! Celebrate failure! but a key element is missing: The celebration should be focused on the learning that comes from failure, not celebrating the failure itself. This session explores what has been missing when we try to implement a simple recipe for a creative and performant team: tolerance for failure, willingness to experiment, psychological safety, and a highly collaborative environment.
Speaker: Ixchel Ruiz
JavaFX Real-World Applications
[DEV1397]
Not sure if you want to make the switch to JavaFX for your desktop applications? This session is intended to convince you that JavaFX is ready for prime time. It shows how JavaFX has been successfully deployed as part of many large and small business-critical applications. It presents a dozen applications from various domains: planning and scheduling solutions, operating room control software, fitness trackers, and more.
Speaker: Gerrit Grunwald, Dirk Lemmermann
Team Diversity the Successful Way
[DEV6012]
Innovations such as artificial intelligence, automated systems, and the cloud are transforming the IT world. It is known that diverse teams solve problems better and come up with innovations faster, and yet the IT workplace remains very homogeneous and mostly male-dominated. In this session, a panel of technical women and community leaders discusses how to bring more diversity to your teams and include more women in IT. Of course, men are welcome to join this discussion too.
Speaker: Ixchel Ruiz and others
Rich Client Java: Still Going Strong!
[DEV2513]
In this session, a panel of experts in the UI field discusses the different types of rich client technologies and frameworks: Swing, JavaFX, and HTML5. The questions to be discussed include the following: What are the differences between the technologies? Is JavaFX better than the old Java-based technologies? HTML5 or JavaFX: Which one to use? Cross-platform JavaFX: a dream coming true? What frameworks are available for the technologies? Should I migrate? How do I migrate? JSR 377: Is there still hope for a unified API? Will it change the rules of UI engagement? DukeScript, anyone? Material design on desktop and web? Does it work? Electron or similar technologies? Oracle JET? Which technology to use for which use case?
Speaker: Gerrit Grunwald and others
Karakun Voting Machines
Wenn Sie die Code One besuchen bemerken Sie sofort die Voting Machines, die am Ein-/Ausgang von jedem Raum stehen. Mittels dieser können Sie schnell und einfach Ihre Stimme für den aktuell laufenden Vortrag abgeben: drücken Sie den grünen Duke wenn Ihnen die Sessionen gefällt oder den roten wenn die Präsentation nicht Ihren Vorstellungen entspricht. Wenn der Talk „ganz ok“ war, drücken Sie einfach den gelben Duke.
Die Idee der Voting Machines stammt ursprünglich von unseren Ingenieuren. Wir sind verantwortlich für den Aufbau und den Betrieb der Voting Machines während der Code One.
OpenWebStart for Java Distribution
If your application is distributed via Java Web Start (JWS) and you are not yet concerned by the decision Oracle made regarding Java Web Start, you might not be paying attention: JWS has been deprecated in Java 9:
“Java Applet and WebStart functionality, including the Applet API, the Java plug-in, the Java Applet Viewer, JNLP and Java Web Start including the javaws tool, are all deprecated in JDK 9 and will be removed in a future release.”
The whole story began when Java applets and almost all NPAPI plugins became obsolete and were replaced by Web-based technologies. Although JWS was advertised as an alternative to the deprecated applet technology, the days of JWS applications are now counted.
With the release of Java 11, which happened on September 2018, Oracle removed JWS from their JDK distributions. On the Java Client Roadmap Update it has been announced that
“Oracle will not include Java Web Start in Java SE 11 (18.9 LTS) and later.”
Oracle argues that vendors of the most popular desktop operating systems push for applications to be delivered in bundles together with integrated, sandboxed runtimes. In addition, they increasingly require desktop applications to be distributed through their own private application stores.
This leads to the problem that clients that have the latest version of Java installed can no longer use JWS-based applications. From Java 11 on, JWS does not exist any longer and, therefore, JWS based applications cannot be used with Java versions newer than Java 8. Organizations have to look for alternative deployment solutions which might require substantial migration efforts.
Since public support of Java 8 has ended in Q2/2019, updates and security fixes for Java Web Start are not available without a paid support contract with Oracle. Staying with Java 8 also builds up technical debt and only postpones the urge to face the situation.
What are the Options?
To address this situation, two options have been available so far:
- Buy Oracle support and stay with Java 8 for the next few years
As commercial support is guaranteed by Oracle until 2025 (see the Java Release Train), one can stick with Java 8 until then. But this also means to build up technical debt and postpones the situation only for a small amount of time. Also, one needs to take care that the licensed Java 8 is not used with other applications which is impossible for publicly distributed software. Liable for violations of this constraint is the distributor which makes this aspect a high risk. Renouncing commercial support is dangerous because of potential security flaws.
- Removing JWS as fast as possible in order to be ready for Java 11.
Remember: with users installing Java 11 or newer as default JRE on a target machine, JWS cannot be used anymore.
Any of the above options requires resources, devotion and money. The first suggestion buys time but does not address the core of the problem and carries potentially serious risks, the latter requires a radical change regarding software delivery.
Our Solution
Fortunately, there is a third option. Karakun initiated the development of OpenWebStart, an open source reimplementation of the JWS technology. OpenWebStart will be based on IcedTeaWeb, an open source project initiated by RedHat-developers years ago and now resurrected as starting point for a new open source alternative for JWS. Our replacement will provide the most commonly used features of JWS and, up to the required scope, the JNLP standard, so that customers can continue using applications based on JWS and JNLP without any change.
Our vision and goal is that nothing will change from your users point of view. OpenWebStart will provide exactly the same JNLP-based workflow as Java Web Start. The included App Manager will manage all JNLP-based application that OpenWebStart has downloaded and started. It will also regularly check whether updates are available for its managed applications, and downloads updates automatically. The Control Panel lets you configure workflows to start JNLP-based applications by hand – just like the well-known Java Control Panel which was also removed by Oracle.
Besides those, there are two completely new modules that will simplify your life: The JVM Manager and the Updater.
The JVM Manager downloads Java versions from a dedicated server and manages versions internally. With OpenWebStart, it will be easy for developers to specify the Java version to run JNLP-based applications. The Updater will download and install new versions of OpenWebStart.
Timeline and Costs
OpenWebstart 0.2.0 has already been released in July and is publicly available for download on the project website https://openwebstart.com/download/. Our goal is to have a release candidate ready in Q3/2019
While in the ramp-up phase the project is financed by some substantial sponsors, OpenWebStart will be open sourced and therefore freely available.
OpenWebStart Sponsors enjoy the following benefits:
- Sponsors have an influence which features are implemented and how feature requests are prioritized.
- To make sure that sponsor-specific software works with OpenWebStart, we offer the possibility to run tests with those applications and JNLP files. It’s up to the sponsor to accept this offering or to run own tests.
Thanks to the organizations who already fund this development we are able to develop a first release of OpenWebStart. In order to develop the full functionality of JWS and to ensure sustainable maintenance of the tool we are still looking for additional sponsors. Feel free to get in touch with us at OpenWebStart@karakun.com and help us to make a great product and a successful story out of it.
Ein Einblick in Web-APIs
Das Web entwickelt sich kontinuierlich weiter. Seit Jahrzehnten existiert der Wunsch, Anwendungen über das Web erreichbar und nutzbar zu machen. Auf diesem Weg verwendete man verschiedene Technologien, dazu gehörten in der Vergangenheit auch Java Applets und Flash, und in Zukunft dann WebAssembly – wobei Letzteres als Standard für das Web entwickelt wurde. Unabhängig von diesen Technologien basiert das Web auf Standards wie HTML, CSS und einer Vielzahl durch das World Wide Web Consortium (W3C) standardisierten Web-APIs, die von modernen Browsern zur Verfügung gestellt werden. Diese Web-APIs zu kennen und korrekt einzusetzen, stellt eine neue Herausforderung dar.
In der aktuellen Ausgabe des Fachmagazins Java Aktuell (04/2019) stellt unser Senior Software Engineer Simon Skoczylas einige wichtige Web-APIs vor.
Ein Auszug:
Web-APIs, als Programmierschnittstellen im Browser, bieten im Bereich der Web-Entwicklung immer mehr Möglichkeiten zur Interaktion mit dem Nutzer und der Welt außerhalb des Browsers. Hier möchte ich ein paar der bekannten und unbekannten Web-APIs vorstellen, um Entwickler auf verschiedene Web-APIs aufmerksam zu machen. Weiterhin möchte ich zeigen, dass die Entscheidung zwischen nativen, hybriden und Web-Anwendungen immer sorgfältiger getroffen werden muss.
Mitglied im Verein BaselOne
Wir bei Karakun glauben an Open Source. Deshalb sind wir nicht nur Konsument von kostenfreier Software, sondern haben eine lange Liste mit aktiven Contributions zu unterschiedlichsten Open Source Projekten, welche wir in der Regel auch selber in Projekten einsetzen. Und natürlich geben wir unser Know-How auch gerne an die Community zurück – sei es durch Talks auf Konferenzen oder JUG-Abenden, Events wie das React Training mit Simon Skoczylas in München, Hackathons oder Meetups wie der Hackergarten oder auch über Fachartikel und Bücher.
Seit März 2019 ist die Karakun AG offiziell Mitglied im Verein BaselOne, Ausrichter der gleichnamigen Softwareentwickler-Konferenz in Basel. „Die Konferenz hat sich in den letzten 3 Jahren lokal einen Namen gemacht und auch einige international bekannte Speaker sind hier schon aufgetreten. Wir möchten dabei helfen, die Schweiz und insbesondere den Standort Basel als Heimat von innovativen Softwareunternehmen und -experten zu etablieren.“, so Elisabeth Meier, CEO der Karakun AG.
Neben der aktiven Arbeit im Organisationskomitee der Konferenz sind wir aktiv an der Gestaltung des Konferenzprogramms beteiligt.
Zeit uns kennen zu lernen!
Dieses Jahr findet die JavaLand Konferenz zum mittlerweile sechsten Mal statt, und zwar von 19. bis 21. März im Vergnügungspark Phantasialand. Das große Wiedersehen der Community mit Freizeitpark-Flair bietet auch in diesem Jahr wieder die ideale Umgebung für Wissensaustausch und Networking. Die Besucher erwarten zahlreiche Vorträge von Top-Referenten, interaktive Community-Aktivitäten und jede Menge Spaß!
Und Mittendrin sind wir! Kommt an unseren Stand 310 und erfahrt mehr über uns, wer wir sind und was wir machen. Ach ja, und Spaß ist auch geboten: Helft unserem kleinen Roboter, so schnell wie möglich durch unseren Parcours zu steuern. Ihr steuert den Roboter jedoch nicht direkt, sondern programmiert ihn über Bausteine auf einem iPad. Wenn Ihr es geschafft habt, dann habt Ihr die Chance auf einen von 3 Robotern.
Aber wir sind ja nicht nur zum Spaß da. Nebenbei steuern wir auch noch einige Talks zum hochkarätigen Programm bei:
Web-APIs: Das ultimative Handbuch (Simon Skoczylas)
Als Webentwickler nutzt man jeden Tag verschiedene Web-APIs. Häufig handelt es sich um die allgemein bekannten APIs, wie Document Object Model (DOM), DOM Event API, Fetch API oder Geolocation API. Es entsteht eine Art Komfortzone, die man selten verlässt. Dabei stellt das Web noch viel mehr APIs zur Verfügung, die wenig oder gar nicht bekannt sind. Kennen Sie zum Beispiel schon Web Speech API, Web Bluetooth API, Server Timing API, Battery Status API oder Credential Management API?
Diese und weitere APIs sind Teil des Vortrags, der Webentwicklern helfen soll, ihre Komfortzone zu verlassen. Da der Vortrag sehr viele APIs umfasst, kann das Publikum am Anfang auswählen, welche APIs im Detail vorgestellt werden.
Was macht Java auf dem Client? (Hendrik Ebbers)
Wie auch bereits in den letzten Jahren wollen wir mit euch die Neuerungen in der clientseitigen Java-Entwicklung diskutieren. Nachdem wir in den letzten Jahren über das Ausscheiden von JavaFX aus dem JDK diskutiert und euch letztes Jahr über den Wegfall von Java WebStart informiert haben, wird es auch 2019 wieder viele neue Punkte zur Cliententwicklung mit Java geben.
Java WebStart ist tot - Wie geht es nun weiter? (Hendrik Ebbers)
Mit Java 11 hat Oracle Java WebStart aus ihrem JDK/JRE entfernt. Auch wenn es sich bei WebStart sicherlich um eine veraltete Technologie handelt, ist sie noch immer bei vielen Firmen und Java-Projekten im Einsatz. Dieser Vortrag zeigt verschiedene Wege und Ansätze, um ein vorhandenes WebStart-Projekt auch in Zukunft noch zu warten bzw. erfolgreich auf eine neue Java-Deployment-Technologie umzustellen. Hier werden wir uns zwischen verschiedenen Verteil- und Deployment-Ansätzen auch anschauen, wie wir aus unserem Java-Client direkt eine native Anwendung bauen können.
Panel: Zukunft Java
Eine Paneldiskussion im Anschluss an den Vortrag „Zukunft Java“
Teilnehmer: Wolfgang Weigend, Simon Ritter, Michael Page
Moderator: Hendrik Ebbers
Du denkst auch, wir sollten uns kennen lernen?
Du hast Fragen oder möchtest uns vorab kontaktieren? Dann melde Dich einfach und wir werden Dein Anliegen umgehend beantworten!