John Duimovich, IBM Java CTO and distinguished engineer, argued forcefully during his keynote address at the JavaOne 2016 conference, that the Java programming language is foundational to future forays in multispeed IT, polyglot programming, serverless cloud apps, and artificial intelligence. Here are seven trends enterprise Java developers can ride off with into the sunset.
1. Choose Multispeed IT
“The business landscape is evolving, with new business models emerging around pure digital tech. Users are changing. Technology is changing. Success flows to fast innovators, so you need ‘multispeed IT’—things like agile, cloud, microservices. The customer-facing stuff has to move fast; IT-facing stuff can go slower,” Duimovich said. This means you don’t need to rip-and-replace everything; you can re-architect monolithic applications with modern microservices, while letting IT assets hum at their legacy pace.
2. Foster an Open Source Culture
It’s not just for digital-first organizations anymore. The next tenet Duimovich recommended is openness: not only open source software, but open processes, governance, and technology. Could it be the new agile?
3. Embrace Hybrid Deployments and Serverless Programming
Hybrid deployments—on premises plus cloud—are a key to success, Duimovich said. Serverless programming, akin to Amazon Web Services’ Lambda, is another growing option. IBM has a proof of concept for a serverless, pay-per-use flexible programming model with Java, Node.js, and Swift via Docker containers in the open source OpenWhisk. Oracle also has a serverless option brewing in Oracle Functions, which run on Oracle PaaS.
4. Integrate Everything
“You can’t write anything from scratch anymore,” Duimovich said. Managing APIs and microservices is a growing issue Java developers must stay on top of.
5. Launch Quickly and Scale with Microservices
You don’t have to throw out your existing Java Platform, Enterprise Edition (Java EE) applications. At least one JavaOne session described how these can be decomposed into microservice architectures and deployed to Oracle Java Cloud Service. And there's ongoing work to retool the next version of Java EE to be more microservices-oriented.
6. Go Polyglot with Graal and OMR
Oracle, with Graal, and Big Blue, with OMR, are aiming to support communities beyond Java. While Graal has been growing for the last five years, OMR was launched in March 2016. Both are extensible runtime technology platforms that let you implement your favorite dynamic language on top of a virtual machine that is based on the Java VM but without Java-specific semantics.
“With Eclipse OMR, you can even invent your own language. You can build a runtime that’s modern and efficient. It’s better to work with an existing community rather than say, ‘Hey, I did it all over, come over here.’ OMR has been used in eight different language runtimes, including COBOL and PL1. Yes, Cobol. Cobol still runs significant workloads including calculating most of your paychecks,” he said.
7. Get Smarter with Cognitive Computing
The Nao robot and Amazon Alexa were stars of the week at JavaOne, culminating in a live demo using a cognitive microservice to converse with the developer and answer questions.
“These are exciting times in the cognitive space. You guys are leading the pack on cognitive computing,” said Stephan Janssen, founder of the Devoxx developers’ conference in Belgium, as he introduced the demos. “What’s beautiful is the multiple interfaces. You don’t have to be an R expert or Python guru to use speech to text. We’re going to do it for a project for Devoxx4Kids—it’s that simple.”
Alexandra Weber Morales, principal with World Wind Writing, is the former editor in chief of a Latin American medical technology publication and, later, Software Development magazine.