Soundbyte 217: Rage Against the Machine


I’m writing this soundbyte sitting in the sunshine at “Duke’s Cafe”, the outdoor hangout space at JavaOne (yup, that’s where the beer is). Before anything else, let’s start some music. Each year there are some cool bands playing at JavaOne/OpenWorld. We’ve had bands such as Pearl Jam, Kings of Leon, Aerosmith, so expectations for this year were pretty high. Usually I would also use that year’s band for the soundbyte. Not this year though…. It ended up being Elton John. If you don’t understand our disappointment, your musical taste probably sucks 😉 At the end of the CloudRTI talk Arjan and I presented the sound guy decided to turn on “Killing in the name of” full volume as soon as we finished. Another great band, and kind of relates back to the rest of this soundbyte and a certain large company not quite getting the concept of “community”.

It’s becoming hard to keep count, but I believe this is my 9th JavaOne, so both the city and the conference feels strangely familiar. It also means I have seen the conference change while moving from the Sun era to to the Oracle era. The biggest difference is probably the lack of any news. Sun always had something to show. Often these were projects that wouldn’t survive for long, but at least there was a lot of excitement and a lot of energy. Both keynote this year showed, well, nothing. Specially because this was the 20th birthday of Java, this was quite disappointing.
What does this mean though? Is Java dying? Is Oracle giving up on Java? It’s hard to see what’s going on within Oracle. Lots of people are leaving the company, and Oracle is still struggling with the idea of community. But probably this really doesn’t matter all that much. Many years ago, things like Java EE and other mostly Sun driven projects really mattered. As a Java developer, that’s what you would be working with. Today however, pretty much all innovation, and all relevant technology is developed by companies that are facing new problems to solve, and more often than not out in the open in open source communities. Looking at all the Big Data related technology, coming from companies like Google and Twitter and pretty much anything that runs at large scale, Java is the dominant language. This is where innovation is happening, but it’s not tied to Oracle at all. The Java language and VM are the only things that are still mostly Oracle driven, and they do a very decent job at this. 
Speaking about the Java language, there actually is some really important news. Java 9 is getting close, and this is going to be a huge release, because it’s  (finally) going to include the Java Module System, a.k.a. Jigsaw. There were a whole bunch of high quality in-depth sessions about modules (most live streamed on Youtube), and it’s looking pretty good. Comparing directly to OSGi it’s easy to just start complaining about missing features and bad choices, but that’s really not the way to look at it. Jigsaw is not designed to be a better OSGi. If you want/need the features offered by OSGi, while the additional complexity of the dynamic model is acceptable, OSGi is still the way to go. Instead, Jigsaw is designed to be just enough of modules for most situations, while avoiding as much complexity as possible. This means there are some very difficult tradeoffs. Although I don’t necessarily agree with all choices, there is actually very good reasoning behind the choices.
What does a Java Module system mean for us, considering our modularity/OSGi background? Well, at least it means that more people are going to be confronted with modularity. Frameworks will be forced to work in a modular runtime,  which will require them to align much closer to patterns we already use in OSGi for a long time. If you want to learn more about this topic, make sure to be at the JFall session about Java 9 modularity by Sander Mak and me next week.
We had a very solid Luminis presence at the conference again this year:
– Modularity for mere mortals: Bert Ertman
– Building modular cloud applications with OSGi: Bert Ertman
– Provisioning the IoT (with Apache ACE): Sander Mak and Paul Bakker
– TypeScript for Java developers: Sander Mak
– MicroServices for the IoT: Marcel Offermans
– Zero-Downtime Java Deployments with Docker and Kubernetes: Paul Bakker and Arjan Schaaf
The Docker/Kubernetes talk was about the inner workings of our CloudRTI. For those who didn’t guess already, CloudRTI is the product name of what was previously known as the Amdatu RTI; the infrastructure offering we have been working on for the past months. The CloudRTI, built on top of tools like Docker, Kubernetes, Kafka and Graylog, is shaping up really nicely. We have multiple production environments running on the CloudRTI already, and talks about new customers and projects are going on. We might even have a website soon! 😉 
The fact that after the talk by Arjan and me we have been answering questions until we were finally kicked out of the room 25 minutes after we finished the talk shows that there’s lots of people looking at, but also struggling, with new infrastructure and deployment paradigms. We’re definitely on an interesting track here, and it will be exciting to see how this lands with more customers.