by Tim Ellison, Steve Poole Updated March 18, 2019 - Published January 9, 2019
It’s that time of year when we look back at what has happened over the last twelve months and think about everything we want to achieve in the new year ahead.
Looking backwards can be difficult because, in our industry, we tend to have short memories: not much of what happened five years ago is talked about now, and events from 10 years ago are like talking about the Stone Age! However, it’s hard to exaggerate the level of enthusiasm, passion, and sheer invention that has been generated by Java at IBM through the last 20-odd years.
Much as you might consider IBM a little too conservative at times, we embraced Java from day one and have never stepped back. Since the early days, IBM has contributed to the Java process and won many awards for things like having the best Java virtual machines (JVMs), application servers, innovative Java tools, and more. As time moved on, you also see IBM’s influence in the way that Java evolved to become what it is today. Personally, I think it would be hard to find any other single company that has continuously invested so much into the technology, community, and ecosystem we simply call “Java.”
We tend to forget just what an amazing piece of technology the JVM provides. We take for granted the sophistication of the just-in-time compilers, the garbage collectors, and the platform independence. All this hard-won value comes from many years of invention and innovation. It might surprise you to know that IBM engineers have been technology leaders in JVM matters since day one – and some of us have been around for all that time!
IBM has had a vested interest in making Java the best runtime for business applications across all of its platforms. Since the beginning, we recognized Java as the game-changing opportunity that it was. The opportunity to build a new platform that brought all the computing vendors together – to have one very large space, rather than many small ones. To create a software platform that could get the best out of the hardware available (however much it changed) and yet preserve our customers’ investments and our own product investments. We saw that Java would allow our customers to innovate in new ways and much more quickly than ever before. And they did – in finance, security, healthcare, communications, travel, logistics, aerospace, construction, and many more industries. It’s no joke to say that IBM’s Java platforms underpin the world’s economy.
Yet IBM does not charge for using its JVM technology. This is simply because to do so undermines the true value of Java as an enabler. Everyone benefits from free, secure, open Java. Now that’s not to say that the developers working on Java and JVMs don’t deserve to get paid – these highly skilled engineers are providing a stable, performant, fundamental platform for protecting and building true revenue opportunities. Recent events have shown that we should not take Java runtimes for granted. Java is so important to the world that it has to remain free of runtime cost in all endeavors, and be free to distribute, change, and improve.
IBM is committed to ensuring that Java remains free by working at OpenJDK, AdoptOpenJDK, and the Eclipse Foundation. Indeed, we provide a commercial support offering around the free AdoptOpenJDK binaries containing Eclipse OpenJ9. IBM’s approach to support (as you’d imagine from a company whose customers are the largest ones around) is pretty focused and serious. At IBM, support means more than regular security fixes – which are free in the community. It means you can pick up the phone or electronic-equivalent and talk to our engineers to get help with diagnosing and fixing your Java runtime issues.
Last year, IBM completed the open sourcing of our industry-leading JVM at the Eclipse Foundation. The Eclipse Foundation, an independent, not-for-profit corporation, thinks about open source the way that makes sense to IBM. The Oracle Java EE 8 and GlassFish code has moved to Eclipse under the Jakarta EE project, where it joins the MicroProfile project as a location to modernize and advance the enterprise platform technologies.
The community has always worked together to propose, critique, and implement the evolution of the Java platforms. The many years of communal experience sharing design ideas, formalizing them through standards, and encouraging multiple implementations has rightly kept Java in a dominant position within our industry. There’s every reason to believe that this approach is the right one to keep the enterprise and language platforms forging ahead into the future.
Now IBM’s Java runtime is 100% open source – you can get the same version of the technology that IBM uses in all of its products and that our customers use too. Of course, if you don’t want to build from source yourself, you can simply download Java Version 8 and beyond from the AdoptOpenJDK website. You can be assured that the download has been built and rigorously tested across multiple platforms in the same way and from the same codebase. IBM is offering several support options for AdoptOpenJDK binaries.
As befits a company like IBM, we have a wide vision for the future of the Java platforms. There are deep technical areas where we envisage the JVM exploiting cloud container capabilities to further enhance its suitability in a modern computing environment, better integration with other languages prevalent in the multi-tier and microservice architectures, and use of machine learning techniques to make the platform smarter and adaptive to ever-changing workloads. Efforts with OpenJ9’s greatly improved memory utilization, fast application start-up, and blazing performance is creating a JVM that can truly be called a cloud-native Java Runtime.
It has been fun wandering down memory lane, but it’s going to be much more fun to help Java grow into something more amazing than ever. If you have a little time, think a bit about the future, think about what you would like in the Java of tomorrow, and how you could get involved to make it become real. The Java community is unique. Let’s work together and keep it a vibrant, innovative ecosystem for free Java.
Use the Migration Toolkit for Application Binaries to migrate to Java 11.
Set up a basic Akka Cluster.
Set up a basic Akka cluster with a focus on cluster aware actors.
Back to top