jDays 2016 Round-Up
On the 8th and 9th March, the jDays Conference was hosted in Gothenburg, Sweden, followed by an additional day of optional workshops. Currently in its third edition, jDays saw forty speakers congregate from several different countries, who covered a varied range of topics with a special emphasis on the Java language, methodologies and practices, and front-end technologies.
The conference informally started on the evening of 7th March with a networking event for the speakers, fuelled by a short tournament of pétanque and dinner. Formally though, jDays kicked off on the morning of the 8th March with a keynote about the evolution of Java by George Saab, VP of Development for the Java Platform Group at Oracle.
As Saab mentioned, Java had to pivot a few times before it became the product that we know today. Initially created simply as a language to program the devices that Sun Microsystems was designing, it experimented its first transformation when it began to be used within web browsers: the web of 20 years ago was a rather static technology, and embedding Java in the browser was a way to add dynamism to it. Its second transformation came thanks to the fact that Java was an interpreted language than ran through a virtual machine; one of the biggest challenges of application developers of the time was developing applications to new platforms, frequently devoting entire teams to platform migrations, while Java could run anywhere provided there was a JVM available for the platform.
After talking about the origins, Saab moved on to explain some of the lesser known maintenance efforts in Java, like the fact that Oracle keeps creating updates for every major version of Java for up to eleven years (although these are only available through a maintenance contract after three). Finally, Saab talked about some the changes to be expected in Java 9, like the modules system (Project Jigsaw), and then in Java 10, like primitive-like classes (Project Valhalla) and improved JNI (Project Panama).
The rest of the talks were mostly centred at the Java language, methodologies and tools, and front-end technologies. In the Java space, we continue to see talks around a better use of Lambdas and Streams, like the talk "Beyond Lambdas, the aftermath" by Daniel Sawano and Daniel Deogun, or Angelika Langer's "Collect vs. Reduce". There were also talks about the advantages of using Java EE 7, like the reduction of boilerplate code through annotations ("Java EE revisits Design Patterns", by Alex Theedom), or the performance optimisations that can be achieved through standard APIs ("High-Performance Java EE with JCache and CDI", by Steve Millidge). And, of course, following one of the most important trends of the moment, a comparison between several Java micro-services platforms ("Java EE Microservice platforms - which is best?”, also by Steve Millidge).
The methodologies and tools presentations were mostly focused at practices that facilitate the adoption of continuous deployment and micro-service architectures, including business cases by Spotify and VGT/WirelessCar. On top of this, there were also talks regarding the use of Domain-Driven Development to enhance security, and the advanced used of GIT to split or merge projects while retaining history.
Other talks covered databases (both SQL and NoSQL), new potential markets, and general project management.